api.go 2.0 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887
  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 the DescribeVpcPeeringConnections request to view your
  127. // outstanding 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.
  506. //
  507. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  508. // the Elastic IP address is associated with the primary IP address. If the
  509. // Elastic IP address is already associated with a different instance or a network
  510. // interface, you get an error unless you allow reassociation.
  511. //
  512. // This is an idempotent operation. If you perform the operation more than once,
  513. // Amazon EC2 doesn't return an error, and you may be charged for each time
  514. // the Elastic IP address is remapped to the same instance. For more information,
  515. // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
  516. //
  517. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  518. // with awserr.Error's Code and Message methods to get detailed information about
  519. // the error.
  520. //
  521. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  522. // API operation AssociateAddress for usage and error information.
  523. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  524. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  525. req, out := c.AssociateAddressRequest(input)
  526. return out, req.Send()
  527. }
  528. // AssociateAddressWithContext is the same as AssociateAddress with the addition of
  529. // the ability to pass a context and additional request options.
  530. //
  531. // See AssociateAddress for details on how to use this API operation.
  532. //
  533. // The context must be non-nil and will be used for request cancellation. If
  534. // the context is nil a panic will occur. In the future the SDK may create
  535. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  536. // for more information on using Contexts.
  537. func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
  538. req, out := c.AssociateAddressRequest(input)
  539. req.SetContext(ctx)
  540. req.ApplyOptions(opts...)
  541. return out, req.Send()
  542. }
  543. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  544. // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
  545. // client's request for the AssociateDhcpOptions operation. The "output" return
  546. // value can be used to capture response data after the request's "Send" method
  547. // is called.
  548. //
  549. // See AssociateDhcpOptions for usage and error information.
  550. //
  551. // Creating a request object using this method should be used when you want to inject
  552. // custom logic into the request's lifecycle using a custom handler, or if you want to
  553. // access properties on the request object before or after sending the request. If
  554. // you just want the service response, call the AssociateDhcpOptions method directly
  555. // instead.
  556. //
  557. // Note: You must call the "Send" method on the returned request object in order
  558. // to execute the request.
  559. //
  560. // // Example sending a request using the AssociateDhcpOptionsRequest method.
  561. // req, resp := client.AssociateDhcpOptionsRequest(params)
  562. //
  563. // err := req.Send()
  564. // if err == nil { // resp is now filled
  565. // fmt.Println(resp)
  566. // }
  567. //
  568. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  569. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  570. op := &request.Operation{
  571. Name: opAssociateDhcpOptions,
  572. HTTPMethod: "POST",
  573. HTTPPath: "/",
  574. }
  575. if input == nil {
  576. input = &AssociateDhcpOptionsInput{}
  577. }
  578. output = &AssociateDhcpOptionsOutput{}
  579. req = c.newRequest(op, input, output)
  580. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  581. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  582. return
  583. }
  584. // AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  585. //
  586. // Associates a set of DHCP options (that you've previously created) with the
  587. // specified VPC, or associates no DHCP options with the VPC.
  588. //
  589. // After you associate the options with the VPC, any existing instances and
  590. // all new instances that you launch in that VPC use the options. You don't
  591. // need to restart or relaunch the instances. They automatically pick up the
  592. // changes within a few hours, depending on how frequently the instance renews
  593. // its DHCP lease. You can explicitly renew the lease using the operating system
  594. // on the instance.
  595. //
  596. // For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  597. // in the Amazon Virtual Private Cloud User Guide.
  598. //
  599. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  600. // with awserr.Error's Code and Message methods to get detailed information about
  601. // the error.
  602. //
  603. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  604. // API operation AssociateDhcpOptions for usage and error information.
  605. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  606. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  607. req, out := c.AssociateDhcpOptionsRequest(input)
  608. return out, req.Send()
  609. }
  610. // AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
  611. // the ability to pass a context and additional request options.
  612. //
  613. // See AssociateDhcpOptions for details on how to use this API operation.
  614. //
  615. // The context must be non-nil and will be used for request cancellation. If
  616. // the context is nil a panic will occur. In the future the SDK may create
  617. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  618. // for more information on using Contexts.
  619. func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
  620. req, out := c.AssociateDhcpOptionsRequest(input)
  621. req.SetContext(ctx)
  622. req.ApplyOptions(opts...)
  623. return out, req.Send()
  624. }
  625. const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
  626. // AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  627. // client's request for the AssociateIamInstanceProfile operation. The "output" return
  628. // value can be used to capture response data after the request's "Send" method
  629. // is called.
  630. //
  631. // See AssociateIamInstanceProfile for usage and error information.
  632. //
  633. // Creating a request object using this method should be used when you want to inject
  634. // custom logic into the request's lifecycle using a custom handler, or if you want to
  635. // access properties on the request object before or after sending the request. If
  636. // you just want the service response, call the AssociateIamInstanceProfile method directly
  637. // instead.
  638. //
  639. // Note: You must call the "Send" method on the returned request object in order
  640. // to execute the request.
  641. //
  642. // // Example sending a request using the AssociateIamInstanceProfileRequest method.
  643. // req, resp := client.AssociateIamInstanceProfileRequest(params)
  644. //
  645. // err := req.Send()
  646. // if err == nil { // resp is now filled
  647. // fmt.Println(resp)
  648. // }
  649. //
  650. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  651. func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
  652. op := &request.Operation{
  653. Name: opAssociateIamInstanceProfile,
  654. HTTPMethod: "POST",
  655. HTTPPath: "/",
  656. }
  657. if input == nil {
  658. input = &AssociateIamInstanceProfileInput{}
  659. }
  660. output = &AssociateIamInstanceProfileOutput{}
  661. req = c.newRequest(op, input, output)
  662. return
  663. }
  664. // AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  665. //
  666. // Associates an IAM instance profile with a running or stopped instance. You
  667. // cannot associate more than one IAM instance profile with an instance.
  668. //
  669. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  670. // with awserr.Error's Code and Message methods to get detailed information about
  671. // the error.
  672. //
  673. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  674. // API operation AssociateIamInstanceProfile for usage and error information.
  675. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  676. func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
  677. req, out := c.AssociateIamInstanceProfileRequest(input)
  678. return out, req.Send()
  679. }
  680. // AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
  681. // the ability to pass a context and additional request options.
  682. //
  683. // See AssociateIamInstanceProfile for details on how to use this API operation.
  684. //
  685. // The context must be non-nil and will be used for request cancellation. If
  686. // the context is nil a panic will occur. In the future the SDK may create
  687. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  688. // for more information on using Contexts.
  689. func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
  690. req, out := c.AssociateIamInstanceProfileRequest(input)
  691. req.SetContext(ctx)
  692. req.ApplyOptions(opts...)
  693. return out, req.Send()
  694. }
  695. const opAssociateRouteTable = "AssociateRouteTable"
  696. // AssociateRouteTableRequest generates a "aws/request.Request" representing the
  697. // client's request for the AssociateRouteTable operation. The "output" return
  698. // value can be used to capture response data after the request's "Send" method
  699. // is called.
  700. //
  701. // See AssociateRouteTable for usage and error information.
  702. //
  703. // Creating a request object using this method should be used when you want to inject
  704. // custom logic into the request's lifecycle using a custom handler, or if you want to
  705. // access properties on the request object before or after sending the request. If
  706. // you just want the service response, call the AssociateRouteTable method directly
  707. // instead.
  708. //
  709. // Note: You must call the "Send" method on the returned request object in order
  710. // to execute the request.
  711. //
  712. // // Example sending a request using the AssociateRouteTableRequest method.
  713. // req, resp := client.AssociateRouteTableRequest(params)
  714. //
  715. // err := req.Send()
  716. // if err == nil { // resp is now filled
  717. // fmt.Println(resp)
  718. // }
  719. //
  720. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  721. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  722. op := &request.Operation{
  723. Name: opAssociateRouteTable,
  724. HTTPMethod: "POST",
  725. HTTPPath: "/",
  726. }
  727. if input == nil {
  728. input = &AssociateRouteTableInput{}
  729. }
  730. output = &AssociateRouteTableOutput{}
  731. req = c.newRequest(op, input, output)
  732. return
  733. }
  734. // AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
  735. //
  736. // Associates a subnet with a route table. The subnet and route table must be
  737. // in the same VPC. This association causes traffic originating from the subnet
  738. // to be routed according to the routes in the route table. The action returns
  739. // an association ID, which you need in order to disassociate the route table
  740. // from the subnet later. A route table can be associated with multiple subnets.
  741. //
  742. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  743. // in the Amazon Virtual Private Cloud User Guide.
  744. //
  745. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  746. // with awserr.Error's Code and Message methods to get detailed information about
  747. // the error.
  748. //
  749. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  750. // API operation AssociateRouteTable for usage and error information.
  751. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  752. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  753. req, out := c.AssociateRouteTableRequest(input)
  754. return out, req.Send()
  755. }
  756. // AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
  757. // the ability to pass a context and additional request options.
  758. //
  759. // See AssociateRouteTable for details on how to use this API operation.
  760. //
  761. // The context must be non-nil and will be used for request cancellation. If
  762. // the context is nil a panic will occur. In the future the SDK may create
  763. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  764. // for more information on using Contexts.
  765. func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
  766. req, out := c.AssociateRouteTableRequest(input)
  767. req.SetContext(ctx)
  768. req.ApplyOptions(opts...)
  769. return out, req.Send()
  770. }
  771. const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
  772. // AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  773. // client's request for the AssociateSubnetCidrBlock operation. The "output" return
  774. // value can be used to capture response data after the request's "Send" method
  775. // is called.
  776. //
  777. // See AssociateSubnetCidrBlock for usage and error information.
  778. //
  779. // Creating a request object using this method should be used when you want to inject
  780. // custom logic into the request's lifecycle using a custom handler, or if you want to
  781. // access properties on the request object before or after sending the request. If
  782. // you just want the service response, call the AssociateSubnetCidrBlock method directly
  783. // instead.
  784. //
  785. // Note: You must call the "Send" method on the returned request object in order
  786. // to execute the request.
  787. //
  788. // // Example sending a request using the AssociateSubnetCidrBlockRequest method.
  789. // req, resp := client.AssociateSubnetCidrBlockRequest(params)
  790. //
  791. // err := req.Send()
  792. // if err == nil { // resp is now filled
  793. // fmt.Println(resp)
  794. // }
  795. //
  796. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  797. func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
  798. op := &request.Operation{
  799. Name: opAssociateSubnetCidrBlock,
  800. HTTPMethod: "POST",
  801. HTTPPath: "/",
  802. }
  803. if input == nil {
  804. input = &AssociateSubnetCidrBlockInput{}
  805. }
  806. output = &AssociateSubnetCidrBlockOutput{}
  807. req = c.newRequest(op, input, output)
  808. return
  809. }
  810. // AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  811. //
  812. // Associates a CIDR block with your subnet. You can only associate a single
  813. // IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
  814. // of /64.
  815. //
  816. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  817. // with awserr.Error's Code and Message methods to get detailed information about
  818. // the error.
  819. //
  820. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  821. // API operation AssociateSubnetCidrBlock for usage and error information.
  822. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  823. func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
  824. req, out := c.AssociateSubnetCidrBlockRequest(input)
  825. return out, req.Send()
  826. }
  827. // AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
  828. // the ability to pass a context and additional request options.
  829. //
  830. // See AssociateSubnetCidrBlock for details on how to use this API operation.
  831. //
  832. // The context must be non-nil and will be used for request cancellation. If
  833. // the context is nil a panic will occur. In the future the SDK may create
  834. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  835. // for more information on using Contexts.
  836. func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
  837. req, out := c.AssociateSubnetCidrBlockRequest(input)
  838. req.SetContext(ctx)
  839. req.ApplyOptions(opts...)
  840. return out, req.Send()
  841. }
  842. const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
  843. // AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  844. // client's request for the AssociateVpcCidrBlock operation. The "output" return
  845. // value can be used to capture response data after the request's "Send" method
  846. // is called.
  847. //
  848. // See AssociateVpcCidrBlock for usage and error information.
  849. //
  850. // Creating a request object using this method should be used when you want to inject
  851. // custom logic into the request's lifecycle using a custom handler, or if you want to
  852. // access properties on the request object before or after sending the request. If
  853. // you just want the service response, call the AssociateVpcCidrBlock method directly
  854. // instead.
  855. //
  856. // Note: You must call the "Send" method on the returned request object in order
  857. // to execute the request.
  858. //
  859. // // Example sending a request using the AssociateVpcCidrBlockRequest method.
  860. // req, resp := client.AssociateVpcCidrBlockRequest(params)
  861. //
  862. // err := req.Send()
  863. // if err == nil { // resp is now filled
  864. // fmt.Println(resp)
  865. // }
  866. //
  867. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  868. func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
  869. op := &request.Operation{
  870. Name: opAssociateVpcCidrBlock,
  871. HTTPMethod: "POST",
  872. HTTPPath: "/",
  873. }
  874. if input == nil {
  875. input = &AssociateVpcCidrBlockInput{}
  876. }
  877. output = &AssociateVpcCidrBlockOutput{}
  878. req = c.newRequest(op, input, output)
  879. return
  880. }
  881. // AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  882. //
  883. // Associates a CIDR block with your VPC. You can only associate a single Amazon-provided
  884. // IPv6 CIDR block with your VPC. The IPv6 CIDR block size is fixed at /56.
  885. //
  886. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  887. // with awserr.Error's Code and Message methods to get detailed information about
  888. // the error.
  889. //
  890. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  891. // API operation AssociateVpcCidrBlock for usage and error information.
  892. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  893. func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
  894. req, out := c.AssociateVpcCidrBlockRequest(input)
  895. return out, req.Send()
  896. }
  897. // AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
  898. // the ability to pass a context and additional request options.
  899. //
  900. // See AssociateVpcCidrBlock for details on how to use this API operation.
  901. //
  902. // The context must be non-nil and will be used for request cancellation. If
  903. // the context is nil a panic will occur. In the future the SDK may create
  904. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  905. // for more information on using Contexts.
  906. func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
  907. req, out := c.AssociateVpcCidrBlockRequest(input)
  908. req.SetContext(ctx)
  909. req.ApplyOptions(opts...)
  910. return out, req.Send()
  911. }
  912. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  913. // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  914. // client's request for the AttachClassicLinkVpc operation. The "output" return
  915. // value can be used to capture response data after the request's "Send" method
  916. // is called.
  917. //
  918. // See AttachClassicLinkVpc for usage and error information.
  919. //
  920. // Creating a request object using this method should be used when you want to inject
  921. // custom logic into the request's lifecycle using a custom handler, or if you want to
  922. // access properties on the request object before or after sending the request. If
  923. // you just want the service response, call the AttachClassicLinkVpc method directly
  924. // instead.
  925. //
  926. // Note: You must call the "Send" method on the returned request object in order
  927. // to execute the request.
  928. //
  929. // // Example sending a request using the AttachClassicLinkVpcRequest method.
  930. // req, resp := client.AttachClassicLinkVpcRequest(params)
  931. //
  932. // err := req.Send()
  933. // if err == nil { // resp is now filled
  934. // fmt.Println(resp)
  935. // }
  936. //
  937. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  938. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  939. op := &request.Operation{
  940. Name: opAttachClassicLinkVpc,
  941. HTTPMethod: "POST",
  942. HTTPPath: "/",
  943. }
  944. if input == nil {
  945. input = &AttachClassicLinkVpcInput{}
  946. }
  947. output = &AttachClassicLinkVpcOutput{}
  948. req = c.newRequest(op, input, output)
  949. return
  950. }
  951. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  952. //
  953. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  954. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  955. // to more than one VPC at a time. You can only link an instance that's in the
  956. // running state. An instance is automatically unlinked from a VPC when it's
  957. // stopped - you can link it to the VPC again when you restart it.
  958. //
  959. // After you've linked an instance, you cannot change the VPC security groups
  960. // that are associated with it. To change the security groups, you must first
  961. // unlink the instance, and then link it again.
  962. //
  963. // Linking your instance to a VPC is sometimes referred to as attaching your
  964. // instance.
  965. //
  966. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  967. // with awserr.Error's Code and Message methods to get detailed information about
  968. // the error.
  969. //
  970. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  971. // API operation AttachClassicLinkVpc for usage and error information.
  972. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  973. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  974. req, out := c.AttachClassicLinkVpcRequest(input)
  975. return out, req.Send()
  976. }
  977. // AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
  978. // the ability to pass a context and additional request options.
  979. //
  980. // See AttachClassicLinkVpc for details on how to use this API operation.
  981. //
  982. // The context must be non-nil and will be used for request cancellation. If
  983. // the context is nil a panic will occur. In the future the SDK may create
  984. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  985. // for more information on using Contexts.
  986. func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
  987. req, out := c.AttachClassicLinkVpcRequest(input)
  988. req.SetContext(ctx)
  989. req.ApplyOptions(opts...)
  990. return out, req.Send()
  991. }
  992. const opAttachInternetGateway = "AttachInternetGateway"
  993. // AttachInternetGatewayRequest generates a "aws/request.Request" representing the
  994. // client's request for the AttachInternetGateway operation. The "output" return
  995. // value can be used to capture response data after the request's "Send" method
  996. // is called.
  997. //
  998. // See AttachInternetGateway for usage and error information.
  999. //
  1000. // Creating a request object using this method should be used when you want to inject
  1001. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1002. // access properties on the request object before or after sending the request. If
  1003. // you just want the service response, call the AttachInternetGateway method directly
  1004. // instead.
  1005. //
  1006. // Note: You must call the "Send" method on the returned request object in order
  1007. // to execute the request.
  1008. //
  1009. // // Example sending a request using the AttachInternetGatewayRequest method.
  1010. // req, resp := client.AttachInternetGatewayRequest(params)
  1011. //
  1012. // err := req.Send()
  1013. // if err == nil { // resp is now filled
  1014. // fmt.Println(resp)
  1015. // }
  1016. //
  1017. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1018. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  1019. op := &request.Operation{
  1020. Name: opAttachInternetGateway,
  1021. HTTPMethod: "POST",
  1022. HTTPPath: "/",
  1023. }
  1024. if input == nil {
  1025. input = &AttachInternetGatewayInput{}
  1026. }
  1027. output = &AttachInternetGatewayOutput{}
  1028. req = c.newRequest(op, input, output)
  1029. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1030. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1031. return
  1032. }
  1033. // AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
  1034. //
  1035. // Attaches an Internet gateway to a VPC, enabling connectivity between the
  1036. // Internet and the VPC. For more information about your VPC and Internet gateway,
  1037. // see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  1038. //
  1039. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1040. // with awserr.Error's Code and Message methods to get detailed information about
  1041. // the error.
  1042. //
  1043. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1044. // API operation AttachInternetGateway for usage and error information.
  1045. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1046. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  1047. req, out := c.AttachInternetGatewayRequest(input)
  1048. return out, req.Send()
  1049. }
  1050. // AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
  1051. // the ability to pass a context and additional request options.
  1052. //
  1053. // See AttachInternetGateway for details on how to use this API operation.
  1054. //
  1055. // The context must be non-nil and will be used for request cancellation. If
  1056. // the context is nil a panic will occur. In the future the SDK may create
  1057. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1058. // for more information on using Contexts.
  1059. func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
  1060. req, out := c.AttachInternetGatewayRequest(input)
  1061. req.SetContext(ctx)
  1062. req.ApplyOptions(opts...)
  1063. return out, req.Send()
  1064. }
  1065. const opAttachNetworkInterface = "AttachNetworkInterface"
  1066. // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  1067. // client's request for the AttachNetworkInterface operation. The "output" return
  1068. // value can be used to capture response data after the request's "Send" method
  1069. // is called.
  1070. //
  1071. // See AttachNetworkInterface for usage and error information.
  1072. //
  1073. // Creating a request object using this method should be used when you want to inject
  1074. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1075. // access properties on the request object before or after sending the request. If
  1076. // you just want the service response, call the AttachNetworkInterface method directly
  1077. // instead.
  1078. //
  1079. // Note: You must call the "Send" method on the returned request object in order
  1080. // to execute the request.
  1081. //
  1082. // // Example sending a request using the AttachNetworkInterfaceRequest method.
  1083. // req, resp := client.AttachNetworkInterfaceRequest(params)
  1084. //
  1085. // err := req.Send()
  1086. // if err == nil { // resp is now filled
  1087. // fmt.Println(resp)
  1088. // }
  1089. //
  1090. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1091. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  1092. op := &request.Operation{
  1093. Name: opAttachNetworkInterface,
  1094. HTTPMethod: "POST",
  1095. HTTPPath: "/",
  1096. }
  1097. if input == nil {
  1098. input = &AttachNetworkInterfaceInput{}
  1099. }
  1100. output = &AttachNetworkInterfaceOutput{}
  1101. req = c.newRequest(op, input, output)
  1102. return
  1103. }
  1104. // AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  1105. //
  1106. // Attaches a network interface to an instance.
  1107. //
  1108. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1109. // with awserr.Error's Code and Message methods to get detailed information about
  1110. // the error.
  1111. //
  1112. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1113. // API operation AttachNetworkInterface for usage and error information.
  1114. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1115. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  1116. req, out := c.AttachNetworkInterfaceRequest(input)
  1117. return out, req.Send()
  1118. }
  1119. // AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
  1120. // the ability to pass a context and additional request options.
  1121. //
  1122. // See AttachNetworkInterface for details on how to use this API operation.
  1123. //
  1124. // The context must be non-nil and will be used for request cancellation. If
  1125. // the context is nil a panic will occur. In the future the SDK may create
  1126. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1127. // for more information on using Contexts.
  1128. func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
  1129. req, out := c.AttachNetworkInterfaceRequest(input)
  1130. req.SetContext(ctx)
  1131. req.ApplyOptions(opts...)
  1132. return out, req.Send()
  1133. }
  1134. const opAttachVolume = "AttachVolume"
  1135. // AttachVolumeRequest generates a "aws/request.Request" representing the
  1136. // client's request for the AttachVolume operation. The "output" return
  1137. // value can be used to capture response data after the request's "Send" method
  1138. // is called.
  1139. //
  1140. // See AttachVolume for usage and error information.
  1141. //
  1142. // Creating a request object using this method should be used when you want to inject
  1143. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1144. // access properties on the request object before or after sending the request. If
  1145. // you just want the service response, call the AttachVolume method directly
  1146. // instead.
  1147. //
  1148. // Note: You must call the "Send" method on the returned request object in order
  1149. // to execute the request.
  1150. //
  1151. // // Example sending a request using the AttachVolumeRequest method.
  1152. // req, resp := client.AttachVolumeRequest(params)
  1153. //
  1154. // err := req.Send()
  1155. // if err == nil { // resp is now filled
  1156. // fmt.Println(resp)
  1157. // }
  1158. //
  1159. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1160. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  1161. op := &request.Operation{
  1162. Name: opAttachVolume,
  1163. HTTPMethod: "POST",
  1164. HTTPPath: "/",
  1165. }
  1166. if input == nil {
  1167. input = &AttachVolumeInput{}
  1168. }
  1169. output = &VolumeAttachment{}
  1170. req = c.newRequest(op, input, output)
  1171. return
  1172. }
  1173. // AttachVolume API operation for Amazon Elastic Compute Cloud.
  1174. //
  1175. // Attaches an EBS volume to a running or stopped instance and exposes it to
  1176. // the instance with the specified device name.
  1177. //
  1178. // Encrypted EBS volumes may only be attached to instances that support Amazon
  1179. // EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  1180. // in the Amazon Elastic Compute Cloud User Guide.
  1181. //
  1182. // For a list of supported device names, see Attaching an EBS Volume to an Instance
  1183. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
  1184. // Any device names that aren't reserved for instance store volumes can be used
  1185. // for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
  1186. // in the Amazon Elastic Compute Cloud User Guide.
  1187. //
  1188. // If a volume has an AWS Marketplace product code:
  1189. //
  1190. // * The volume can be attached only to a stopped instance.
  1191. //
  1192. // * AWS Marketplace product codes are copied from the volume to the instance.
  1193. //
  1194. // * You must be subscribed to the product.
  1195. //
  1196. // * The instance type and operating system of the instance must support
  1197. // the product. For example, you can't detach a volume from a Windows instance
  1198. // and attach it to a Linux instance.
  1199. //
  1200. // For an overview of the AWS Marketplace, see Introducing AWS Marketplace (https://aws.amazon.com/marketplace/help/200900000).
  1201. //
  1202. // For more information about EBS volumes, see Attaching Amazon EBS Volumes
  1203. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  1204. // in the Amazon Elastic Compute Cloud User Guide.
  1205. //
  1206. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1207. // with awserr.Error's Code and Message methods to get detailed information about
  1208. // the error.
  1209. //
  1210. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1211. // API operation AttachVolume for usage and error information.
  1212. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1213. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  1214. req, out := c.AttachVolumeRequest(input)
  1215. return out, req.Send()
  1216. }
  1217. // AttachVolumeWithContext is the same as AttachVolume with the addition of
  1218. // the ability to pass a context and additional request options.
  1219. //
  1220. // See AttachVolume for details on how to use this API operation.
  1221. //
  1222. // The context must be non-nil and will be used for request cancellation. If
  1223. // the context is nil a panic will occur. In the future the SDK may create
  1224. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1225. // for more information on using Contexts.
  1226. func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  1227. req, out := c.AttachVolumeRequest(input)
  1228. req.SetContext(ctx)
  1229. req.ApplyOptions(opts...)
  1230. return out, req.Send()
  1231. }
  1232. const opAttachVpnGateway = "AttachVpnGateway"
  1233. // AttachVpnGatewayRequest generates a "aws/request.Request" representing the
  1234. // client's request for the AttachVpnGateway operation. The "output" return
  1235. // value can be used to capture response data after the request's "Send" method
  1236. // is called.
  1237. //
  1238. // See AttachVpnGateway for usage and error information.
  1239. //
  1240. // Creating a request object using this method should be used when you want to inject
  1241. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1242. // access properties on the request object before or after sending the request. If
  1243. // you just want the service response, call the AttachVpnGateway method directly
  1244. // instead.
  1245. //
  1246. // Note: You must call the "Send" method on the returned request object in order
  1247. // to execute the request.
  1248. //
  1249. // // Example sending a request using the AttachVpnGatewayRequest method.
  1250. // req, resp := client.AttachVpnGatewayRequest(params)
  1251. //
  1252. // err := req.Send()
  1253. // if err == nil { // resp is now filled
  1254. // fmt.Println(resp)
  1255. // }
  1256. //
  1257. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1258. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  1259. op := &request.Operation{
  1260. Name: opAttachVpnGateway,
  1261. HTTPMethod: "POST",
  1262. HTTPPath: "/",
  1263. }
  1264. if input == nil {
  1265. input = &AttachVpnGatewayInput{}
  1266. }
  1267. output = &AttachVpnGatewayOutput{}
  1268. req = c.newRequest(op, input, output)
  1269. return
  1270. }
  1271. // AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
  1272. //
  1273. // Attaches a virtual private gateway to a VPC. You can attach one virtual private
  1274. // gateway to one VPC at a time.
  1275. //
  1276. // For more information, see Adding a Hardware Virtual Private Gateway to Your
  1277. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1278. // in the Amazon Virtual Private Cloud User Guide.
  1279. //
  1280. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1281. // with awserr.Error's Code and Message methods to get detailed information about
  1282. // the error.
  1283. //
  1284. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1285. // API operation AttachVpnGateway for usage and error information.
  1286. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1287. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  1288. req, out := c.AttachVpnGatewayRequest(input)
  1289. return out, req.Send()
  1290. }
  1291. // AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
  1292. // the ability to pass a context and additional request options.
  1293. //
  1294. // See AttachVpnGateway for details on how to use this API operation.
  1295. //
  1296. // The context must be non-nil and will be used for request cancellation. If
  1297. // the context is nil a panic will occur. In the future the SDK may create
  1298. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1299. // for more information on using Contexts.
  1300. func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
  1301. req, out := c.AttachVpnGatewayRequest(input)
  1302. req.SetContext(ctx)
  1303. req.ApplyOptions(opts...)
  1304. return out, req.Send()
  1305. }
  1306. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  1307. // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  1308. // client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
  1309. // value can be used to capture response data after the request's "Send" method
  1310. // is called.
  1311. //
  1312. // See AuthorizeSecurityGroupEgress for usage and error information.
  1313. //
  1314. // Creating a request object using this method should be used when you want to inject
  1315. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1316. // access properties on the request object before or after sending the request. If
  1317. // you just want the service response, call the AuthorizeSecurityGroupEgress method directly
  1318. // instead.
  1319. //
  1320. // Note: You must call the "Send" method on the returned request object in order
  1321. // to execute the request.
  1322. //
  1323. // // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
  1324. // req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
  1325. //
  1326. // err := req.Send()
  1327. // if err == nil { // resp is now filled
  1328. // fmt.Println(resp)
  1329. // }
  1330. //
  1331. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1332. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  1333. op := &request.Operation{
  1334. Name: opAuthorizeSecurityGroupEgress,
  1335. HTTPMethod: "POST",
  1336. HTTPPath: "/",
  1337. }
  1338. if input == nil {
  1339. input = &AuthorizeSecurityGroupEgressInput{}
  1340. }
  1341. output = &AuthorizeSecurityGroupEgressOutput{}
  1342. req = c.newRequest(op, input, output)
  1343. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1344. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1345. return
  1346. }
  1347. // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  1348. //
  1349. // [EC2-VPC only] Adds one or more egress rules to a security group for use
  1350. // with a VPC. Specifically, this action permits instances to send traffic to
  1351. // one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more
  1352. // destination security groups for the same VPC. This action doesn't apply to
  1353. // security groups for use in EC2-Classic. For more information, see Security
  1354. // Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  1355. // in the Amazon Virtual Private Cloud User Guide. For more information about
  1356. // security group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1357. //
  1358. // Each rule consists of the protocol (for example, TCP), plus either a CIDR
  1359. // range or a source group. For the TCP and UDP protocols, you must also specify
  1360. // the destination port or port range. For the ICMP protocol, you must also
  1361. // specify the ICMP type and code. You can use -1 for the type or code to mean
  1362. // all types or all codes.
  1363. //
  1364. // Rule changes are propagated to affected instances as quickly as possible.
  1365. // However, a small delay might occur.
  1366. //
  1367. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1368. // with awserr.Error's Code and Message methods to get detailed information about
  1369. // the error.
  1370. //
  1371. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1372. // API operation AuthorizeSecurityGroupEgress for usage and error information.
  1373. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1374. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  1375. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1376. return out, req.Send()
  1377. }
  1378. // AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
  1379. // the ability to pass a context and additional request options.
  1380. //
  1381. // See AuthorizeSecurityGroupEgress for details on how to use this API operation.
  1382. //
  1383. // The context must be non-nil and will be used for request cancellation. If
  1384. // the context is nil a panic will occur. In the future the SDK may create
  1385. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1386. // for more information on using Contexts.
  1387. func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
  1388. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1389. req.SetContext(ctx)
  1390. req.ApplyOptions(opts...)
  1391. return out, req.Send()
  1392. }
  1393. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  1394. // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  1395. // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
  1396. // value can be used to capture response data after the request's "Send" method
  1397. // is called.
  1398. //
  1399. // See AuthorizeSecurityGroupIngress for usage and error information.
  1400. //
  1401. // Creating a request object using this method should be used when you want to inject
  1402. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1403. // access properties on the request object before or after sending the request. If
  1404. // you just want the service response, call the AuthorizeSecurityGroupIngress method directly
  1405. // instead.
  1406. //
  1407. // Note: You must call the "Send" method on the returned request object in order
  1408. // to execute the request.
  1409. //
  1410. // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
  1411. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
  1412. //
  1413. // err := req.Send()
  1414. // if err == nil { // resp is now filled
  1415. // fmt.Println(resp)
  1416. // }
  1417. //
  1418. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1419. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  1420. op := &request.Operation{
  1421. Name: opAuthorizeSecurityGroupIngress,
  1422. HTTPMethod: "POST",
  1423. HTTPPath: "/",
  1424. }
  1425. if input == nil {
  1426. input = &AuthorizeSecurityGroupIngressInput{}
  1427. }
  1428. output = &AuthorizeSecurityGroupIngressOutput{}
  1429. req = c.newRequest(op, input, output)
  1430. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1431. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1432. return
  1433. }
  1434. // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  1435. //
  1436. // Adds one or more ingress rules to a security group.
  1437. //
  1438. // Rule changes are propagated to instances within the security group as quickly
  1439. // as possible. However, a small delay might occur.
  1440. //
  1441. // [EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission
  1442. // to access a security group in your account, or gives one or more security
  1443. // groups (called the source groups) permission to access a security group for
  1444. // your account. A source group can be for your own AWS account, or another.
  1445. // You can have up to 100 rules per group.
  1446. //
  1447. // [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges
  1448. // permission to access a security group in your VPC, or gives one or more other
  1449. // security groups (called the source groups) permission to access a security
  1450. // group for your VPC. The security groups must all be for the same VPC or a
  1451. // peer VPC in a VPC peering connection. For more information about VPC security
  1452. // group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1453. //
  1454. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1455. // with awserr.Error's Code and Message methods to get detailed information about
  1456. // the error.
  1457. //
  1458. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1459. // API operation AuthorizeSecurityGroupIngress for usage and error information.
  1460. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1461. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  1462. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1463. return out, req.Send()
  1464. }
  1465. // AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
  1466. // the ability to pass a context and additional request options.
  1467. //
  1468. // See AuthorizeSecurityGroupIngress for details on how to use this API operation.
  1469. //
  1470. // The context must be non-nil and will be used for request cancellation. If
  1471. // the context is nil a panic will occur. In the future the SDK may create
  1472. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1473. // for more information on using Contexts.
  1474. func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
  1475. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1476. req.SetContext(ctx)
  1477. req.ApplyOptions(opts...)
  1478. return out, req.Send()
  1479. }
  1480. const opBundleInstance = "BundleInstance"
  1481. // BundleInstanceRequest generates a "aws/request.Request" representing the
  1482. // client's request for the BundleInstance operation. The "output" return
  1483. // value can be used to capture response data after the request's "Send" method
  1484. // is called.
  1485. //
  1486. // See BundleInstance for usage and error information.
  1487. //
  1488. // Creating a request object using this method should be used when you want to inject
  1489. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1490. // access properties on the request object before or after sending the request. If
  1491. // you just want the service response, call the BundleInstance method directly
  1492. // instead.
  1493. //
  1494. // Note: You must call the "Send" method on the returned request object in order
  1495. // to execute the request.
  1496. //
  1497. // // Example sending a request using the BundleInstanceRequest method.
  1498. // req, resp := client.BundleInstanceRequest(params)
  1499. //
  1500. // err := req.Send()
  1501. // if err == nil { // resp is now filled
  1502. // fmt.Println(resp)
  1503. // }
  1504. //
  1505. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1506. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  1507. op := &request.Operation{
  1508. Name: opBundleInstance,
  1509. HTTPMethod: "POST",
  1510. HTTPPath: "/",
  1511. }
  1512. if input == nil {
  1513. input = &BundleInstanceInput{}
  1514. }
  1515. output = &BundleInstanceOutput{}
  1516. req = c.newRequest(op, input, output)
  1517. return
  1518. }
  1519. // BundleInstance API operation for Amazon Elastic Compute Cloud.
  1520. //
  1521. // Bundles an Amazon instance store-backed Windows instance.
  1522. //
  1523. // During bundling, only the root device volume (C:\) is bundled. Data on other
  1524. // instance store volumes is not preserved.
  1525. //
  1526. // This action is not applicable for Linux/Unix instances or Windows instances
  1527. // that are backed by Amazon EBS.
  1528. //
  1529. // For more information, see Creating an Instance Store-Backed Windows AMI (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html).
  1530. //
  1531. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1532. // with awserr.Error's Code and Message methods to get detailed information about
  1533. // the error.
  1534. //
  1535. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1536. // API operation BundleInstance for usage and error information.
  1537. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1538. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  1539. req, out := c.BundleInstanceRequest(input)
  1540. return out, req.Send()
  1541. }
  1542. // BundleInstanceWithContext is the same as BundleInstance with the addition of
  1543. // the ability to pass a context and additional request options.
  1544. //
  1545. // See BundleInstance for details on how to use this API operation.
  1546. //
  1547. // The context must be non-nil and will be used for request cancellation. If
  1548. // the context is nil a panic will occur. In the future the SDK may create
  1549. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1550. // for more information on using Contexts.
  1551. func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
  1552. req, out := c.BundleInstanceRequest(input)
  1553. req.SetContext(ctx)
  1554. req.ApplyOptions(opts...)
  1555. return out, req.Send()
  1556. }
  1557. const opCancelBundleTask = "CancelBundleTask"
  1558. // CancelBundleTaskRequest generates a "aws/request.Request" representing the
  1559. // client's request for the CancelBundleTask operation. The "output" return
  1560. // value can be used to capture response data after the request's "Send" method
  1561. // is called.
  1562. //
  1563. // See CancelBundleTask for usage and error information.
  1564. //
  1565. // Creating a request object using this method should be used when you want to inject
  1566. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1567. // access properties on the request object before or after sending the request. If
  1568. // you just want the service response, call the CancelBundleTask method directly
  1569. // instead.
  1570. //
  1571. // Note: You must call the "Send" method on the returned request object in order
  1572. // to execute the request.
  1573. //
  1574. // // Example sending a request using the CancelBundleTaskRequest method.
  1575. // req, resp := client.CancelBundleTaskRequest(params)
  1576. //
  1577. // err := req.Send()
  1578. // if err == nil { // resp is now filled
  1579. // fmt.Println(resp)
  1580. // }
  1581. //
  1582. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1583. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  1584. op := &request.Operation{
  1585. Name: opCancelBundleTask,
  1586. HTTPMethod: "POST",
  1587. HTTPPath: "/",
  1588. }
  1589. if input == nil {
  1590. input = &CancelBundleTaskInput{}
  1591. }
  1592. output = &CancelBundleTaskOutput{}
  1593. req = c.newRequest(op, input, output)
  1594. return
  1595. }
  1596. // CancelBundleTask API operation for Amazon Elastic Compute Cloud.
  1597. //
  1598. // Cancels a bundling operation for an instance store-backed Windows instance.
  1599. //
  1600. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1601. // with awserr.Error's Code and Message methods to get detailed information about
  1602. // the error.
  1603. //
  1604. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1605. // API operation CancelBundleTask for usage and error information.
  1606. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1607. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  1608. req, out := c.CancelBundleTaskRequest(input)
  1609. return out, req.Send()
  1610. }
  1611. // CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
  1612. // the ability to pass a context and additional request options.
  1613. //
  1614. // See CancelBundleTask for details on how to use this API operation.
  1615. //
  1616. // The context must be non-nil and will be used for request cancellation. If
  1617. // the context is nil a panic will occur. In the future the SDK may create
  1618. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1619. // for more information on using Contexts.
  1620. func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
  1621. req, out := c.CancelBundleTaskRequest(input)
  1622. req.SetContext(ctx)
  1623. req.ApplyOptions(opts...)
  1624. return out, req.Send()
  1625. }
  1626. const opCancelConversionTask = "CancelConversionTask"
  1627. // CancelConversionTaskRequest generates a "aws/request.Request" representing the
  1628. // client's request for the CancelConversionTask operation. The "output" return
  1629. // value can be used to capture response data after the request's "Send" method
  1630. // is called.
  1631. //
  1632. // See CancelConversionTask for usage and error information.
  1633. //
  1634. // Creating a request object using this method should be used when you want to inject
  1635. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1636. // access properties on the request object before or after sending the request. If
  1637. // you just want the service response, call the CancelConversionTask method directly
  1638. // instead.
  1639. //
  1640. // Note: You must call the "Send" method on the returned request object in order
  1641. // to execute the request.
  1642. //
  1643. // // Example sending a request using the CancelConversionTaskRequest method.
  1644. // req, resp := client.CancelConversionTaskRequest(params)
  1645. //
  1646. // err := req.Send()
  1647. // if err == nil { // resp is now filled
  1648. // fmt.Println(resp)
  1649. // }
  1650. //
  1651. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1652. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  1653. op := &request.Operation{
  1654. Name: opCancelConversionTask,
  1655. HTTPMethod: "POST",
  1656. HTTPPath: "/",
  1657. }
  1658. if input == nil {
  1659. input = &CancelConversionTaskInput{}
  1660. }
  1661. output = &CancelConversionTaskOutput{}
  1662. req = c.newRequest(op, input, output)
  1663. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1664. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1665. return
  1666. }
  1667. // CancelConversionTask API operation for Amazon Elastic Compute Cloud.
  1668. //
  1669. // Cancels an active conversion task. The task can be the import of an instance
  1670. // or volume. The action removes all artifacts of the conversion, including
  1671. // a partially uploaded volume or instance. If the conversion is complete or
  1672. // is in the process of transferring the final disk image, the command fails
  1673. // and returns an exception.
  1674. //
  1675. // For more information, see Importing a Virtual Machine Using the Amazon EC2
  1676. // CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  1677. //
  1678. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1679. // with awserr.Error's Code and Message methods to get detailed information about
  1680. // the error.
  1681. //
  1682. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1683. // API operation CancelConversionTask for usage and error information.
  1684. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1685. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  1686. req, out := c.CancelConversionTaskRequest(input)
  1687. return out, req.Send()
  1688. }
  1689. // CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
  1690. // the ability to pass a context and additional request options.
  1691. //
  1692. // See CancelConversionTask for details on how to use this API operation.
  1693. //
  1694. // The context must be non-nil and will be used for request cancellation. If
  1695. // the context is nil a panic will occur. In the future the SDK may create
  1696. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1697. // for more information on using Contexts.
  1698. func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
  1699. req, out := c.CancelConversionTaskRequest(input)
  1700. req.SetContext(ctx)
  1701. req.ApplyOptions(opts...)
  1702. return out, req.Send()
  1703. }
  1704. const opCancelExportTask = "CancelExportTask"
  1705. // CancelExportTaskRequest generates a "aws/request.Request" representing the
  1706. // client's request for the CancelExportTask operation. The "output" return
  1707. // value can be used to capture response data after the request's "Send" method
  1708. // is called.
  1709. //
  1710. // See CancelExportTask for usage and error information.
  1711. //
  1712. // Creating a request object using this method should be used when you want to inject
  1713. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1714. // access properties on the request object before or after sending the request. If
  1715. // you just want the service response, call the CancelExportTask method directly
  1716. // instead.
  1717. //
  1718. // Note: You must call the "Send" method on the returned request object in order
  1719. // to execute the request.
  1720. //
  1721. // // Example sending a request using the CancelExportTaskRequest method.
  1722. // req, resp := client.CancelExportTaskRequest(params)
  1723. //
  1724. // err := req.Send()
  1725. // if err == nil { // resp is now filled
  1726. // fmt.Println(resp)
  1727. // }
  1728. //
  1729. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1730. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  1731. op := &request.Operation{
  1732. Name: opCancelExportTask,
  1733. HTTPMethod: "POST",
  1734. HTTPPath: "/",
  1735. }
  1736. if input == nil {
  1737. input = &CancelExportTaskInput{}
  1738. }
  1739. output = &CancelExportTaskOutput{}
  1740. req = c.newRequest(op, input, output)
  1741. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1742. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1743. return
  1744. }
  1745. // CancelExportTask API operation for Amazon Elastic Compute Cloud.
  1746. //
  1747. // Cancels an active export task. The request removes all artifacts of the export,
  1748. // including any partially-created Amazon S3 objects. If the export task is
  1749. // complete or is in the process of transferring the final disk image, the command
  1750. // fails and returns an error.
  1751. //
  1752. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1753. // with awserr.Error's Code and Message methods to get detailed information about
  1754. // the error.
  1755. //
  1756. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1757. // API operation CancelExportTask for usage and error information.
  1758. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1759. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  1760. req, out := c.CancelExportTaskRequest(input)
  1761. return out, req.Send()
  1762. }
  1763. // CancelExportTaskWithContext is the same as CancelExportTask with the addition of
  1764. // the ability to pass a context and additional request options.
  1765. //
  1766. // See CancelExportTask for details on how to use this API operation.
  1767. //
  1768. // The context must be non-nil and will be used for request cancellation. If
  1769. // the context is nil a panic will occur. In the future the SDK may create
  1770. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1771. // for more information on using Contexts.
  1772. func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
  1773. req, out := c.CancelExportTaskRequest(input)
  1774. req.SetContext(ctx)
  1775. req.ApplyOptions(opts...)
  1776. return out, req.Send()
  1777. }
  1778. const opCancelImportTask = "CancelImportTask"
  1779. // CancelImportTaskRequest generates a "aws/request.Request" representing the
  1780. // client's request for the CancelImportTask operation. The "output" return
  1781. // value can be used to capture response data after the request's "Send" method
  1782. // is called.
  1783. //
  1784. // See CancelImportTask for usage and error information.
  1785. //
  1786. // Creating a request object using this method should be used when you want to inject
  1787. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1788. // access properties on the request object before or after sending the request. If
  1789. // you just want the service response, call the CancelImportTask method directly
  1790. // instead.
  1791. //
  1792. // Note: You must call the "Send" method on the returned request object in order
  1793. // to execute the request.
  1794. //
  1795. // // Example sending a request using the CancelImportTaskRequest method.
  1796. // req, resp := client.CancelImportTaskRequest(params)
  1797. //
  1798. // err := req.Send()
  1799. // if err == nil { // resp is now filled
  1800. // fmt.Println(resp)
  1801. // }
  1802. //
  1803. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1804. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  1805. op := &request.Operation{
  1806. Name: opCancelImportTask,
  1807. HTTPMethod: "POST",
  1808. HTTPPath: "/",
  1809. }
  1810. if input == nil {
  1811. input = &CancelImportTaskInput{}
  1812. }
  1813. output = &CancelImportTaskOutput{}
  1814. req = c.newRequest(op, input, output)
  1815. return
  1816. }
  1817. // CancelImportTask API operation for Amazon Elastic Compute Cloud.
  1818. //
  1819. // Cancels an in-process import virtual machine or import snapshot task.
  1820. //
  1821. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1822. // with awserr.Error's Code and Message methods to get detailed information about
  1823. // the error.
  1824. //
  1825. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1826. // API operation CancelImportTask for usage and error information.
  1827. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1828. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  1829. req, out := c.CancelImportTaskRequest(input)
  1830. return out, req.Send()
  1831. }
  1832. // CancelImportTaskWithContext is the same as CancelImportTask with the addition of
  1833. // the ability to pass a context and additional request options.
  1834. //
  1835. // See CancelImportTask for details on how to use this API operation.
  1836. //
  1837. // The context must be non-nil and will be used for request cancellation. If
  1838. // the context is nil a panic will occur. In the future the SDK may create
  1839. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1840. // for more information on using Contexts.
  1841. func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
  1842. req, out := c.CancelImportTaskRequest(input)
  1843. req.SetContext(ctx)
  1844. req.ApplyOptions(opts...)
  1845. return out, req.Send()
  1846. }
  1847. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  1848. // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
  1849. // client's request for the CancelReservedInstancesListing operation. The "output" return
  1850. // value can be used to capture response data after the request's "Send" method
  1851. // is called.
  1852. //
  1853. // See CancelReservedInstancesListing for usage and error information.
  1854. //
  1855. // Creating a request object using this method should be used when you want to inject
  1856. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1857. // access properties on the request object before or after sending the request. If
  1858. // you just want the service response, call the CancelReservedInstancesListing method directly
  1859. // instead.
  1860. //
  1861. // Note: You must call the "Send" method on the returned request object in order
  1862. // to execute the request.
  1863. //
  1864. // // Example sending a request using the CancelReservedInstancesListingRequest method.
  1865. // req, resp := client.CancelReservedInstancesListingRequest(params)
  1866. //
  1867. // err := req.Send()
  1868. // if err == nil { // resp is now filled
  1869. // fmt.Println(resp)
  1870. // }
  1871. //
  1872. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1873. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  1874. op := &request.Operation{
  1875. Name: opCancelReservedInstancesListing,
  1876. HTTPMethod: "POST",
  1877. HTTPPath: "/",
  1878. }
  1879. if input == nil {
  1880. input = &CancelReservedInstancesListingInput{}
  1881. }
  1882. output = &CancelReservedInstancesListingOutput{}
  1883. req = c.newRequest(op, input, output)
  1884. return
  1885. }
  1886. // CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  1887. //
  1888. // Cancels the specified Reserved Instance listing in the Reserved Instance
  1889. // Marketplace.
  1890. //
  1891. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  1892. // in the Amazon Elastic Compute Cloud User Guide.
  1893. //
  1894. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1895. // with awserr.Error's Code and Message methods to get detailed information about
  1896. // the error.
  1897. //
  1898. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1899. // API operation CancelReservedInstancesListing for usage and error information.
  1900. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1901. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  1902. req, out := c.CancelReservedInstancesListingRequest(input)
  1903. return out, req.Send()
  1904. }
  1905. // CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
  1906. // the ability to pass a context and additional request options.
  1907. //
  1908. // See CancelReservedInstancesListing for details on how to use this API operation.
  1909. //
  1910. // The context must be non-nil and will be used for request cancellation. If
  1911. // the context is nil a panic will occur. In the future the SDK may create
  1912. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1913. // for more information on using Contexts.
  1914. func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
  1915. req, out := c.CancelReservedInstancesListingRequest(input)
  1916. req.SetContext(ctx)
  1917. req.ApplyOptions(opts...)
  1918. return out, req.Send()
  1919. }
  1920. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  1921. // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  1922. // client's request for the CancelSpotFleetRequests operation. The "output" return
  1923. // value can be used to capture response data after the request's "Send" method
  1924. // is called.
  1925. //
  1926. // See CancelSpotFleetRequests for usage and error information.
  1927. //
  1928. // Creating a request object using this method should be used when you want to inject
  1929. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1930. // access properties on the request object before or after sending the request. If
  1931. // you just want the service response, call the CancelSpotFleetRequests method directly
  1932. // instead.
  1933. //
  1934. // Note: You must call the "Send" method on the returned request object in order
  1935. // to execute the request.
  1936. //
  1937. // // Example sending a request using the CancelSpotFleetRequestsRequest method.
  1938. // req, resp := client.CancelSpotFleetRequestsRequest(params)
  1939. //
  1940. // err := req.Send()
  1941. // if err == nil { // resp is now filled
  1942. // fmt.Println(resp)
  1943. // }
  1944. //
  1945. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  1946. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  1947. op := &request.Operation{
  1948. Name: opCancelSpotFleetRequests,
  1949. HTTPMethod: "POST",
  1950. HTTPPath: "/",
  1951. }
  1952. if input == nil {
  1953. input = &CancelSpotFleetRequestsInput{}
  1954. }
  1955. output = &CancelSpotFleetRequestsOutput{}
  1956. req = c.newRequest(op, input, output)
  1957. return
  1958. }
  1959. // CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  1960. //
  1961. // Cancels the specified Spot fleet requests.
  1962. //
  1963. // After you cancel a Spot fleet request, the Spot fleet launches no new Spot
  1964. // instances. You must specify whether the Spot fleet should also terminate
  1965. // its Spot instances. If you terminate the instances, the Spot fleet request
  1966. // enters the cancelled_terminating state. Otherwise, the Spot fleet request
  1967. // enters the cancelled_running state and the instances continue to run until
  1968. // they are interrupted or you terminate them manually.
  1969. //
  1970. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1971. // with awserr.Error's Code and Message methods to get detailed information about
  1972. // the error.
  1973. //
  1974. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1975. // API operation CancelSpotFleetRequests for usage and error information.
  1976. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  1977. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  1978. req, out := c.CancelSpotFleetRequestsRequest(input)
  1979. return out, req.Send()
  1980. }
  1981. // CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
  1982. // the ability to pass a context and additional request options.
  1983. //
  1984. // See CancelSpotFleetRequests for details on how to use this API operation.
  1985. //
  1986. // The context must be non-nil and will be used for request cancellation. If
  1987. // the context is nil a panic will occur. In the future the SDK may create
  1988. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1989. // for more information on using Contexts.
  1990. func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
  1991. req, out := c.CancelSpotFleetRequestsRequest(input)
  1992. req.SetContext(ctx)
  1993. req.ApplyOptions(opts...)
  1994. return out, req.Send()
  1995. }
  1996. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  1997. // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  1998. // client's request for the CancelSpotInstanceRequests operation. The "output" return
  1999. // value can be used to capture response data after the request's "Send" method
  2000. // is called.
  2001. //
  2002. // See CancelSpotInstanceRequests for usage and error information.
  2003. //
  2004. // Creating a request object using this method should be used when you want to inject
  2005. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2006. // access properties on the request object before or after sending the request. If
  2007. // you just want the service response, call the CancelSpotInstanceRequests method directly
  2008. // instead.
  2009. //
  2010. // Note: You must call the "Send" method on the returned request object in order
  2011. // to execute the request.
  2012. //
  2013. // // Example sending a request using the CancelSpotInstanceRequestsRequest method.
  2014. // req, resp := client.CancelSpotInstanceRequestsRequest(params)
  2015. //
  2016. // err := req.Send()
  2017. // if err == nil { // resp is now filled
  2018. // fmt.Println(resp)
  2019. // }
  2020. //
  2021. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2022. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  2023. op := &request.Operation{
  2024. Name: opCancelSpotInstanceRequests,
  2025. HTTPMethod: "POST",
  2026. HTTPPath: "/",
  2027. }
  2028. if input == nil {
  2029. input = &CancelSpotInstanceRequestsInput{}
  2030. }
  2031. output = &CancelSpotInstanceRequestsOutput{}
  2032. req = c.newRequest(op, input, output)
  2033. return
  2034. }
  2035. // CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  2036. //
  2037. // Cancels one or more Spot instance requests. Spot instances are instances
  2038. // that Amazon EC2 starts on your behalf when the bid price that you specify
  2039. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  2040. // based on available Spot instance capacity and current Spot instance requests.
  2041. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  2042. // in the Amazon Elastic Compute Cloud User Guide.
  2043. //
  2044. // Canceling a Spot instance request does not terminate running Spot instances
  2045. // associated with the request.
  2046. //
  2047. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2048. // with awserr.Error's Code and Message methods to get detailed information about
  2049. // the error.
  2050. //
  2051. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2052. // API operation CancelSpotInstanceRequests for usage and error information.
  2053. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2054. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  2055. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2056. return out, req.Send()
  2057. }
  2058. // CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
  2059. // the ability to pass a context and additional request options.
  2060. //
  2061. // See CancelSpotInstanceRequests for details on how to use this API operation.
  2062. //
  2063. // The context must be non-nil and will be used for request cancellation. If
  2064. // the context is nil a panic will occur. In the future the SDK may create
  2065. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2066. // for more information on using Contexts.
  2067. func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
  2068. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2069. req.SetContext(ctx)
  2070. req.ApplyOptions(opts...)
  2071. return out, req.Send()
  2072. }
  2073. const opConfirmProductInstance = "ConfirmProductInstance"
  2074. // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
  2075. // client's request for the ConfirmProductInstance operation. The "output" return
  2076. // value can be used to capture response data after the request's "Send" method
  2077. // is called.
  2078. //
  2079. // See ConfirmProductInstance for usage and error information.
  2080. //
  2081. // Creating a request object using this method should be used when you want to inject
  2082. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2083. // access properties on the request object before or after sending the request. If
  2084. // you just want the service response, call the ConfirmProductInstance method directly
  2085. // instead.
  2086. //
  2087. // Note: You must call the "Send" method on the returned request object in order
  2088. // to execute the request.
  2089. //
  2090. // // Example sending a request using the ConfirmProductInstanceRequest method.
  2091. // req, resp := client.ConfirmProductInstanceRequest(params)
  2092. //
  2093. // err := req.Send()
  2094. // if err == nil { // resp is now filled
  2095. // fmt.Println(resp)
  2096. // }
  2097. //
  2098. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2099. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  2100. op := &request.Operation{
  2101. Name: opConfirmProductInstance,
  2102. HTTPMethod: "POST",
  2103. HTTPPath: "/",
  2104. }
  2105. if input == nil {
  2106. input = &ConfirmProductInstanceInput{}
  2107. }
  2108. output = &ConfirmProductInstanceOutput{}
  2109. req = c.newRequest(op, input, output)
  2110. return
  2111. }
  2112. // ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
  2113. //
  2114. // Determines whether a product code is associated with an instance. This action
  2115. // can only be used by the owner of the product code. It is useful when a product
  2116. // code owner needs to verify whether another user's instance is eligible for
  2117. // support.
  2118. //
  2119. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2120. // with awserr.Error's Code and Message methods to get detailed information about
  2121. // the error.
  2122. //
  2123. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2124. // API operation ConfirmProductInstance for usage and error information.
  2125. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2126. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  2127. req, out := c.ConfirmProductInstanceRequest(input)
  2128. return out, req.Send()
  2129. }
  2130. // ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
  2131. // the ability to pass a context and additional request options.
  2132. //
  2133. // See ConfirmProductInstance for details on how to use this API operation.
  2134. //
  2135. // The context must be non-nil and will be used for request cancellation. If
  2136. // the context is nil a panic will occur. In the future the SDK may create
  2137. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2138. // for more information on using Contexts.
  2139. func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
  2140. req, out := c.ConfirmProductInstanceRequest(input)
  2141. req.SetContext(ctx)
  2142. req.ApplyOptions(opts...)
  2143. return out, req.Send()
  2144. }
  2145. const opCopyImage = "CopyImage"
  2146. // CopyImageRequest generates a "aws/request.Request" representing the
  2147. // client's request for the CopyImage operation. The "output" return
  2148. // value can be used to capture response data after the request's "Send" method
  2149. // is called.
  2150. //
  2151. // See CopyImage for usage and error information.
  2152. //
  2153. // Creating a request object using this method should be used when you want to inject
  2154. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2155. // access properties on the request object before or after sending the request. If
  2156. // you just want the service response, call the CopyImage method directly
  2157. // instead.
  2158. //
  2159. // Note: You must call the "Send" method on the returned request object in order
  2160. // to execute the request.
  2161. //
  2162. // // Example sending a request using the CopyImageRequest method.
  2163. // req, resp := client.CopyImageRequest(params)
  2164. //
  2165. // err := req.Send()
  2166. // if err == nil { // resp is now filled
  2167. // fmt.Println(resp)
  2168. // }
  2169. //
  2170. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2171. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  2172. op := &request.Operation{
  2173. Name: opCopyImage,
  2174. HTTPMethod: "POST",
  2175. HTTPPath: "/",
  2176. }
  2177. if input == nil {
  2178. input = &CopyImageInput{}
  2179. }
  2180. output = &CopyImageOutput{}
  2181. req = c.newRequest(op, input, output)
  2182. return
  2183. }
  2184. // CopyImage API operation for Amazon Elastic Compute Cloud.
  2185. //
  2186. // Initiates the copy of an AMI from the specified source region to the current
  2187. // region. You specify the destination region by using its endpoint when making
  2188. // the request.
  2189. //
  2190. // For more information, see Copying AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
  2191. // in the Amazon Elastic Compute Cloud User Guide.
  2192. //
  2193. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2194. // with awserr.Error's Code and Message methods to get detailed information about
  2195. // the error.
  2196. //
  2197. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2198. // API operation CopyImage for usage and error information.
  2199. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2200. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
  2201. req, out := c.CopyImageRequest(input)
  2202. return out, req.Send()
  2203. }
  2204. // CopyImageWithContext is the same as CopyImage with the addition of
  2205. // the ability to pass a context and additional request options.
  2206. //
  2207. // See CopyImage for details on how to use this API operation.
  2208. //
  2209. // The context must be non-nil and will be used for request cancellation. If
  2210. // the context is nil a panic will occur. In the future the SDK may create
  2211. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2212. // for more information on using Contexts.
  2213. func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
  2214. req, out := c.CopyImageRequest(input)
  2215. req.SetContext(ctx)
  2216. req.ApplyOptions(opts...)
  2217. return out, req.Send()
  2218. }
  2219. const opCopySnapshot = "CopySnapshot"
  2220. // CopySnapshotRequest generates a "aws/request.Request" representing the
  2221. // client's request for the CopySnapshot operation. The "output" return
  2222. // value can be used to capture response data after the request's "Send" method
  2223. // is called.
  2224. //
  2225. // See CopySnapshot for usage and error information.
  2226. //
  2227. // Creating a request object using this method should be used when you want to inject
  2228. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2229. // access properties on the request object before or after sending the request. If
  2230. // you just want the service response, call the CopySnapshot method directly
  2231. // instead.
  2232. //
  2233. // Note: You must call the "Send" method on the returned request object in order
  2234. // to execute the request.
  2235. //
  2236. // // Example sending a request using the CopySnapshotRequest method.
  2237. // req, resp := client.CopySnapshotRequest(params)
  2238. //
  2239. // err := req.Send()
  2240. // if err == nil { // resp is now filled
  2241. // fmt.Println(resp)
  2242. // }
  2243. //
  2244. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2245. func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  2246. op := &request.Operation{
  2247. Name: opCopySnapshot,
  2248. HTTPMethod: "POST",
  2249. HTTPPath: "/",
  2250. }
  2251. if input == nil {
  2252. input = &CopySnapshotInput{}
  2253. }
  2254. output = &CopySnapshotOutput{}
  2255. req = c.newRequest(op, input, output)
  2256. return
  2257. }
  2258. // CopySnapshot API operation for Amazon Elastic Compute Cloud.
  2259. //
  2260. // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
  2261. // S3. You can copy the snapshot within the same region or from one region to
  2262. // another. You can use the snapshot to create EBS volumes or Amazon Machine
  2263. // Images (AMIs). The snapshot is copied to the regional endpoint that you send
  2264. // the HTTP request to.
  2265. //
  2266. // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
  2267. // snapshots remain unencrypted, unless the Encrypted flag is specified during
  2268. // the snapshot copy operation. By default, encrypted snapshot copies use the
  2269. // default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
  2270. // you can specify a non-default CMK with the KmsKeyId parameter.
  2271. //
  2272. // To copy an encrypted snapshot that has been shared from another account,
  2273. // you must have permissions for the CMK used to encrypt the snapshot.
  2274. //
  2275. // Snapshots created by the CopySnapshot action have an arbitrary volume ID
  2276. // that should not be used for any purpose.
  2277. //
  2278. // For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
  2279. // in the Amazon Elastic Compute Cloud User Guide.
  2280. //
  2281. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2282. // with awserr.Error's Code and Message methods to get detailed information about
  2283. // the error.
  2284. //
  2285. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2286. // API operation CopySnapshot for usage and error information.
  2287. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2288. func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  2289. req, out := c.CopySnapshotRequest(input)
  2290. return out, req.Send()
  2291. }
  2292. // CopySnapshotWithContext is the same as CopySnapshot with the addition of
  2293. // the ability to pass a context and additional request options.
  2294. //
  2295. // See CopySnapshot for details on how to use this API operation.
  2296. //
  2297. // The context must be non-nil and will be used for request cancellation. If
  2298. // the context is nil a panic will occur. In the future the SDK may create
  2299. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2300. // for more information on using Contexts.
  2301. func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
  2302. req, out := c.CopySnapshotRequest(input)
  2303. req.SetContext(ctx)
  2304. req.ApplyOptions(opts...)
  2305. return out, req.Send()
  2306. }
  2307. const opCreateCustomerGateway = "CreateCustomerGateway"
  2308. // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
  2309. // client's request for the CreateCustomerGateway operation. The "output" return
  2310. // value can be used to capture response data after the request's "Send" method
  2311. // is called.
  2312. //
  2313. // See CreateCustomerGateway for usage and error information.
  2314. //
  2315. // Creating a request object using this method should be used when you want to inject
  2316. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2317. // access properties on the request object before or after sending the request. If
  2318. // you just want the service response, call the CreateCustomerGateway method directly
  2319. // instead.
  2320. //
  2321. // Note: You must call the "Send" method on the returned request object in order
  2322. // to execute the request.
  2323. //
  2324. // // Example sending a request using the CreateCustomerGatewayRequest method.
  2325. // req, resp := client.CreateCustomerGatewayRequest(params)
  2326. //
  2327. // err := req.Send()
  2328. // if err == nil { // resp is now filled
  2329. // fmt.Println(resp)
  2330. // }
  2331. //
  2332. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  2333. func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
  2334. op := &request.Operation{
  2335. Name: opCreateCustomerGateway,
  2336. HTTPMethod: "POST",
  2337. HTTPPath: "/",
  2338. }
  2339. if input == nil {
  2340. input = &CreateCustomerGatewayInput{}
  2341. }
  2342. output = &CreateCustomerGatewayOutput{}
  2343. req = c.newRequest(op, input, output)
  2344. return
  2345. }
  2346. // CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
  2347. //
  2348. // Provides information to AWS about your VPN customer gateway device. The customer
  2349. // gateway is the appliance at your end of the VPN connection. (The device on
  2350. // the AWS side of the VPN connection is the virtual private gateway.) You must
  2351. // provide the Internet-routable IP address of the customer gateway's external
  2352. // interface. The IP address must be static and may be behind a device performing
  2353. // network address translation (NAT).
  2354. //
  2355. // For devices that use Border Gateway Protocol (BGP), you can also provide
  2356. // the device's BGP Autonomous System Number (ASN). You can use an existing
  2357. // ASN assigned to your network. If you don't have an ASN already, you can use
  2358. // a private ASN (in the 64512 - 65534 range).
  2359. //
  2360. // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
  2361. // the exception of 7224, which is reserved in the us-east-1 region, and 9059,
  2362. // which is reserved in the eu-west-1 region.
  2363. //
  2364. // For more information about VPN customer gateways, see Adding a Hardware Virtual
  2365. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  2366. // in the Amazon Virtual Private Cloud User Guide.
  2367. //
  2368. // You cannot create more than one customer gateway with the same VPN type,
  2369. // IP address, and BGP ASN parameter values. If you run an identical request
  2370. // more than one time, the first request creates the customer gateway, and subsequent
  2371. // requests return information about the existing customer gateway. The subsequent
  2372. // requests do not create new customer gateway resources.
  2373. //
  2374. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2375. // with awserr.Error's Code and Message methods to get detailed information about
  2376. // the error.
  2377. //
  2378. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2379. // API operation CreateCustomerGateway for usage and error information.
  2380. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  2381. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
  2382. req, out := c.CreateCustomerGatewayRequest(input)
  2383. return out, req.Send()
  2384. }
  2385. // CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
  2386. // the ability to pass a context and additional request options.
  2387. //
  2388. // See CreateCustomerGateway for details on how to use this API operation.
  2389. //
  2390. // The context must be non-nil and will be used for request cancellation. If
  2391. // the context is nil a panic will occur. In the future the SDK may create
  2392. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2393. // for more information on using Contexts.
  2394. func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
  2395. req, out := c.CreateCustomerGatewayRequest(input)
  2396. req.SetContext(ctx)
  2397. req.ApplyOptions(opts...)
  2398. return out, req.Send()
  2399. }
  2400. const opCreateDhcpOptions = "CreateDhcpOptions"
  2401. // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
  2402. // client's request for the CreateDhcpOptions operation. The "output" return
  2403. // value can be used to capture response data after the request's "Send" method
  2404. // is called.
  2405. //
  2406. // See CreateDhcpOptions for usage and error information.
  2407. //
  2408. // Creating a request object using this method should be used when you want to inject
  2409. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2410. // access properties on the request object before or after sending the request. If
  2411. // you just want the service response, call the CreateDhcpOptions method directly
  2412. // instead.
  2413. //
  2414. // Note: You must call the "Send" method on the returned request object in order
  2415. // to execute the request.
  2416. //
  2417. // // Example sending a request using the CreateDhcpOptionsRequest method.
  2418. // req, resp := client.CreateDhcpOptionsRequest(params)
  2419. //
  2420. // err := req.Send()
  2421. // if err == nil { // resp is now filled
  2422. // fmt.Println(resp)
  2423. // }
  2424. //
  2425. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  2426. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  2427. op := &request.Operation{
  2428. Name: opCreateDhcpOptions,
  2429. HTTPMethod: "POST",
  2430. HTTPPath: "/",
  2431. }
  2432. if input == nil {
  2433. input = &CreateDhcpOptionsInput{}
  2434. }
  2435. output = &CreateDhcpOptionsOutput{}
  2436. req = c.newRequest(op, input, output)
  2437. return
  2438. }
  2439. // CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  2440. //
  2441. // Creates a set of DHCP options for your VPC. After creating the set, you must
  2442. // associate it with the VPC, causing all existing and new instances that you
  2443. // launch in the VPC to use this set of DHCP options. The following are the
  2444. // individual DHCP options you can specify. For more information about the options,
  2445. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2446. //
  2447. // * domain-name-servers - The IP addresses of up to four domain name servers,
  2448. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  2449. // If specifying more than one domain name server, specify the IP addresses
  2450. // in a single parameter, separated by commas. If you want your instance
  2451. // to receive a custom DNS hostname as specified in domain-name, you must
  2452. // set domain-name-servers to a custom DNS server.
  2453. //
  2454. // * domain-name - If you're using AmazonProvidedDNS in "us-east-1", specify
  2455. // "ec2.internal". If you're using AmazonProvidedDNS in another region, specify
  2456. // "region.compute.internal" (for example, "ap-northeast-1.compute.internal").
  2457. // Otherwise, specify a domain name (for example, "MyCompany.com"). This
  2458. // value is used to complete unqualified DNS hostnames. Important: Some Linux
  2459. // operating systems accept multiple domain names separated by spaces. However,
  2460. // Windows and other Linux operating systems treat the value as a single
  2461. // domain, which results in unexpected behavior. If your DHCP options set
  2462. // is associated with a VPC that has instances with multiple operating systems,
  2463. // specify only one domain name.
  2464. //
  2465. // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
  2466. // servers.
  2467. //
  2468. // * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
  2469. //
  2470. // * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
  2471. // that you specify 2 (broadcast and multicast are not currently supported).
  2472. // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2473. //
  2474. // Your VPC automatically starts out with a set of DHCP options that includes
  2475. // only a DNS server that we provide (AmazonProvidedDNS). If you create a set
  2476. // of options, and if your VPC has an Internet gateway, make sure to set the
  2477. // domain-name-servers option either to AmazonProvidedDNS or to a domain name
  2478. // server of your choice. For more information about DHCP options, see DHCP
  2479. // Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  2480. // in the Amazon Virtual Private Cloud User Guide.
  2481. //
  2482. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2483. // with awserr.Error's Code and Message methods to get detailed information about
  2484. // the error.
  2485. //
  2486. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2487. // API operation CreateDhcpOptions for usage and error information.
  2488. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  2489. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  2490. req, out := c.CreateDhcpOptionsRequest(input)
  2491. return out, req.Send()
  2492. }
  2493. // CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
  2494. // the ability to pass a context and additional request options.
  2495. //
  2496. // See CreateDhcpOptions for details on how to use this API operation.
  2497. //
  2498. // The context must be non-nil and will be used for request cancellation. If
  2499. // the context is nil a panic will occur. In the future the SDK may create
  2500. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2501. // for more information on using Contexts.
  2502. func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
  2503. req, out := c.CreateDhcpOptionsRequest(input)
  2504. req.SetContext(ctx)
  2505. req.ApplyOptions(opts...)
  2506. return out, req.Send()
  2507. }
  2508. const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
  2509. // CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  2510. // client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
  2511. // value can be used to capture response data after the request's "Send" method
  2512. // is called.
  2513. //
  2514. // See CreateEgressOnlyInternetGateway for usage and error information.
  2515. //
  2516. // Creating a request object using this method should be used when you want to inject
  2517. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2518. // access properties on the request object before or after sending the request. If
  2519. // you just want the service response, call the CreateEgressOnlyInternetGateway method directly
  2520. // instead.
  2521. //
  2522. // Note: You must call the "Send" method on the returned request object in order
  2523. // to execute the request.
  2524. //
  2525. // // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
  2526. // req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
  2527. //
  2528. // err := req.Send()
  2529. // if err == nil { // resp is now filled
  2530. // fmt.Println(resp)
  2531. // }
  2532. //
  2533. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2534. func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
  2535. op := &request.Operation{
  2536. Name: opCreateEgressOnlyInternetGateway,
  2537. HTTPMethod: "POST",
  2538. HTTPPath: "/",
  2539. }
  2540. if input == nil {
  2541. input = &CreateEgressOnlyInternetGatewayInput{}
  2542. }
  2543. output = &CreateEgressOnlyInternetGatewayOutput{}
  2544. req = c.newRequest(op, input, output)
  2545. return
  2546. }
  2547. // CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  2548. //
  2549. // [IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only
  2550. // Internet gateway is used to enable outbound communication over IPv6 from
  2551. // instances in your VPC to the Internet, and prevents hosts outside of your
  2552. // VPC from initiating an IPv6 connection with your instance.
  2553. //
  2554. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2555. // with awserr.Error's Code and Message methods to get detailed information about
  2556. // the error.
  2557. //
  2558. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2559. // API operation CreateEgressOnlyInternetGateway for usage and error information.
  2560. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2561. func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2562. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2563. return out, req.Send()
  2564. }
  2565. // CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
  2566. // the ability to pass a context and additional request options.
  2567. //
  2568. // See CreateEgressOnlyInternetGateway for details on how to use this API operation.
  2569. //
  2570. // The context must be non-nil and will be used for request cancellation. If
  2571. // the context is nil a panic will occur. In the future the SDK may create
  2572. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2573. // for more information on using Contexts.
  2574. func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2575. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2576. req.SetContext(ctx)
  2577. req.ApplyOptions(opts...)
  2578. return out, req.Send()
  2579. }
  2580. const opCreateFlowLogs = "CreateFlowLogs"
  2581. // CreateFlowLogsRequest generates a "aws/request.Request" representing the
  2582. // client's request for the CreateFlowLogs operation. The "output" return
  2583. // value can be used to capture response data after the request's "Send" method
  2584. // is called.
  2585. //
  2586. // See CreateFlowLogs for usage and error information.
  2587. //
  2588. // Creating a request object using this method should be used when you want to inject
  2589. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2590. // access properties on the request object before or after sending the request. If
  2591. // you just want the service response, call the CreateFlowLogs method directly
  2592. // instead.
  2593. //
  2594. // Note: You must call the "Send" method on the returned request object in order
  2595. // to execute the request.
  2596. //
  2597. // // Example sending a request using the CreateFlowLogsRequest method.
  2598. // req, resp := client.CreateFlowLogsRequest(params)
  2599. //
  2600. // err := req.Send()
  2601. // if err == nil { // resp is now filled
  2602. // fmt.Println(resp)
  2603. // }
  2604. //
  2605. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2606. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  2607. op := &request.Operation{
  2608. Name: opCreateFlowLogs,
  2609. HTTPMethod: "POST",
  2610. HTTPPath: "/",
  2611. }
  2612. if input == nil {
  2613. input = &CreateFlowLogsInput{}
  2614. }
  2615. output = &CreateFlowLogsOutput{}
  2616. req = c.newRequest(op, input, output)
  2617. return
  2618. }
  2619. // CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
  2620. //
  2621. // Creates one or more flow logs to capture IP traffic for a specific network
  2622. // interface, subnet, or VPC. Flow logs are delivered to a specified log group
  2623. // in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
  2624. // a log stream is created in CloudWatch Logs for each network interface in
  2625. // the subnet or VPC. Log streams can include information about accepted and
  2626. // rejected traffic to a network interface. You can view the data in your log
  2627. // streams using Amazon CloudWatch Logs.
  2628. //
  2629. // In your request, you must also specify an IAM role that has permission to
  2630. // publish logs to CloudWatch Logs.
  2631. //
  2632. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2633. // with awserr.Error's Code and Message methods to get detailed information about
  2634. // the error.
  2635. //
  2636. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2637. // API operation CreateFlowLogs for usage and error information.
  2638. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2639. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  2640. req, out := c.CreateFlowLogsRequest(input)
  2641. return out, req.Send()
  2642. }
  2643. // CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
  2644. // the ability to pass a context and additional request options.
  2645. //
  2646. // See CreateFlowLogs for details on how to use this API operation.
  2647. //
  2648. // The context must be non-nil and will be used for request cancellation. If
  2649. // the context is nil a panic will occur. In the future the SDK may create
  2650. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2651. // for more information on using Contexts.
  2652. func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
  2653. req, out := c.CreateFlowLogsRequest(input)
  2654. req.SetContext(ctx)
  2655. req.ApplyOptions(opts...)
  2656. return out, req.Send()
  2657. }
  2658. const opCreateImage = "CreateImage"
  2659. // CreateImageRequest generates a "aws/request.Request" representing the
  2660. // client's request for the CreateImage operation. The "output" return
  2661. // value can be used to capture response data after the request's "Send" method
  2662. // is called.
  2663. //
  2664. // See CreateImage for usage and error information.
  2665. //
  2666. // Creating a request object using this method should be used when you want to inject
  2667. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2668. // access properties on the request object before or after sending the request. If
  2669. // you just want the service response, call the CreateImage method directly
  2670. // instead.
  2671. //
  2672. // Note: You must call the "Send" method on the returned request object in order
  2673. // to execute the request.
  2674. //
  2675. // // Example sending a request using the CreateImageRequest method.
  2676. // req, resp := client.CreateImageRequest(params)
  2677. //
  2678. // err := req.Send()
  2679. // if err == nil { // resp is now filled
  2680. // fmt.Println(resp)
  2681. // }
  2682. //
  2683. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  2684. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  2685. op := &request.Operation{
  2686. Name: opCreateImage,
  2687. HTTPMethod: "POST",
  2688. HTTPPath: "/",
  2689. }
  2690. if input == nil {
  2691. input = &CreateImageInput{}
  2692. }
  2693. output = &CreateImageOutput{}
  2694. req = c.newRequest(op, input, output)
  2695. return
  2696. }
  2697. // CreateImage API operation for Amazon Elastic Compute Cloud.
  2698. //
  2699. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  2700. // is either running or stopped.
  2701. //
  2702. // If you customized your instance with instance store volumes or EBS volumes
  2703. // in addition to the root device volume, the new AMI contains block device
  2704. // mapping information for those volumes. When you launch an instance from this
  2705. // new AMI, the instance automatically launches with those additional volumes.
  2706. //
  2707. // For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  2708. // in the Amazon Elastic Compute Cloud User Guide.
  2709. //
  2710. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2711. // with awserr.Error's Code and Message methods to get detailed information about
  2712. // the error.
  2713. //
  2714. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2715. // API operation CreateImage for usage and error information.
  2716. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  2717. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  2718. req, out := c.CreateImageRequest(input)
  2719. return out, req.Send()
  2720. }
  2721. // CreateImageWithContext is the same as CreateImage with the addition of
  2722. // the ability to pass a context and additional request options.
  2723. //
  2724. // See CreateImage for details on how to use this API operation.
  2725. //
  2726. // The context must be non-nil and will be used for request cancellation. If
  2727. // the context is nil a panic will occur. In the future the SDK may create
  2728. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2729. // for more information on using Contexts.
  2730. func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
  2731. req, out := c.CreateImageRequest(input)
  2732. req.SetContext(ctx)
  2733. req.ApplyOptions(opts...)
  2734. return out, req.Send()
  2735. }
  2736. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  2737. // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
  2738. // client's request for the CreateInstanceExportTask operation. The "output" return
  2739. // value can be used to capture response data after the request's "Send" method
  2740. // is called.
  2741. //
  2742. // See CreateInstanceExportTask for usage and error information.
  2743. //
  2744. // Creating a request object using this method should be used when you want to inject
  2745. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2746. // access properties on the request object before or after sending the request. If
  2747. // you just want the service response, call the CreateInstanceExportTask method directly
  2748. // instead.
  2749. //
  2750. // Note: You must call the "Send" method on the returned request object in order
  2751. // to execute the request.
  2752. //
  2753. // // Example sending a request using the CreateInstanceExportTaskRequest method.
  2754. // req, resp := client.CreateInstanceExportTaskRequest(params)
  2755. //
  2756. // err := req.Send()
  2757. // if err == nil { // resp is now filled
  2758. // fmt.Println(resp)
  2759. // }
  2760. //
  2761. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  2762. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  2763. op := &request.Operation{
  2764. Name: opCreateInstanceExportTask,
  2765. HTTPMethod: "POST",
  2766. HTTPPath: "/",
  2767. }
  2768. if input == nil {
  2769. input = &CreateInstanceExportTaskInput{}
  2770. }
  2771. output = &CreateInstanceExportTaskOutput{}
  2772. req = c.newRequest(op, input, output)
  2773. return
  2774. }
  2775. // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
  2776. //
  2777. // Exports a running or stopped instance to an S3 bucket.
  2778. //
  2779. // For information about the supported operating systems, image formats, and
  2780. // known limitations for the types of instances you can export, see Exporting
  2781. // an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
  2782. // in the VM Import/Export User Guide.
  2783. //
  2784. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2785. // with awserr.Error's Code and Message methods to get detailed information about
  2786. // the error.
  2787. //
  2788. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2789. // API operation CreateInstanceExportTask for usage and error information.
  2790. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  2791. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  2792. req, out := c.CreateInstanceExportTaskRequest(input)
  2793. return out, req.Send()
  2794. }
  2795. // CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
  2796. // the ability to pass a context and additional request options.
  2797. //
  2798. // See CreateInstanceExportTask for details on how to use this API operation.
  2799. //
  2800. // The context must be non-nil and will be used for request cancellation. If
  2801. // the context is nil a panic will occur. In the future the SDK may create
  2802. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2803. // for more information on using Contexts.
  2804. func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
  2805. req, out := c.CreateInstanceExportTaskRequest(input)
  2806. req.SetContext(ctx)
  2807. req.ApplyOptions(opts...)
  2808. return out, req.Send()
  2809. }
  2810. const opCreateInternetGateway = "CreateInternetGateway"
  2811. // CreateInternetGatewayRequest generates a "aws/request.Request" representing the
  2812. // client's request for the CreateInternetGateway operation. The "output" return
  2813. // value can be used to capture response data after the request's "Send" method
  2814. // is called.
  2815. //
  2816. // See CreateInternetGateway for usage and error information.
  2817. //
  2818. // Creating a request object using this method should be used when you want to inject
  2819. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2820. // access properties on the request object before or after sending the request. If
  2821. // you just want the service response, call the CreateInternetGateway method directly
  2822. // instead.
  2823. //
  2824. // Note: You must call the "Send" method on the returned request object in order
  2825. // to execute the request.
  2826. //
  2827. // // Example sending a request using the CreateInternetGatewayRequest method.
  2828. // req, resp := client.CreateInternetGatewayRequest(params)
  2829. //
  2830. // err := req.Send()
  2831. // if err == nil { // resp is now filled
  2832. // fmt.Println(resp)
  2833. // }
  2834. //
  2835. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  2836. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  2837. op := &request.Operation{
  2838. Name: opCreateInternetGateway,
  2839. HTTPMethod: "POST",
  2840. HTTPPath: "/",
  2841. }
  2842. if input == nil {
  2843. input = &CreateInternetGatewayInput{}
  2844. }
  2845. output = &CreateInternetGatewayOutput{}
  2846. req = c.newRequest(op, input, output)
  2847. return
  2848. }
  2849. // CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
  2850. //
  2851. // Creates an Internet gateway for use with a VPC. After creating the Internet
  2852. // gateway, you attach it to a VPC using AttachInternetGateway.
  2853. //
  2854. // For more information about your VPC and Internet gateway, see the Amazon
  2855. // Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  2856. //
  2857. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2858. // with awserr.Error's Code and Message methods to get detailed information about
  2859. // the error.
  2860. //
  2861. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2862. // API operation CreateInternetGateway for usage and error information.
  2863. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  2864. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  2865. req, out := c.CreateInternetGatewayRequest(input)
  2866. return out, req.Send()
  2867. }
  2868. // CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
  2869. // the ability to pass a context and additional request options.
  2870. //
  2871. // See CreateInternetGateway for details on how to use this API operation.
  2872. //
  2873. // The context must be non-nil and will be used for request cancellation. If
  2874. // the context is nil a panic will occur. In the future the SDK may create
  2875. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2876. // for more information on using Contexts.
  2877. func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
  2878. req, out := c.CreateInternetGatewayRequest(input)
  2879. req.SetContext(ctx)
  2880. req.ApplyOptions(opts...)
  2881. return out, req.Send()
  2882. }
  2883. const opCreateKeyPair = "CreateKeyPair"
  2884. // CreateKeyPairRequest generates a "aws/request.Request" representing the
  2885. // client's request for the CreateKeyPair operation. The "output" return
  2886. // value can be used to capture response data after the request's "Send" method
  2887. // is called.
  2888. //
  2889. // See CreateKeyPair for usage and error information.
  2890. //
  2891. // Creating a request object using this method should be used when you want to inject
  2892. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2893. // access properties on the request object before or after sending the request. If
  2894. // you just want the service response, call the CreateKeyPair method directly
  2895. // instead.
  2896. //
  2897. // Note: You must call the "Send" method on the returned request object in order
  2898. // to execute the request.
  2899. //
  2900. // // Example sending a request using the CreateKeyPairRequest method.
  2901. // req, resp := client.CreateKeyPairRequest(params)
  2902. //
  2903. // err := req.Send()
  2904. // if err == nil { // resp is now filled
  2905. // fmt.Println(resp)
  2906. // }
  2907. //
  2908. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  2909. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  2910. op := &request.Operation{
  2911. Name: opCreateKeyPair,
  2912. HTTPMethod: "POST",
  2913. HTTPPath: "/",
  2914. }
  2915. if input == nil {
  2916. input = &CreateKeyPairInput{}
  2917. }
  2918. output = &CreateKeyPairOutput{}
  2919. req = c.newRequest(op, input, output)
  2920. return
  2921. }
  2922. // CreateKeyPair API operation for Amazon Elastic Compute Cloud.
  2923. //
  2924. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  2925. // the public key and displays the private key for you to save to a file. The
  2926. // private key is returned as an unencrypted PEM encoded PKCS#8 private key.
  2927. // If a key with the specified name already exists, Amazon EC2 returns an error.
  2928. //
  2929. // You can have up to five thousand key pairs per region.
  2930. //
  2931. // The key pair returned to you is available only in the region in which you
  2932. // create it. To create a key pair that is available in all regions, use ImportKeyPair.
  2933. //
  2934. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  2935. // in the Amazon Elastic Compute Cloud User Guide.
  2936. //
  2937. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2938. // with awserr.Error's Code and Message methods to get detailed information about
  2939. // the error.
  2940. //
  2941. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2942. // API operation CreateKeyPair for usage and error information.
  2943. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  2944. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  2945. req, out := c.CreateKeyPairRequest(input)
  2946. return out, req.Send()
  2947. }
  2948. // CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
  2949. // the ability to pass a context and additional request options.
  2950. //
  2951. // See CreateKeyPair for details on how to use this API operation.
  2952. //
  2953. // The context must be non-nil and will be used for request cancellation. If
  2954. // the context is nil a panic will occur. In the future the SDK may create
  2955. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2956. // for more information on using Contexts.
  2957. func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
  2958. req, out := c.CreateKeyPairRequest(input)
  2959. req.SetContext(ctx)
  2960. req.ApplyOptions(opts...)
  2961. return out, req.Send()
  2962. }
  2963. const opCreateNatGateway = "CreateNatGateway"
  2964. // CreateNatGatewayRequest generates a "aws/request.Request" representing the
  2965. // client's request for the CreateNatGateway operation. The "output" return
  2966. // value can be used to capture response data after the request's "Send" method
  2967. // is called.
  2968. //
  2969. // See CreateNatGateway for usage and error information.
  2970. //
  2971. // Creating a request object using this method should be used when you want to inject
  2972. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2973. // access properties on the request object before or after sending the request. If
  2974. // you just want the service response, call the CreateNatGateway method directly
  2975. // instead.
  2976. //
  2977. // Note: You must call the "Send" method on the returned request object in order
  2978. // to execute the request.
  2979. //
  2980. // // Example sending a request using the CreateNatGatewayRequest method.
  2981. // req, resp := client.CreateNatGatewayRequest(params)
  2982. //
  2983. // err := req.Send()
  2984. // if err == nil { // resp is now filled
  2985. // fmt.Println(resp)
  2986. // }
  2987. //
  2988. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  2989. func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
  2990. op := &request.Operation{
  2991. Name: opCreateNatGateway,
  2992. HTTPMethod: "POST",
  2993. HTTPPath: "/",
  2994. }
  2995. if input == nil {
  2996. input = &CreateNatGatewayInput{}
  2997. }
  2998. output = &CreateNatGatewayOutput{}
  2999. req = c.newRequest(op, input, output)
  3000. return
  3001. }
  3002. // CreateNatGateway API operation for Amazon Elastic Compute Cloud.
  3003. //
  3004. // Creates a NAT gateway in the specified subnet. A NAT gateway can be used
  3005. // to enable instances in a private subnet to connect to the Internet. This
  3006. // action creates a network interface in the specified subnet with a private
  3007. // IP address from the IP address range of the subnet. For more information,
  3008. // see NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
  3009. // in the Amazon Virtual Private Cloud User Guide.
  3010. //
  3011. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3012. // with awserr.Error's Code and Message methods to get detailed information about
  3013. // the error.
  3014. //
  3015. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3016. // API operation CreateNatGateway for usage and error information.
  3017. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  3018. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
  3019. req, out := c.CreateNatGatewayRequest(input)
  3020. return out, req.Send()
  3021. }
  3022. // CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
  3023. // the ability to pass a context and additional request options.
  3024. //
  3025. // See CreateNatGateway for details on how to use this API operation.
  3026. //
  3027. // The context must be non-nil and will be used for request cancellation. If
  3028. // the context is nil a panic will occur. In the future the SDK may create
  3029. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3030. // for more information on using Contexts.
  3031. func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
  3032. req, out := c.CreateNatGatewayRequest(input)
  3033. req.SetContext(ctx)
  3034. req.ApplyOptions(opts...)
  3035. return out, req.Send()
  3036. }
  3037. const opCreateNetworkAcl = "CreateNetworkAcl"
  3038. // CreateNetworkAclRequest generates a "aws/request.Request" representing the
  3039. // client's request for the CreateNetworkAcl operation. The "output" return
  3040. // value can be used to capture response data after the request's "Send" method
  3041. // is called.
  3042. //
  3043. // See CreateNetworkAcl for usage and error information.
  3044. //
  3045. // Creating a request object using this method should be used when you want to inject
  3046. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3047. // access properties on the request object before or after sending the request. If
  3048. // you just want the service response, call the CreateNetworkAcl method directly
  3049. // instead.
  3050. //
  3051. // Note: You must call the "Send" method on the returned request object in order
  3052. // to execute the request.
  3053. //
  3054. // // Example sending a request using the CreateNetworkAclRequest method.
  3055. // req, resp := client.CreateNetworkAclRequest(params)
  3056. //
  3057. // err := req.Send()
  3058. // if err == nil { // resp is now filled
  3059. // fmt.Println(resp)
  3060. // }
  3061. //
  3062. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3063. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  3064. op := &request.Operation{
  3065. Name: opCreateNetworkAcl,
  3066. HTTPMethod: "POST",
  3067. HTTPPath: "/",
  3068. }
  3069. if input == nil {
  3070. input = &CreateNetworkAclInput{}
  3071. }
  3072. output = &CreateNetworkAclOutput{}
  3073. req = c.newRequest(op, input, output)
  3074. return
  3075. }
  3076. // CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
  3077. //
  3078. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  3079. // security (in addition to security groups) for the instances in your VPC.
  3080. //
  3081. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3082. // in the Amazon Virtual Private Cloud User Guide.
  3083. //
  3084. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3085. // with awserr.Error's Code and Message methods to get detailed information about
  3086. // the error.
  3087. //
  3088. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3089. // API operation CreateNetworkAcl for usage and error information.
  3090. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3091. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  3092. req, out := c.CreateNetworkAclRequest(input)
  3093. return out, req.Send()
  3094. }
  3095. // CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
  3096. // the ability to pass a context and additional request options.
  3097. //
  3098. // See CreateNetworkAcl for details on how to use this API operation.
  3099. //
  3100. // The context must be non-nil and will be used for request cancellation. If
  3101. // the context is nil a panic will occur. In the future the SDK may create
  3102. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3103. // for more information on using Contexts.
  3104. func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
  3105. req, out := c.CreateNetworkAclRequest(input)
  3106. req.SetContext(ctx)
  3107. req.ApplyOptions(opts...)
  3108. return out, req.Send()
  3109. }
  3110. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  3111. // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
  3112. // client's request for the CreateNetworkAclEntry operation. The "output" return
  3113. // value can be used to capture response data after the request's "Send" method
  3114. // is called.
  3115. //
  3116. // See CreateNetworkAclEntry for usage and error information.
  3117. //
  3118. // Creating a request object using this method should be used when you want to inject
  3119. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3120. // access properties on the request object before or after sending the request. If
  3121. // you just want the service response, call the CreateNetworkAclEntry method directly
  3122. // instead.
  3123. //
  3124. // Note: You must call the "Send" method on the returned request object in order
  3125. // to execute the request.
  3126. //
  3127. // // Example sending a request using the CreateNetworkAclEntryRequest method.
  3128. // req, resp := client.CreateNetworkAclEntryRequest(params)
  3129. //
  3130. // err := req.Send()
  3131. // if err == nil { // resp is now filled
  3132. // fmt.Println(resp)
  3133. // }
  3134. //
  3135. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3136. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  3137. op := &request.Operation{
  3138. Name: opCreateNetworkAclEntry,
  3139. HTTPMethod: "POST",
  3140. HTTPPath: "/",
  3141. }
  3142. if input == nil {
  3143. input = &CreateNetworkAclEntryInput{}
  3144. }
  3145. output = &CreateNetworkAclEntryOutput{}
  3146. req = c.newRequest(op, input, output)
  3147. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3148. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3149. return
  3150. }
  3151. // CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  3152. //
  3153. // Creates an entry (a rule) in a network ACL with the specified rule number.
  3154. // Each network ACL has a set of numbered ingress rules and a separate set of
  3155. // numbered egress rules. When determining whether a packet should be allowed
  3156. // in or out of a subnet associated with the ACL, we process the entries in
  3157. // the ACL according to the rule numbers, in ascending order. Each network ACL
  3158. // has a set of ingress rules and a separate set of egress rules.
  3159. //
  3160. // We recommend that you leave room between the rule numbers (for example, 100,
  3161. // 110, 120, ...), and not number them one right after the other (for example,
  3162. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  3163. // ones without having to renumber the rules.
  3164. //
  3165. // After you add an entry, you can't modify it; you must either replace it,
  3166. // or create an entry and delete the old one.
  3167. //
  3168. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3169. // in the Amazon Virtual Private Cloud User Guide.
  3170. //
  3171. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3172. // with awserr.Error's Code and Message methods to get detailed information about
  3173. // the error.
  3174. //
  3175. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3176. // API operation CreateNetworkAclEntry for usage and error information.
  3177. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3178. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  3179. req, out := c.CreateNetworkAclEntryRequest(input)
  3180. return out, req.Send()
  3181. }
  3182. // CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
  3183. // the ability to pass a context and additional request options.
  3184. //
  3185. // See CreateNetworkAclEntry for details on how to use this API operation.
  3186. //
  3187. // The context must be non-nil and will be used for request cancellation. If
  3188. // the context is nil a panic will occur. In the future the SDK may create
  3189. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3190. // for more information on using Contexts.
  3191. func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
  3192. req, out := c.CreateNetworkAclEntryRequest(input)
  3193. req.SetContext(ctx)
  3194. req.ApplyOptions(opts...)
  3195. return out, req.Send()
  3196. }
  3197. const opCreateNetworkInterface = "CreateNetworkInterface"
  3198. // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
  3199. // client's request for the CreateNetworkInterface operation. The "output" return
  3200. // value can be used to capture response data after the request's "Send" method
  3201. // is called.
  3202. //
  3203. // See CreateNetworkInterface for usage and error information.
  3204. //
  3205. // Creating a request object using this method should be used when you want to inject
  3206. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3207. // access properties on the request object before or after sending the request. If
  3208. // you just want the service response, call the CreateNetworkInterface method directly
  3209. // instead.
  3210. //
  3211. // Note: You must call the "Send" method on the returned request object in order
  3212. // to execute the request.
  3213. //
  3214. // // Example sending a request using the CreateNetworkInterfaceRequest method.
  3215. // req, resp := client.CreateNetworkInterfaceRequest(params)
  3216. //
  3217. // err := req.Send()
  3218. // if err == nil { // resp is now filled
  3219. // fmt.Println(resp)
  3220. // }
  3221. //
  3222. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3223. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  3224. op := &request.Operation{
  3225. Name: opCreateNetworkInterface,
  3226. HTTPMethod: "POST",
  3227. HTTPPath: "/",
  3228. }
  3229. if input == nil {
  3230. input = &CreateNetworkInterfaceInput{}
  3231. }
  3232. output = &CreateNetworkInterfaceOutput{}
  3233. req = c.newRequest(op, input, output)
  3234. return
  3235. }
  3236. // CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
  3237. //
  3238. // Creates a network interface in the specified subnet.
  3239. //
  3240. // For more information about network interfaces, see Elastic Network Interfaces
  3241. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  3242. // Amazon Virtual Private Cloud User Guide.
  3243. //
  3244. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3245. // with awserr.Error's Code and Message methods to get detailed information about
  3246. // the error.
  3247. //
  3248. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3249. // API operation CreateNetworkInterface for usage and error information.
  3250. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3251. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  3252. req, out := c.CreateNetworkInterfaceRequest(input)
  3253. return out, req.Send()
  3254. }
  3255. // CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
  3256. // the ability to pass a context and additional request options.
  3257. //
  3258. // See CreateNetworkInterface for details on how to use this API operation.
  3259. //
  3260. // The context must be non-nil and will be used for request cancellation. If
  3261. // the context is nil a panic will occur. In the future the SDK may create
  3262. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3263. // for more information on using Contexts.
  3264. func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
  3265. req, out := c.CreateNetworkInterfaceRequest(input)
  3266. req.SetContext(ctx)
  3267. req.ApplyOptions(opts...)
  3268. return out, req.Send()
  3269. }
  3270. const opCreatePlacementGroup = "CreatePlacementGroup"
  3271. // CreatePlacementGroupRequest generates a "aws/request.Request" representing the
  3272. // client's request for the CreatePlacementGroup operation. The "output" return
  3273. // value can be used to capture response data after the request's "Send" method
  3274. // is called.
  3275. //
  3276. // See CreatePlacementGroup for usage and error information.
  3277. //
  3278. // Creating a request object using this method should be used when you want to inject
  3279. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3280. // access properties on the request object before or after sending the request. If
  3281. // you just want the service response, call the CreatePlacementGroup method directly
  3282. // instead.
  3283. //
  3284. // Note: You must call the "Send" method on the returned request object in order
  3285. // to execute the request.
  3286. //
  3287. // // Example sending a request using the CreatePlacementGroupRequest method.
  3288. // req, resp := client.CreatePlacementGroupRequest(params)
  3289. //
  3290. // err := req.Send()
  3291. // if err == nil { // resp is now filled
  3292. // fmt.Println(resp)
  3293. // }
  3294. //
  3295. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3296. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  3297. op := &request.Operation{
  3298. Name: opCreatePlacementGroup,
  3299. HTTPMethod: "POST",
  3300. HTTPPath: "/",
  3301. }
  3302. if input == nil {
  3303. input = &CreatePlacementGroupInput{}
  3304. }
  3305. output = &CreatePlacementGroupOutput{}
  3306. req = c.newRequest(op, input, output)
  3307. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3308. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3309. return
  3310. }
  3311. // CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
  3312. //
  3313. // Creates a placement group that you launch cluster instances into. You must
  3314. // give the group a name that's unique within the scope of your account.
  3315. //
  3316. // For more information about placement groups and cluster instances, see Cluster
  3317. // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  3318. // in the Amazon Elastic Compute Cloud User Guide.
  3319. //
  3320. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3321. // with awserr.Error's Code and Message methods to get detailed information about
  3322. // the error.
  3323. //
  3324. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3325. // API operation CreatePlacementGroup for usage and error information.
  3326. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3327. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  3328. req, out := c.CreatePlacementGroupRequest(input)
  3329. return out, req.Send()
  3330. }
  3331. // CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
  3332. // the ability to pass a context and additional request options.
  3333. //
  3334. // See CreatePlacementGroup for details on how to use this API operation.
  3335. //
  3336. // The context must be non-nil and will be used for request cancellation. If
  3337. // the context is nil a panic will occur. In the future the SDK may create
  3338. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3339. // for more information on using Contexts.
  3340. func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
  3341. req, out := c.CreatePlacementGroupRequest(input)
  3342. req.SetContext(ctx)
  3343. req.ApplyOptions(opts...)
  3344. return out, req.Send()
  3345. }
  3346. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  3347. // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
  3348. // client's request for the CreateReservedInstancesListing operation. The "output" return
  3349. // value can be used to capture response data after the request's "Send" method
  3350. // is called.
  3351. //
  3352. // See CreateReservedInstancesListing for usage and error information.
  3353. //
  3354. // Creating a request object using this method should be used when you want to inject
  3355. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3356. // access properties on the request object before or after sending the request. If
  3357. // you just want the service response, call the CreateReservedInstancesListing method directly
  3358. // instead.
  3359. //
  3360. // Note: You must call the "Send" method on the returned request object in order
  3361. // to execute the request.
  3362. //
  3363. // // Example sending a request using the CreateReservedInstancesListingRequest method.
  3364. // req, resp := client.CreateReservedInstancesListingRequest(params)
  3365. //
  3366. // err := req.Send()
  3367. // if err == nil { // resp is now filled
  3368. // fmt.Println(resp)
  3369. // }
  3370. //
  3371. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  3372. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  3373. op := &request.Operation{
  3374. Name: opCreateReservedInstancesListing,
  3375. HTTPMethod: "POST",
  3376. HTTPPath: "/",
  3377. }
  3378. if input == nil {
  3379. input = &CreateReservedInstancesListingInput{}
  3380. }
  3381. output = &CreateReservedInstancesListingOutput{}
  3382. req = c.newRequest(op, input, output)
  3383. return
  3384. }
  3385. // CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  3386. //
  3387. // Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
  3388. // the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
  3389. // listing at a time. To get a list of your Standard Reserved Instances, you
  3390. // can use the DescribeReservedInstances operation.
  3391. //
  3392. // Only Standard Reserved Instances with a capacity reservation can be sold
  3393. // in the Reserved Instance Marketplace. Convertible Reserved Instances and
  3394. // Standard Reserved Instances with a regional benefit cannot be sold.
  3395. //
  3396. // The Reserved Instance Marketplace matches sellers who want to resell Standard
  3397. // Reserved Instance capacity that they no longer need with buyers who want
  3398. // to purchase additional capacity. Reserved Instances bought and sold through
  3399. // the Reserved Instance Marketplace work like any other Reserved Instances.
  3400. //
  3401. // To sell your Standard Reserved Instances, you must first register as a seller
  3402. // in the Reserved Instance Marketplace. After completing the registration process,
  3403. // you can create a Reserved Instance Marketplace listing of some or all of
  3404. // your Standard Reserved Instances, and specify the upfront price to receive
  3405. // for them. Your Standard Reserved Instance listings then become available
  3406. // for purchase. To view the details of your Standard Reserved Instance listing,
  3407. // you can use the DescribeReservedInstancesListings operation.
  3408. //
  3409. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  3410. // in the Amazon Elastic Compute Cloud User Guide.
  3411. //
  3412. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3413. // with awserr.Error's Code and Message methods to get detailed information about
  3414. // the error.
  3415. //
  3416. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3417. // API operation CreateReservedInstancesListing for usage and error information.
  3418. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  3419. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  3420. req, out := c.CreateReservedInstancesListingRequest(input)
  3421. return out, req.Send()
  3422. }
  3423. // CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
  3424. // the ability to pass a context and additional request options.
  3425. //
  3426. // See CreateReservedInstancesListing for details on how to use this API operation.
  3427. //
  3428. // The context must be non-nil and will be used for request cancellation. If
  3429. // the context is nil a panic will occur. In the future the SDK may create
  3430. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3431. // for more information on using Contexts.
  3432. func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
  3433. req, out := c.CreateReservedInstancesListingRequest(input)
  3434. req.SetContext(ctx)
  3435. req.ApplyOptions(opts...)
  3436. return out, req.Send()
  3437. }
  3438. const opCreateRoute = "CreateRoute"
  3439. // CreateRouteRequest generates a "aws/request.Request" representing the
  3440. // client's request for the CreateRoute operation. The "output" return
  3441. // value can be used to capture response data after the request's "Send" method
  3442. // is called.
  3443. //
  3444. // See CreateRoute for usage and error information.
  3445. //
  3446. // Creating a request object using this method should be used when you want to inject
  3447. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3448. // access properties on the request object before or after sending the request. If
  3449. // you just want the service response, call the CreateRoute method directly
  3450. // instead.
  3451. //
  3452. // Note: You must call the "Send" method on the returned request object in order
  3453. // to execute the request.
  3454. //
  3455. // // Example sending a request using the CreateRouteRequest method.
  3456. // req, resp := client.CreateRouteRequest(params)
  3457. //
  3458. // err := req.Send()
  3459. // if err == nil { // resp is now filled
  3460. // fmt.Println(resp)
  3461. // }
  3462. //
  3463. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  3464. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  3465. op := &request.Operation{
  3466. Name: opCreateRoute,
  3467. HTTPMethod: "POST",
  3468. HTTPPath: "/",
  3469. }
  3470. if input == nil {
  3471. input = &CreateRouteInput{}
  3472. }
  3473. output = &CreateRouteOutput{}
  3474. req = c.newRequest(op, input, output)
  3475. return
  3476. }
  3477. // CreateRoute API operation for Amazon Elastic Compute Cloud.
  3478. //
  3479. // Creates a route in a route table within a VPC.
  3480. //
  3481. // You must specify one of the following targets: Internet gateway or virtual
  3482. // private gateway, NAT instance, NAT gateway, VPC peering connection, network
  3483. // interface, or egress-only Internet gateway.
  3484. //
  3485. // When determining how to route traffic, we use the route with the most specific
  3486. // match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
  3487. // the route table includes the following two IPv4 routes:
  3488. //
  3489. // * 192.0.2.0/24 (goes to some target A)
  3490. //
  3491. // * 192.0.2.0/28 (goes to some target B)
  3492. //
  3493. // Both routes apply to the traffic destined for 192.0.2.3. However, the second
  3494. // route in the list covers a smaller number of IP addresses and is therefore
  3495. // more specific, so we use that route to determine where to target the traffic.
  3496. //
  3497. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  3498. // in the Amazon Virtual Private Cloud User Guide.
  3499. //
  3500. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3501. // with awserr.Error's Code and Message methods to get detailed information about
  3502. // the error.
  3503. //
  3504. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3505. // API operation CreateRoute for usage and error information.
  3506. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  3507. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  3508. req, out := c.CreateRouteRequest(input)
  3509. return out, req.Send()
  3510. }
  3511. // CreateRouteWithContext is the same as CreateRoute with the addition of
  3512. // the ability to pass a context and additional request options.
  3513. //
  3514. // See CreateRoute for details on how to use this API operation.
  3515. //
  3516. // The context must be non-nil and will be used for request cancellation. If
  3517. // the context is nil a panic will occur. In the future the SDK may create
  3518. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3519. // for more information on using Contexts.
  3520. func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
  3521. req, out := c.CreateRouteRequest(input)
  3522. req.SetContext(ctx)
  3523. req.ApplyOptions(opts...)
  3524. return out, req.Send()
  3525. }
  3526. const opCreateRouteTable = "CreateRouteTable"
  3527. // CreateRouteTableRequest generates a "aws/request.Request" representing the
  3528. // client's request for the CreateRouteTable operation. The "output" return
  3529. // value can be used to capture response data after the request's "Send" method
  3530. // is called.
  3531. //
  3532. // See CreateRouteTable for usage and error information.
  3533. //
  3534. // Creating a request object using this method should be used when you want to inject
  3535. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3536. // access properties on the request object before or after sending the request. If
  3537. // you just want the service response, call the CreateRouteTable method directly
  3538. // instead.
  3539. //
  3540. // Note: You must call the "Send" method on the returned request object in order
  3541. // to execute the request.
  3542. //
  3543. // // Example sending a request using the CreateRouteTableRequest method.
  3544. // req, resp := client.CreateRouteTableRequest(params)
  3545. //
  3546. // err := req.Send()
  3547. // if err == nil { // resp is now filled
  3548. // fmt.Println(resp)
  3549. // }
  3550. //
  3551. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  3552. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  3553. op := &request.Operation{
  3554. Name: opCreateRouteTable,
  3555. HTTPMethod: "POST",
  3556. HTTPPath: "/",
  3557. }
  3558. if input == nil {
  3559. input = &CreateRouteTableInput{}
  3560. }
  3561. output = &CreateRouteTableOutput{}
  3562. req = c.newRequest(op, input, output)
  3563. return
  3564. }
  3565. // CreateRouteTable API operation for Amazon Elastic Compute Cloud.
  3566. //
  3567. // Creates a route table for the specified VPC. After you create a route table,
  3568. // you can add routes and associate the table with a subnet.
  3569. //
  3570. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  3571. // in the Amazon Virtual Private Cloud User Guide.
  3572. //
  3573. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3574. // with awserr.Error's Code and Message methods to get detailed information about
  3575. // the error.
  3576. //
  3577. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3578. // API operation CreateRouteTable for usage and error information.
  3579. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  3580. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  3581. req, out := c.CreateRouteTableRequest(input)
  3582. return out, req.Send()
  3583. }
  3584. // CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
  3585. // the ability to pass a context and additional request options.
  3586. //
  3587. // See CreateRouteTable for details on how to use this API operation.
  3588. //
  3589. // The context must be non-nil and will be used for request cancellation. If
  3590. // the context is nil a panic will occur. In the future the SDK may create
  3591. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3592. // for more information on using Contexts.
  3593. func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
  3594. req, out := c.CreateRouteTableRequest(input)
  3595. req.SetContext(ctx)
  3596. req.ApplyOptions(opts...)
  3597. return out, req.Send()
  3598. }
  3599. const opCreateSecurityGroup = "CreateSecurityGroup"
  3600. // CreateSecurityGroupRequest generates a "aws/request.Request" representing the
  3601. // client's request for the CreateSecurityGroup operation. The "output" return
  3602. // value can be used to capture response data after the request's "Send" method
  3603. // is called.
  3604. //
  3605. // See CreateSecurityGroup for usage and error information.
  3606. //
  3607. // Creating a request object using this method should be used when you want to inject
  3608. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3609. // access properties on the request object before or after sending the request. If
  3610. // you just want the service response, call the CreateSecurityGroup method directly
  3611. // instead.
  3612. //
  3613. // Note: You must call the "Send" method on the returned request object in order
  3614. // to execute the request.
  3615. //
  3616. // // Example sending a request using the CreateSecurityGroupRequest method.
  3617. // req, resp := client.CreateSecurityGroupRequest(params)
  3618. //
  3619. // err := req.Send()
  3620. // if err == nil { // resp is now filled
  3621. // fmt.Println(resp)
  3622. // }
  3623. //
  3624. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  3625. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  3626. op := &request.Operation{
  3627. Name: opCreateSecurityGroup,
  3628. HTTPMethod: "POST",
  3629. HTTPPath: "/",
  3630. }
  3631. if input == nil {
  3632. input = &CreateSecurityGroupInput{}
  3633. }
  3634. output = &CreateSecurityGroupOutput{}
  3635. req = c.newRequest(op, input, output)
  3636. return
  3637. }
  3638. // CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
  3639. //
  3640. // Creates a security group.
  3641. //
  3642. // A security group is for use with instances either in the EC2-Classic platform
  3643. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  3644. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  3645. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  3646. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  3647. // in the Amazon Virtual Private Cloud User Guide.
  3648. //
  3649. // EC2-Classic: You can have up to 500 security groups.
  3650. //
  3651. // EC2-VPC: You can create up to 500 security groups per VPC.
  3652. //
  3653. // When you create a security group, you specify a friendly name of your choice.
  3654. // You can have a security group for use in EC2-Classic with the same name as
  3655. // a security group for use in a VPC. However, you can't have two security groups
  3656. // for use in EC2-Classic with the same name or two security groups for use
  3657. // in a VPC with the same name.
  3658. //
  3659. // You have a default security group for use in EC2-Classic and a default security
  3660. // group for use in your VPC. If you don't specify a security group when you
  3661. // launch an instance, the instance is launched into the appropriate default
  3662. // security group. A default security group includes a default rule that grants
  3663. // instances unrestricted network access to each other.
  3664. //
  3665. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  3666. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  3667. //
  3668. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3669. // with awserr.Error's Code and Message methods to get detailed information about
  3670. // the error.
  3671. //
  3672. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3673. // API operation CreateSecurityGroup for usage and error information.
  3674. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  3675. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  3676. req, out := c.CreateSecurityGroupRequest(input)
  3677. return out, req.Send()
  3678. }
  3679. // CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
  3680. // the ability to pass a context and additional request options.
  3681. //
  3682. // See CreateSecurityGroup for details on how to use this API operation.
  3683. //
  3684. // The context must be non-nil and will be used for request cancellation. If
  3685. // the context is nil a panic will occur. In the future the SDK may create
  3686. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3687. // for more information on using Contexts.
  3688. func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
  3689. req, out := c.CreateSecurityGroupRequest(input)
  3690. req.SetContext(ctx)
  3691. req.ApplyOptions(opts...)
  3692. return out, req.Send()
  3693. }
  3694. const opCreateSnapshot = "CreateSnapshot"
  3695. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  3696. // client's request for the CreateSnapshot operation. The "output" return
  3697. // value can be used to capture response data after the request's "Send" method
  3698. // is called.
  3699. //
  3700. // See CreateSnapshot for usage and error information.
  3701. //
  3702. // Creating a request object using this method should be used when you want to inject
  3703. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3704. // access properties on the request object before or after sending the request. If
  3705. // you just want the service response, call the CreateSnapshot method directly
  3706. // instead.
  3707. //
  3708. // Note: You must call the "Send" method on the returned request object in order
  3709. // to execute the request.
  3710. //
  3711. // // Example sending a request using the CreateSnapshotRequest method.
  3712. // req, resp := client.CreateSnapshotRequest(params)
  3713. //
  3714. // err := req.Send()
  3715. // if err == nil { // resp is now filled
  3716. // fmt.Println(resp)
  3717. // }
  3718. //
  3719. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  3720. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  3721. op := &request.Operation{
  3722. Name: opCreateSnapshot,
  3723. HTTPMethod: "POST",
  3724. HTTPPath: "/",
  3725. }
  3726. if input == nil {
  3727. input = &CreateSnapshotInput{}
  3728. }
  3729. output = &Snapshot{}
  3730. req = c.newRequest(op, input, output)
  3731. return
  3732. }
  3733. // CreateSnapshot API operation for Amazon Elastic Compute Cloud.
  3734. //
  3735. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  3736. // snapshots for backups, to make copies of EBS volumes, and to save data before
  3737. // shutting down an instance.
  3738. //
  3739. // When a snapshot is created, any AWS Marketplace product codes that are associated
  3740. // with the source volume are propagated to the snapshot.
  3741. //
  3742. // You can take a snapshot of an attached volume that is in use. However, snapshots
  3743. // only capture data that has been written to your EBS volume at the time the
  3744. // snapshot command is issued; this may exclude any data that has been cached
  3745. // by any applications or the operating system. If you can pause any file systems
  3746. // on the volume long enough to take a snapshot, your snapshot should be complete.
  3747. // However, if you cannot pause all file writes to the volume, you should unmount
  3748. // the volume from within the instance, issue the snapshot command, and then
  3749. // remount the volume to ensure a consistent and complete snapshot. You may
  3750. // remount and use your volume while the snapshot status is pending.
  3751. //
  3752. // To create a snapshot for EBS volumes that serve as root devices, you should
  3753. // stop the instance before taking the snapshot.
  3754. //
  3755. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  3756. // Volumes that are created from encrypted snapshots are also automatically
  3757. // encrypted. Your encrypted volumes and any associated snapshots always remain
  3758. // protected.
  3759. //
  3760. // For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  3761. // and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  3762. // in the Amazon Elastic Compute Cloud User Guide.
  3763. //
  3764. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3765. // with awserr.Error's Code and Message methods to get detailed information about
  3766. // the error.
  3767. //
  3768. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3769. // API operation CreateSnapshot for usage and error information.
  3770. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  3771. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  3772. req, out := c.CreateSnapshotRequest(input)
  3773. return out, req.Send()
  3774. }
  3775. // CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
  3776. // the ability to pass a context and additional request options.
  3777. //
  3778. // See CreateSnapshot for details on how to use this API operation.
  3779. //
  3780. // The context must be non-nil and will be used for request cancellation. If
  3781. // the context is nil a panic will occur. In the future the SDK may create
  3782. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3783. // for more information on using Contexts.
  3784. func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
  3785. req, out := c.CreateSnapshotRequest(input)
  3786. req.SetContext(ctx)
  3787. req.ApplyOptions(opts...)
  3788. return out, req.Send()
  3789. }
  3790. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  3791. // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  3792. // client's request for the CreateSpotDatafeedSubscription operation. The "output" return
  3793. // value can be used to capture response data after the request's "Send" method
  3794. // is called.
  3795. //
  3796. // See CreateSpotDatafeedSubscription for usage and error information.
  3797. //
  3798. // Creating a request object using this method should be used when you want to inject
  3799. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3800. // access properties on the request object before or after sending the request. If
  3801. // you just want the service response, call the CreateSpotDatafeedSubscription method directly
  3802. // instead.
  3803. //
  3804. // Note: You must call the "Send" method on the returned request object in order
  3805. // to execute the request.
  3806. //
  3807. // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
  3808. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
  3809. //
  3810. // err := req.Send()
  3811. // if err == nil { // resp is now filled
  3812. // fmt.Println(resp)
  3813. // }
  3814. //
  3815. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  3816. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  3817. op := &request.Operation{
  3818. Name: opCreateSpotDatafeedSubscription,
  3819. HTTPMethod: "POST",
  3820. HTTPPath: "/",
  3821. }
  3822. if input == nil {
  3823. input = &CreateSpotDatafeedSubscriptionInput{}
  3824. }
  3825. output = &CreateSpotDatafeedSubscriptionOutput{}
  3826. req = c.newRequest(op, input, output)
  3827. return
  3828. }
  3829. // CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  3830. //
  3831. // Creates a data feed for Spot instances, enabling you to view Spot instance
  3832. // usage logs. You can create one data feed per AWS account. For more information,
  3833. // see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  3834. // in the Amazon Elastic Compute Cloud User Guide.
  3835. //
  3836. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3837. // with awserr.Error's Code and Message methods to get detailed information about
  3838. // the error.
  3839. //
  3840. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3841. // API operation CreateSpotDatafeedSubscription for usage and error information.
  3842. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  3843. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  3844. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  3845. return out, req.Send()
  3846. }
  3847. // CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
  3848. // the ability to pass a context and additional request options.
  3849. //
  3850. // See CreateSpotDatafeedSubscription for details on how to use this API operation.
  3851. //
  3852. // The context must be non-nil and will be used for request cancellation. If
  3853. // the context is nil a panic will occur. In the future the SDK may create
  3854. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3855. // for more information on using Contexts.
  3856. func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
  3857. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  3858. req.SetContext(ctx)
  3859. req.ApplyOptions(opts...)
  3860. return out, req.Send()
  3861. }
  3862. const opCreateSubnet = "CreateSubnet"
  3863. // CreateSubnetRequest generates a "aws/request.Request" representing the
  3864. // client's request for the CreateSubnet operation. The "output" return
  3865. // value can be used to capture response data after the request's "Send" method
  3866. // is called.
  3867. //
  3868. // See CreateSubnet for usage and error information.
  3869. //
  3870. // Creating a request object using this method should be used when you want to inject
  3871. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3872. // access properties on the request object before or after sending the request. If
  3873. // you just want the service response, call the CreateSubnet method directly
  3874. // instead.
  3875. //
  3876. // Note: You must call the "Send" method on the returned request object in order
  3877. // to execute the request.
  3878. //
  3879. // // Example sending a request using the CreateSubnetRequest method.
  3880. // req, resp := client.CreateSubnetRequest(params)
  3881. //
  3882. // err := req.Send()
  3883. // if err == nil { // resp is now filled
  3884. // fmt.Println(resp)
  3885. // }
  3886. //
  3887. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  3888. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  3889. op := &request.Operation{
  3890. Name: opCreateSubnet,
  3891. HTTPMethod: "POST",
  3892. HTTPPath: "/",
  3893. }
  3894. if input == nil {
  3895. input = &CreateSubnetInput{}
  3896. }
  3897. output = &CreateSubnetOutput{}
  3898. req = c.newRequest(op, input, output)
  3899. return
  3900. }
  3901. // CreateSubnet API operation for Amazon Elastic Compute Cloud.
  3902. //
  3903. // Creates a subnet in an existing VPC.
  3904. //
  3905. // When you create each subnet, you provide the VPC ID and the CIDR block you
  3906. // want for the subnet. After you create a subnet, you can't change its CIDR
  3907. // block. The subnet's IPv4 CIDR block can be the same as the VPC's IPv4 CIDR
  3908. // block (assuming you want only a single subnet in the VPC), or a subset of
  3909. // the VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the
  3910. // subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC)
  3911. // you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses
  3912. // a /16 netmask (65,536 IPv4 addresses).
  3913. //
  3914. // If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
  3915. // with an IPv6 CIDR block that uses a /64 prefix length.
  3916. //
  3917. // AWS reserves both the first four and the last IP address in each subnet's
  3918. // CIDR block. They're not available for use.
  3919. //
  3920. // If you add more than one subnet to a VPC, they're set up in a star topology
  3921. // with a logical router in the middle.
  3922. //
  3923. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  3924. // address doesn't change if you stop and restart the instance (unlike a similar
  3925. // instance launched outside a VPC, which gets a new IP address when restarted).
  3926. // It's therefore possible to have a subnet with no running instances (they're
  3927. // all stopped), but no remaining IP addresses available.
  3928. //
  3929. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  3930. // in the Amazon Virtual Private Cloud User Guide.
  3931. //
  3932. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3933. // with awserr.Error's Code and Message methods to get detailed information about
  3934. // the error.
  3935. //
  3936. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3937. // API operation CreateSubnet for usage and error information.
  3938. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  3939. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  3940. req, out := c.CreateSubnetRequest(input)
  3941. return out, req.Send()
  3942. }
  3943. // CreateSubnetWithContext is the same as CreateSubnet with the addition of
  3944. // the ability to pass a context and additional request options.
  3945. //
  3946. // See CreateSubnet for details on how to use this API operation.
  3947. //
  3948. // The context must be non-nil and will be used for request cancellation. If
  3949. // the context is nil a panic will occur. In the future the SDK may create
  3950. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3951. // for more information on using Contexts.
  3952. func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
  3953. req, out := c.CreateSubnetRequest(input)
  3954. req.SetContext(ctx)
  3955. req.ApplyOptions(opts...)
  3956. return out, req.Send()
  3957. }
  3958. const opCreateTags = "CreateTags"
  3959. // CreateTagsRequest generates a "aws/request.Request" representing the
  3960. // client's request for the CreateTags operation. The "output" return
  3961. // value can be used to capture response data after the request's "Send" method
  3962. // is called.
  3963. //
  3964. // See CreateTags for usage and error information.
  3965. //
  3966. // Creating a request object using this method should be used when you want to inject
  3967. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3968. // access properties on the request object before or after sending the request. If
  3969. // you just want the service response, call the CreateTags method directly
  3970. // instead.
  3971. //
  3972. // Note: You must call the "Send" method on the returned request object in order
  3973. // to execute the request.
  3974. //
  3975. // // Example sending a request using the CreateTagsRequest method.
  3976. // req, resp := client.CreateTagsRequest(params)
  3977. //
  3978. // err := req.Send()
  3979. // if err == nil { // resp is now filled
  3980. // fmt.Println(resp)
  3981. // }
  3982. //
  3983. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  3984. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  3985. op := &request.Operation{
  3986. Name: opCreateTags,
  3987. HTTPMethod: "POST",
  3988. HTTPPath: "/",
  3989. }
  3990. if input == nil {
  3991. input = &CreateTagsInput{}
  3992. }
  3993. output = &CreateTagsOutput{}
  3994. req = c.newRequest(op, input, output)
  3995. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3996. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3997. return
  3998. }
  3999. // CreateTags API operation for Amazon Elastic Compute Cloud.
  4000. //
  4001. // Adds or overwrites one or more tags for the specified Amazon EC2 resource
  4002. // or resources. Each resource can have a maximum of 50 tags. Each tag consists
  4003. // of a key and optional value. Tag keys must be unique per resource.
  4004. //
  4005. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  4006. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  4007. // creating IAM policies that control users' access to resources based on tags,
  4008. // see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
  4009. // in the Amazon Elastic Compute Cloud User Guide.
  4010. //
  4011. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4012. // with awserr.Error's Code and Message methods to get detailed information about
  4013. // the error.
  4014. //
  4015. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4016. // API operation CreateTags for usage and error information.
  4017. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  4018. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  4019. req, out := c.CreateTagsRequest(input)
  4020. return out, req.Send()
  4021. }
  4022. // CreateTagsWithContext is the same as CreateTags with the addition of
  4023. // the ability to pass a context and additional request options.
  4024. //
  4025. // See CreateTags for details on how to use this API operation.
  4026. //
  4027. // The context must be non-nil and will be used for request cancellation. If
  4028. // the context is nil a panic will occur. In the future the SDK may create
  4029. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4030. // for more information on using Contexts.
  4031. func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
  4032. req, out := c.CreateTagsRequest(input)
  4033. req.SetContext(ctx)
  4034. req.ApplyOptions(opts...)
  4035. return out, req.Send()
  4036. }
  4037. const opCreateVolume = "CreateVolume"
  4038. // CreateVolumeRequest generates a "aws/request.Request" representing the
  4039. // client's request for the CreateVolume operation. The "output" return
  4040. // value can be used to capture response data after the request's "Send" method
  4041. // is called.
  4042. //
  4043. // See CreateVolume for usage and error information.
  4044. //
  4045. // Creating a request object using this method should be used when you want to inject
  4046. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4047. // access properties on the request object before or after sending the request. If
  4048. // you just want the service response, call the CreateVolume method directly
  4049. // instead.
  4050. //
  4051. // Note: You must call the "Send" method on the returned request object in order
  4052. // to execute the request.
  4053. //
  4054. // // Example sending a request using the CreateVolumeRequest method.
  4055. // req, resp := client.CreateVolumeRequest(params)
  4056. //
  4057. // err := req.Send()
  4058. // if err == nil { // resp is now filled
  4059. // fmt.Println(resp)
  4060. // }
  4061. //
  4062. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4063. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  4064. op := &request.Operation{
  4065. Name: opCreateVolume,
  4066. HTTPMethod: "POST",
  4067. HTTPPath: "/",
  4068. }
  4069. if input == nil {
  4070. input = &CreateVolumeInput{}
  4071. }
  4072. output = &Volume{}
  4073. req = c.newRequest(op, input, output)
  4074. return
  4075. }
  4076. // CreateVolume API operation for Amazon Elastic Compute Cloud.
  4077. //
  4078. // Creates an EBS volume that can be attached to an instance in the same Availability
  4079. // Zone. The volume is created in the regional endpoint that you send the HTTP
  4080. // request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html).
  4081. //
  4082. // You can create a new empty volume or restore a volume from an EBS snapshot.
  4083. // Any AWS Marketplace product codes from the snapshot are propagated to the
  4084. // volume.
  4085. //
  4086. // You can create encrypted volumes with the Encrypted parameter. Encrypted
  4087. // volumes may only be attached to instances that support Amazon EBS encryption.
  4088. // Volumes that are created from encrypted snapshots are also automatically
  4089. // encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  4090. // in the Amazon Elastic Compute Cloud User Guide.
  4091. //
  4092. // You can tag your volumes during creation. For more information, see Tagging
  4093. // Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  4094. //
  4095. // For more information, see Creating an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  4096. // in the Amazon Elastic Compute Cloud User Guide.
  4097. //
  4098. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4099. // with awserr.Error's Code and Message methods to get detailed information about
  4100. // the error.
  4101. //
  4102. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4103. // API operation CreateVolume for usage and error information.
  4104. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4105. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  4106. req, out := c.CreateVolumeRequest(input)
  4107. return out, req.Send()
  4108. }
  4109. // CreateVolumeWithContext is the same as CreateVolume with the addition of
  4110. // the ability to pass a context and additional request options.
  4111. //
  4112. // See CreateVolume for details on how to use this API operation.
  4113. //
  4114. // The context must be non-nil and will be used for request cancellation. If
  4115. // the context is nil a panic will occur. In the future the SDK may create
  4116. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4117. // for more information on using Contexts.
  4118. func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
  4119. req, out := c.CreateVolumeRequest(input)
  4120. req.SetContext(ctx)
  4121. req.ApplyOptions(opts...)
  4122. return out, req.Send()
  4123. }
  4124. const opCreateVpc = "CreateVpc"
  4125. // CreateVpcRequest generates a "aws/request.Request" representing the
  4126. // client's request for the CreateVpc operation. The "output" return
  4127. // value can be used to capture response data after the request's "Send" method
  4128. // is called.
  4129. //
  4130. // See CreateVpc for usage and error information.
  4131. //
  4132. // Creating a request object using this method should be used when you want to inject
  4133. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4134. // access properties on the request object before or after sending the request. If
  4135. // you just want the service response, call the CreateVpc method directly
  4136. // instead.
  4137. //
  4138. // Note: You must call the "Send" method on the returned request object in order
  4139. // to execute the request.
  4140. //
  4141. // // Example sending a request using the CreateVpcRequest method.
  4142. // req, resp := client.CreateVpcRequest(params)
  4143. //
  4144. // err := req.Send()
  4145. // if err == nil { // resp is now filled
  4146. // fmt.Println(resp)
  4147. // }
  4148. //
  4149. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4150. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  4151. op := &request.Operation{
  4152. Name: opCreateVpc,
  4153. HTTPMethod: "POST",
  4154. HTTPPath: "/",
  4155. }
  4156. if input == nil {
  4157. input = &CreateVpcInput{}
  4158. }
  4159. output = &CreateVpcOutput{}
  4160. req = c.newRequest(op, input, output)
  4161. return
  4162. }
  4163. // CreateVpc API operation for Amazon Elastic Compute Cloud.
  4164. //
  4165. // Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
  4166. // create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
  4167. // netmask (65,536 IPv4 addresses). To help you decide how big to make your
  4168. // VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  4169. // in the Amazon Virtual Private Cloud User Guide.
  4170. //
  4171. // You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
  4172. // The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
  4173. // pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
  4174. //
  4175. // By default, each instance you launch in the VPC has the default DHCP options,
  4176. // which includes only a default DNS server that we provide (AmazonProvidedDNS).
  4177. // For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  4178. // in the Amazon Virtual Private Cloud User Guide.
  4179. //
  4180. // You can specify the instance tenancy value for the VPC when you create it.
  4181. // You can't change this value for the VPC after you create it. For more information,
  4182. // see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  4183. // in the Amazon Elastic Compute Cloud User Guide.
  4184. //
  4185. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4186. // with awserr.Error's Code and Message methods to get detailed information about
  4187. // the error.
  4188. //
  4189. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4190. // API operation CreateVpc for usage and error information.
  4191. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4192. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  4193. req, out := c.CreateVpcRequest(input)
  4194. return out, req.Send()
  4195. }
  4196. // CreateVpcWithContext is the same as CreateVpc with the addition of
  4197. // the ability to pass a context and additional request options.
  4198. //
  4199. // See CreateVpc for details on how to use this API operation.
  4200. //
  4201. // The context must be non-nil and will be used for request cancellation. If
  4202. // the context is nil a panic will occur. In the future the SDK may create
  4203. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4204. // for more information on using Contexts.
  4205. func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
  4206. req, out := c.CreateVpcRequest(input)
  4207. req.SetContext(ctx)
  4208. req.ApplyOptions(opts...)
  4209. return out, req.Send()
  4210. }
  4211. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  4212. // CreateVpcEndpointRequest generates a "aws/request.Request" representing the
  4213. // client's request for the CreateVpcEndpoint operation. The "output" return
  4214. // value can be used to capture response data after the request's "Send" method
  4215. // is called.
  4216. //
  4217. // See CreateVpcEndpoint for usage and error information.
  4218. //
  4219. // Creating a request object using this method should be used when you want to inject
  4220. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4221. // access properties on the request object before or after sending the request. If
  4222. // you just want the service response, call the CreateVpcEndpoint method directly
  4223. // instead.
  4224. //
  4225. // Note: You must call the "Send" method on the returned request object in order
  4226. // to execute the request.
  4227. //
  4228. // // Example sending a request using the CreateVpcEndpointRequest method.
  4229. // req, resp := client.CreateVpcEndpointRequest(params)
  4230. //
  4231. // err := req.Send()
  4232. // if err == nil { // resp is now filled
  4233. // fmt.Println(resp)
  4234. // }
  4235. //
  4236. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4237. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  4238. op := &request.Operation{
  4239. Name: opCreateVpcEndpoint,
  4240. HTTPMethod: "POST",
  4241. HTTPPath: "/",
  4242. }
  4243. if input == nil {
  4244. input = &CreateVpcEndpointInput{}
  4245. }
  4246. output = &CreateVpcEndpointOutput{}
  4247. req = c.newRequest(op, input, output)
  4248. return
  4249. }
  4250. // CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  4251. //
  4252. // Creates a VPC endpoint for a specified AWS service. An endpoint enables you
  4253. // to create a private connection between your VPC and another AWS service in
  4254. // your account. You can specify an endpoint policy to attach to the endpoint
  4255. // that will control access to the service from your VPC. You can also specify
  4256. // the VPC route tables that use the endpoint.
  4257. //
  4258. // Use DescribeVpcEndpointServices to get a list of supported AWS services.
  4259. //
  4260. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4261. // with awserr.Error's Code and Message methods to get detailed information about
  4262. // the error.
  4263. //
  4264. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4265. // API operation CreateVpcEndpoint for usage and error information.
  4266. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4267. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  4268. req, out := c.CreateVpcEndpointRequest(input)
  4269. return out, req.Send()
  4270. }
  4271. // CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
  4272. // the ability to pass a context and additional request options.
  4273. //
  4274. // See CreateVpcEndpoint for details on how to use this API operation.
  4275. //
  4276. // The context must be non-nil and will be used for request cancellation. If
  4277. // the context is nil a panic will occur. In the future the SDK may create
  4278. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4279. // for more information on using Contexts.
  4280. func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
  4281. req, out := c.CreateVpcEndpointRequest(input)
  4282. req.SetContext(ctx)
  4283. req.ApplyOptions(opts...)
  4284. return out, req.Send()
  4285. }
  4286. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  4287. // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  4288. // client's request for the CreateVpcPeeringConnection operation. The "output" return
  4289. // value can be used to capture response data after the request's "Send" method
  4290. // is called.
  4291. //
  4292. // See CreateVpcPeeringConnection for usage and error information.
  4293. //
  4294. // Creating a request object using this method should be used when you want to inject
  4295. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4296. // access properties on the request object before or after sending the request. If
  4297. // you just want the service response, call the CreateVpcPeeringConnection method directly
  4298. // instead.
  4299. //
  4300. // Note: You must call the "Send" method on the returned request object in order
  4301. // to execute the request.
  4302. //
  4303. // // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  4304. // req, resp := client.CreateVpcPeeringConnectionRequest(params)
  4305. //
  4306. // err := req.Send()
  4307. // if err == nil { // resp is now filled
  4308. // fmt.Println(resp)
  4309. // }
  4310. //
  4311. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  4312. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  4313. op := &request.Operation{
  4314. Name: opCreateVpcPeeringConnection,
  4315. HTTPMethod: "POST",
  4316. HTTPPath: "/",
  4317. }
  4318. if input == nil {
  4319. input = &CreateVpcPeeringConnectionInput{}
  4320. }
  4321. output = &CreateVpcPeeringConnectionOutput{}
  4322. req = c.newRequest(op, input, output)
  4323. return
  4324. }
  4325. // CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  4326. //
  4327. // Requests a VPC peering connection between two VPCs: a requester VPC that
  4328. // you own and a peer VPC with which to create the connection. The peer VPC
  4329. // can belong to another AWS account. The requester VPC and peer VPC cannot
  4330. // have overlapping CIDR blocks.
  4331. //
  4332. // The owner of the peer VPC must accept the peering request to activate the
  4333. // peering connection. The VPC peering connection request expires after 7 days,
  4334. // after which it cannot be accepted or rejected.
  4335. //
  4336. // A CreateVpcPeeringConnection request between VPCs with overlapping CIDR blocks
  4337. // results in the VPC peering connection having a status of failed.
  4338. //
  4339. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4340. // with awserr.Error's Code and Message methods to get detailed information about
  4341. // the error.
  4342. //
  4343. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4344. // API operation CreateVpcPeeringConnection for usage and error information.
  4345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  4346. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  4347. req, out := c.CreateVpcPeeringConnectionRequest(input)
  4348. return out, req.Send()
  4349. }
  4350. // CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
  4351. // the ability to pass a context and additional request options.
  4352. //
  4353. // See CreateVpcPeeringConnection for details on how to use this API operation.
  4354. //
  4355. // The context must be non-nil and will be used for request cancellation. If
  4356. // the context is nil a panic will occur. In the future the SDK may create
  4357. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4358. // for more information on using Contexts.
  4359. func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
  4360. req, out := c.CreateVpcPeeringConnectionRequest(input)
  4361. req.SetContext(ctx)
  4362. req.ApplyOptions(opts...)
  4363. return out, req.Send()
  4364. }
  4365. const opCreateVpnConnection = "CreateVpnConnection"
  4366. // CreateVpnConnectionRequest generates a "aws/request.Request" representing the
  4367. // client's request for the CreateVpnConnection operation. The "output" return
  4368. // value can be used to capture response data after the request's "Send" method
  4369. // is called.
  4370. //
  4371. // See CreateVpnConnection for usage and error information.
  4372. //
  4373. // Creating a request object using this method should be used when you want to inject
  4374. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4375. // access properties on the request object before or after sending the request. If
  4376. // you just want the service response, call the CreateVpnConnection method directly
  4377. // instead.
  4378. //
  4379. // Note: You must call the "Send" method on the returned request object in order
  4380. // to execute the request.
  4381. //
  4382. // // Example sending a request using the CreateVpnConnectionRequest method.
  4383. // req, resp := client.CreateVpnConnectionRequest(params)
  4384. //
  4385. // err := req.Send()
  4386. // if err == nil { // resp is now filled
  4387. // fmt.Println(resp)
  4388. // }
  4389. //
  4390. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  4391. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  4392. op := &request.Operation{
  4393. Name: opCreateVpnConnection,
  4394. HTTPMethod: "POST",
  4395. HTTPPath: "/",
  4396. }
  4397. if input == nil {
  4398. input = &CreateVpnConnectionInput{}
  4399. }
  4400. output = &CreateVpnConnectionOutput{}
  4401. req = c.newRequest(op, input, output)
  4402. return
  4403. }
  4404. // CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
  4405. //
  4406. // Creates a VPN connection between an existing virtual private gateway and
  4407. // a VPN customer gateway. The only supported connection type is ipsec.1.
  4408. //
  4409. // The response includes information that you need to give to your network administrator
  4410. // to configure your customer gateway.
  4411. //
  4412. // We strongly recommend that you use HTTPS when calling this operation because
  4413. // the response contains sensitive cryptographic information for configuring
  4414. // your customer gateway.
  4415. //
  4416. // If you decide to shut down your VPN connection for any reason and later create
  4417. // a new VPN connection, you must reconfigure your customer gateway with the
  4418. // new information returned from this call.
  4419. //
  4420. // This is an idempotent operation. If you perform the operation more than once,
  4421. // Amazon EC2 doesn't return an error.
  4422. //
  4423. // For more information about VPN connections, see Adding a Hardware Virtual
  4424. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  4425. // in the Amazon Virtual Private Cloud User Guide.
  4426. //
  4427. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4428. // with awserr.Error's Code and Message methods to get detailed information about
  4429. // the error.
  4430. //
  4431. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4432. // API operation CreateVpnConnection for usage and error information.
  4433. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  4434. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  4435. req, out := c.CreateVpnConnectionRequest(input)
  4436. return out, req.Send()
  4437. }
  4438. // CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
  4439. // the ability to pass a context and additional request options.
  4440. //
  4441. // See CreateVpnConnection for details on how to use this API operation.
  4442. //
  4443. // The context must be non-nil and will be used for request cancellation. If
  4444. // the context is nil a panic will occur. In the future the SDK may create
  4445. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4446. // for more information on using Contexts.
  4447. func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
  4448. req, out := c.CreateVpnConnectionRequest(input)
  4449. req.SetContext(ctx)
  4450. req.ApplyOptions(opts...)
  4451. return out, req.Send()
  4452. }
  4453. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  4454. // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  4455. // client's request for the CreateVpnConnectionRoute operation. The "output" return
  4456. // value can be used to capture response data after the request's "Send" method
  4457. // is called.
  4458. //
  4459. // See CreateVpnConnectionRoute for usage and error information.
  4460. //
  4461. // Creating a request object using this method should be used when you want to inject
  4462. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4463. // access properties on the request object before or after sending the request. If
  4464. // you just want the service response, call the CreateVpnConnectionRoute method directly
  4465. // instead.
  4466. //
  4467. // Note: You must call the "Send" method on the returned request object in order
  4468. // to execute the request.
  4469. //
  4470. // // Example sending a request using the CreateVpnConnectionRouteRequest method.
  4471. // req, resp := client.CreateVpnConnectionRouteRequest(params)
  4472. //
  4473. // err := req.Send()
  4474. // if err == nil { // resp is now filled
  4475. // fmt.Println(resp)
  4476. // }
  4477. //
  4478. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  4479. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  4480. op := &request.Operation{
  4481. Name: opCreateVpnConnectionRoute,
  4482. HTTPMethod: "POST",
  4483. HTTPPath: "/",
  4484. }
  4485. if input == nil {
  4486. input = &CreateVpnConnectionRouteInput{}
  4487. }
  4488. output = &CreateVpnConnectionRouteOutput{}
  4489. req = c.newRequest(op, input, output)
  4490. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4491. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4492. return
  4493. }
  4494. // CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  4495. //
  4496. // Creates a static route associated with a VPN connection between an existing
  4497. // virtual private gateway and a VPN customer gateway. The static route allows
  4498. // traffic to be routed from the virtual private gateway to the VPN customer
  4499. // gateway.
  4500. //
  4501. // For more information about VPN connections, see Adding a Hardware Virtual
  4502. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  4503. // in the Amazon Virtual Private Cloud User Guide.
  4504. //
  4505. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4506. // with awserr.Error's Code and Message methods to get detailed information about
  4507. // the error.
  4508. //
  4509. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4510. // API operation CreateVpnConnectionRoute for usage and error information.
  4511. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  4512. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  4513. req, out := c.CreateVpnConnectionRouteRequest(input)
  4514. return out, req.Send()
  4515. }
  4516. // CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
  4517. // the ability to pass a context and additional request options.
  4518. //
  4519. // See CreateVpnConnectionRoute for details on how to use this API operation.
  4520. //
  4521. // The context must be non-nil and will be used for request cancellation. If
  4522. // the context is nil a panic will occur. In the future the SDK may create
  4523. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4524. // for more information on using Contexts.
  4525. func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
  4526. req, out := c.CreateVpnConnectionRouteRequest(input)
  4527. req.SetContext(ctx)
  4528. req.ApplyOptions(opts...)
  4529. return out, req.Send()
  4530. }
  4531. const opCreateVpnGateway = "CreateVpnGateway"
  4532. // CreateVpnGatewayRequest generates a "aws/request.Request" representing the
  4533. // client's request for the CreateVpnGateway operation. The "output" return
  4534. // value can be used to capture response data after the request's "Send" method
  4535. // is called.
  4536. //
  4537. // See CreateVpnGateway for usage and error information.
  4538. //
  4539. // Creating a request object using this method should be used when you want to inject
  4540. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4541. // access properties on the request object before or after sending the request. If
  4542. // you just want the service response, call the CreateVpnGateway method directly
  4543. // instead.
  4544. //
  4545. // Note: You must call the "Send" method on the returned request object in order
  4546. // to execute the request.
  4547. //
  4548. // // Example sending a request using the CreateVpnGatewayRequest method.
  4549. // req, resp := client.CreateVpnGatewayRequest(params)
  4550. //
  4551. // err := req.Send()
  4552. // if err == nil { // resp is now filled
  4553. // fmt.Println(resp)
  4554. // }
  4555. //
  4556. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  4557. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  4558. op := &request.Operation{
  4559. Name: opCreateVpnGateway,
  4560. HTTPMethod: "POST",
  4561. HTTPPath: "/",
  4562. }
  4563. if input == nil {
  4564. input = &CreateVpnGatewayInput{}
  4565. }
  4566. output = &CreateVpnGatewayOutput{}
  4567. req = c.newRequest(op, input, output)
  4568. return
  4569. }
  4570. // CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
  4571. //
  4572. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  4573. // on the VPC side of your VPN connection. You can create a virtual private
  4574. // gateway before creating the VPC itself.
  4575. //
  4576. // For more information about virtual private gateways, see Adding a Hardware
  4577. // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  4578. // in the Amazon Virtual Private Cloud User Guide.
  4579. //
  4580. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4581. // with awserr.Error's Code and Message methods to get detailed information about
  4582. // the error.
  4583. //
  4584. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4585. // API operation CreateVpnGateway for usage and error information.
  4586. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  4587. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  4588. req, out := c.CreateVpnGatewayRequest(input)
  4589. return out, req.Send()
  4590. }
  4591. // CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
  4592. // the ability to pass a context and additional request options.
  4593. //
  4594. // See CreateVpnGateway for details on how to use this API operation.
  4595. //
  4596. // The context must be non-nil and will be used for request cancellation. If
  4597. // the context is nil a panic will occur. In the future the SDK may create
  4598. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4599. // for more information on using Contexts.
  4600. func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
  4601. req, out := c.CreateVpnGatewayRequest(input)
  4602. req.SetContext(ctx)
  4603. req.ApplyOptions(opts...)
  4604. return out, req.Send()
  4605. }
  4606. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  4607. // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
  4608. // client's request for the DeleteCustomerGateway operation. The "output" return
  4609. // value can be used to capture response data after the request's "Send" method
  4610. // is called.
  4611. //
  4612. // See DeleteCustomerGateway for usage and error information.
  4613. //
  4614. // Creating a request object using this method should be used when you want to inject
  4615. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4616. // access properties on the request object before or after sending the request. If
  4617. // you just want the service response, call the DeleteCustomerGateway method directly
  4618. // instead.
  4619. //
  4620. // Note: You must call the "Send" method on the returned request object in order
  4621. // to execute the request.
  4622. //
  4623. // // Example sending a request using the DeleteCustomerGatewayRequest method.
  4624. // req, resp := client.DeleteCustomerGatewayRequest(params)
  4625. //
  4626. // err := req.Send()
  4627. // if err == nil { // resp is now filled
  4628. // fmt.Println(resp)
  4629. // }
  4630. //
  4631. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  4632. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  4633. op := &request.Operation{
  4634. Name: opDeleteCustomerGateway,
  4635. HTTPMethod: "POST",
  4636. HTTPPath: "/",
  4637. }
  4638. if input == nil {
  4639. input = &DeleteCustomerGatewayInput{}
  4640. }
  4641. output = &DeleteCustomerGatewayOutput{}
  4642. req = c.newRequest(op, input, output)
  4643. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4644. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4645. return
  4646. }
  4647. // DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
  4648. //
  4649. // Deletes the specified customer gateway. You must delete the VPN connection
  4650. // before you can delete the customer gateway.
  4651. //
  4652. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4653. // with awserr.Error's Code and Message methods to get detailed information about
  4654. // the error.
  4655. //
  4656. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4657. // API operation DeleteCustomerGateway for usage and error information.
  4658. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  4659. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  4660. req, out := c.DeleteCustomerGatewayRequest(input)
  4661. return out, req.Send()
  4662. }
  4663. // DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
  4664. // the ability to pass a context and additional request options.
  4665. //
  4666. // See DeleteCustomerGateway for details on how to use this API operation.
  4667. //
  4668. // The context must be non-nil and will be used for request cancellation. If
  4669. // the context is nil a panic will occur. In the future the SDK may create
  4670. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4671. // for more information on using Contexts.
  4672. func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
  4673. req, out := c.DeleteCustomerGatewayRequest(input)
  4674. req.SetContext(ctx)
  4675. req.ApplyOptions(opts...)
  4676. return out, req.Send()
  4677. }
  4678. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  4679. // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
  4680. // client's request for the DeleteDhcpOptions operation. The "output" return
  4681. // value can be used to capture response data after the request's "Send" method
  4682. // is called.
  4683. //
  4684. // See DeleteDhcpOptions for usage and error information.
  4685. //
  4686. // Creating a request object using this method should be used when you want to inject
  4687. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4688. // access properties on the request object before or after sending the request. If
  4689. // you just want the service response, call the DeleteDhcpOptions method directly
  4690. // instead.
  4691. //
  4692. // Note: You must call the "Send" method on the returned request object in order
  4693. // to execute the request.
  4694. //
  4695. // // Example sending a request using the DeleteDhcpOptionsRequest method.
  4696. // req, resp := client.DeleteDhcpOptionsRequest(params)
  4697. //
  4698. // err := req.Send()
  4699. // if err == nil { // resp is now filled
  4700. // fmt.Println(resp)
  4701. // }
  4702. //
  4703. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  4704. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  4705. op := &request.Operation{
  4706. Name: opDeleteDhcpOptions,
  4707. HTTPMethod: "POST",
  4708. HTTPPath: "/",
  4709. }
  4710. if input == nil {
  4711. input = &DeleteDhcpOptionsInput{}
  4712. }
  4713. output = &DeleteDhcpOptionsOutput{}
  4714. req = c.newRequest(op, input, output)
  4715. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4716. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4717. return
  4718. }
  4719. // DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
  4720. //
  4721. // Deletes the specified set of DHCP options. You must disassociate the set
  4722. // of DHCP options before you can delete it. You can disassociate the set of
  4723. // DHCP options by associating either a new set of options or the default set
  4724. // of options with the VPC.
  4725. //
  4726. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4727. // with awserr.Error's Code and Message methods to get detailed information about
  4728. // the error.
  4729. //
  4730. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4731. // API operation DeleteDhcpOptions for usage and error information.
  4732. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  4733. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  4734. req, out := c.DeleteDhcpOptionsRequest(input)
  4735. return out, req.Send()
  4736. }
  4737. // DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
  4738. // the ability to pass a context and additional request options.
  4739. //
  4740. // See DeleteDhcpOptions for details on how to use this API operation.
  4741. //
  4742. // The context must be non-nil and will be used for request cancellation. If
  4743. // the context is nil a panic will occur. In the future the SDK may create
  4744. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4745. // for more information on using Contexts.
  4746. func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
  4747. req, out := c.DeleteDhcpOptionsRequest(input)
  4748. req.SetContext(ctx)
  4749. req.ApplyOptions(opts...)
  4750. return out, req.Send()
  4751. }
  4752. const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
  4753. // DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  4754. // client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
  4755. // value can be used to capture response data after the request's "Send" method
  4756. // is called.
  4757. //
  4758. // See DeleteEgressOnlyInternetGateway for usage and error information.
  4759. //
  4760. // Creating a request object using this method should be used when you want to inject
  4761. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4762. // access properties on the request object before or after sending the request. If
  4763. // you just want the service response, call the DeleteEgressOnlyInternetGateway method directly
  4764. // instead.
  4765. //
  4766. // Note: You must call the "Send" method on the returned request object in order
  4767. // to execute the request.
  4768. //
  4769. // // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
  4770. // req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
  4771. //
  4772. // err := req.Send()
  4773. // if err == nil { // resp is now filled
  4774. // fmt.Println(resp)
  4775. // }
  4776. //
  4777. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  4778. func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
  4779. op := &request.Operation{
  4780. Name: opDeleteEgressOnlyInternetGateway,
  4781. HTTPMethod: "POST",
  4782. HTTPPath: "/",
  4783. }
  4784. if input == nil {
  4785. input = &DeleteEgressOnlyInternetGatewayInput{}
  4786. }
  4787. output = &DeleteEgressOnlyInternetGatewayOutput{}
  4788. req = c.newRequest(op, input, output)
  4789. return
  4790. }
  4791. // DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  4792. //
  4793. // Deletes an egress-only Internet gateway.
  4794. //
  4795. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4796. // with awserr.Error's Code and Message methods to get detailed information about
  4797. // the error.
  4798. //
  4799. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4800. // API operation DeleteEgressOnlyInternetGateway for usage and error information.
  4801. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  4802. func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  4803. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  4804. return out, req.Send()
  4805. }
  4806. // DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
  4807. // the ability to pass a context and additional request options.
  4808. //
  4809. // See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
  4810. //
  4811. // The context must be non-nil and will be used for request cancellation. If
  4812. // the context is nil a panic will occur. In the future the SDK may create
  4813. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4814. // for more information on using Contexts.
  4815. func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  4816. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  4817. req.SetContext(ctx)
  4818. req.ApplyOptions(opts...)
  4819. return out, req.Send()
  4820. }
  4821. const opDeleteFlowLogs = "DeleteFlowLogs"
  4822. // DeleteFlowLogsRequest generates a "aws/request.Request" representing the
  4823. // client's request for the DeleteFlowLogs operation. The "output" return
  4824. // value can be used to capture response data after the request's "Send" method
  4825. // is called.
  4826. //
  4827. // See DeleteFlowLogs for usage and error information.
  4828. //
  4829. // Creating a request object using this method should be used when you want to inject
  4830. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4831. // access properties on the request object before or after sending the request. If
  4832. // you just want the service response, call the DeleteFlowLogs method directly
  4833. // instead.
  4834. //
  4835. // Note: You must call the "Send" method on the returned request object in order
  4836. // to execute the request.
  4837. //
  4838. // // Example sending a request using the DeleteFlowLogsRequest method.
  4839. // req, resp := client.DeleteFlowLogsRequest(params)
  4840. //
  4841. // err := req.Send()
  4842. // if err == nil { // resp is now filled
  4843. // fmt.Println(resp)
  4844. // }
  4845. //
  4846. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  4847. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  4848. op := &request.Operation{
  4849. Name: opDeleteFlowLogs,
  4850. HTTPMethod: "POST",
  4851. HTTPPath: "/",
  4852. }
  4853. if input == nil {
  4854. input = &DeleteFlowLogsInput{}
  4855. }
  4856. output = &DeleteFlowLogsOutput{}
  4857. req = c.newRequest(op, input, output)
  4858. return
  4859. }
  4860. // DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
  4861. //
  4862. // Deletes one or more flow logs.
  4863. //
  4864. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4865. // with awserr.Error's Code and Message methods to get detailed information about
  4866. // the error.
  4867. //
  4868. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4869. // API operation DeleteFlowLogs for usage and error information.
  4870. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  4871. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  4872. req, out := c.DeleteFlowLogsRequest(input)
  4873. return out, req.Send()
  4874. }
  4875. // DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
  4876. // the ability to pass a context and additional request options.
  4877. //
  4878. // See DeleteFlowLogs for details on how to use this API operation.
  4879. //
  4880. // The context must be non-nil and will be used for request cancellation. If
  4881. // the context is nil a panic will occur. In the future the SDK may create
  4882. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4883. // for more information on using Contexts.
  4884. func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
  4885. req, out := c.DeleteFlowLogsRequest(input)
  4886. req.SetContext(ctx)
  4887. req.ApplyOptions(opts...)
  4888. return out, req.Send()
  4889. }
  4890. const opDeleteInternetGateway = "DeleteInternetGateway"
  4891. // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
  4892. // client's request for the DeleteInternetGateway operation. The "output" return
  4893. // value can be used to capture response data after the request's "Send" method
  4894. // is called.
  4895. //
  4896. // See DeleteInternetGateway for usage and error information.
  4897. //
  4898. // Creating a request object using this method should be used when you want to inject
  4899. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4900. // access properties on the request object before or after sending the request. If
  4901. // you just want the service response, call the DeleteInternetGateway method directly
  4902. // instead.
  4903. //
  4904. // Note: You must call the "Send" method on the returned request object in order
  4905. // to execute the request.
  4906. //
  4907. // // Example sending a request using the DeleteInternetGatewayRequest method.
  4908. // req, resp := client.DeleteInternetGatewayRequest(params)
  4909. //
  4910. // err := req.Send()
  4911. // if err == nil { // resp is now filled
  4912. // fmt.Println(resp)
  4913. // }
  4914. //
  4915. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  4916. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  4917. op := &request.Operation{
  4918. Name: opDeleteInternetGateway,
  4919. HTTPMethod: "POST",
  4920. HTTPPath: "/",
  4921. }
  4922. if input == nil {
  4923. input = &DeleteInternetGatewayInput{}
  4924. }
  4925. output = &DeleteInternetGatewayOutput{}
  4926. req = c.newRequest(op, input, output)
  4927. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4928. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4929. return
  4930. }
  4931. // DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
  4932. //
  4933. // Deletes the specified Internet gateway. You must detach the Internet gateway
  4934. // from the VPC before you can delete it.
  4935. //
  4936. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4937. // with awserr.Error's Code and Message methods to get detailed information about
  4938. // the error.
  4939. //
  4940. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4941. // API operation DeleteInternetGateway for usage and error information.
  4942. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  4943. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  4944. req, out := c.DeleteInternetGatewayRequest(input)
  4945. return out, req.Send()
  4946. }
  4947. // DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
  4948. // the ability to pass a context and additional request options.
  4949. //
  4950. // See DeleteInternetGateway for details on how to use this API operation.
  4951. //
  4952. // The context must be non-nil and will be used for request cancellation. If
  4953. // the context is nil a panic will occur. In the future the SDK may create
  4954. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4955. // for more information on using Contexts.
  4956. func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
  4957. req, out := c.DeleteInternetGatewayRequest(input)
  4958. req.SetContext(ctx)
  4959. req.ApplyOptions(opts...)
  4960. return out, req.Send()
  4961. }
  4962. const opDeleteKeyPair = "DeleteKeyPair"
  4963. // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  4964. // client's request for the DeleteKeyPair operation. The "output" return
  4965. // value can be used to capture response data after the request's "Send" method
  4966. // is called.
  4967. //
  4968. // See DeleteKeyPair for usage and error information.
  4969. //
  4970. // Creating a request object using this method should be used when you want to inject
  4971. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4972. // access properties on the request object before or after sending the request. If
  4973. // you just want the service response, call the DeleteKeyPair method directly
  4974. // instead.
  4975. //
  4976. // Note: You must call the "Send" method on the returned request object in order
  4977. // to execute the request.
  4978. //
  4979. // // Example sending a request using the DeleteKeyPairRequest method.
  4980. // req, resp := client.DeleteKeyPairRequest(params)
  4981. //
  4982. // err := req.Send()
  4983. // if err == nil { // resp is now filled
  4984. // fmt.Println(resp)
  4985. // }
  4986. //
  4987. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  4988. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  4989. op := &request.Operation{
  4990. Name: opDeleteKeyPair,
  4991. HTTPMethod: "POST",
  4992. HTTPPath: "/",
  4993. }
  4994. if input == nil {
  4995. input = &DeleteKeyPairInput{}
  4996. }
  4997. output = &DeleteKeyPairOutput{}
  4998. req = c.newRequest(op, input, output)
  4999. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5000. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5001. return
  5002. }
  5003. // DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
  5004. //
  5005. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  5006. //
  5007. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5008. // with awserr.Error's Code and Message methods to get detailed information about
  5009. // the error.
  5010. //
  5011. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5012. // API operation DeleteKeyPair for usage and error information.
  5013. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  5014. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  5015. req, out := c.DeleteKeyPairRequest(input)
  5016. return out, req.Send()
  5017. }
  5018. // DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
  5019. // the ability to pass a context and additional request options.
  5020. //
  5021. // See DeleteKeyPair for details on how to use this API operation.
  5022. //
  5023. // The context must be non-nil and will be used for request cancellation. If
  5024. // the context is nil a panic will occur. In the future the SDK may create
  5025. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5026. // for more information on using Contexts.
  5027. func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
  5028. req, out := c.DeleteKeyPairRequest(input)
  5029. req.SetContext(ctx)
  5030. req.ApplyOptions(opts...)
  5031. return out, req.Send()
  5032. }
  5033. const opDeleteNatGateway = "DeleteNatGateway"
  5034. // DeleteNatGatewayRequest generates a "aws/request.Request" representing the
  5035. // client's request for the DeleteNatGateway operation. The "output" return
  5036. // value can be used to capture response data after the request's "Send" method
  5037. // is called.
  5038. //
  5039. // See DeleteNatGateway for usage and error information.
  5040. //
  5041. // Creating a request object using this method should be used when you want to inject
  5042. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5043. // access properties on the request object before or after sending the request. If
  5044. // you just want the service response, call the DeleteNatGateway method directly
  5045. // instead.
  5046. //
  5047. // Note: You must call the "Send" method on the returned request object in order
  5048. // to execute the request.
  5049. //
  5050. // // Example sending a request using the DeleteNatGatewayRequest method.
  5051. // req, resp := client.DeleteNatGatewayRequest(params)
  5052. //
  5053. // err := req.Send()
  5054. // if err == nil { // resp is now filled
  5055. // fmt.Println(resp)
  5056. // }
  5057. //
  5058. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  5059. func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
  5060. op := &request.Operation{
  5061. Name: opDeleteNatGateway,
  5062. HTTPMethod: "POST",
  5063. HTTPPath: "/",
  5064. }
  5065. if input == nil {
  5066. input = &DeleteNatGatewayInput{}
  5067. }
  5068. output = &DeleteNatGatewayOutput{}
  5069. req = c.newRequest(op, input, output)
  5070. return
  5071. }
  5072. // DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
  5073. //
  5074. // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
  5075. // Elastic IP address, but does not release the address from your account. Deleting
  5076. // a NAT gateway does not delete any NAT gateway routes in your route tables.
  5077. //
  5078. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5079. // with awserr.Error's Code and Message methods to get detailed information about
  5080. // the error.
  5081. //
  5082. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5083. // API operation DeleteNatGateway for usage and error information.
  5084. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  5085. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
  5086. req, out := c.DeleteNatGatewayRequest(input)
  5087. return out, req.Send()
  5088. }
  5089. // DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
  5090. // the ability to pass a context and additional request options.
  5091. //
  5092. // See DeleteNatGateway for details on how to use this API operation.
  5093. //
  5094. // The context must be non-nil and will be used for request cancellation. If
  5095. // the context is nil a panic will occur. In the future the SDK may create
  5096. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5097. // for more information on using Contexts.
  5098. func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
  5099. req, out := c.DeleteNatGatewayRequest(input)
  5100. req.SetContext(ctx)
  5101. req.ApplyOptions(opts...)
  5102. return out, req.Send()
  5103. }
  5104. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  5105. // DeleteNetworkAclRequest generates a "aws/request.Request" representing the
  5106. // client's request for the DeleteNetworkAcl operation. The "output" return
  5107. // value can be used to capture response data after the request's "Send" method
  5108. // is called.
  5109. //
  5110. // See DeleteNetworkAcl for usage and error information.
  5111. //
  5112. // Creating a request object using this method should be used when you want to inject
  5113. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5114. // access properties on the request object before or after sending the request. If
  5115. // you just want the service response, call the DeleteNetworkAcl method directly
  5116. // instead.
  5117. //
  5118. // Note: You must call the "Send" method on the returned request object in order
  5119. // to execute the request.
  5120. //
  5121. // // Example sending a request using the DeleteNetworkAclRequest method.
  5122. // req, resp := client.DeleteNetworkAclRequest(params)
  5123. //
  5124. // err := req.Send()
  5125. // if err == nil { // resp is now filled
  5126. // fmt.Println(resp)
  5127. // }
  5128. //
  5129. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  5130. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  5131. op := &request.Operation{
  5132. Name: opDeleteNetworkAcl,
  5133. HTTPMethod: "POST",
  5134. HTTPPath: "/",
  5135. }
  5136. if input == nil {
  5137. input = &DeleteNetworkAclInput{}
  5138. }
  5139. output = &DeleteNetworkAclOutput{}
  5140. req = c.newRequest(op, input, output)
  5141. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5142. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5143. return
  5144. }
  5145. // DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
  5146. //
  5147. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  5148. // with any subnets. You can't delete the default network ACL.
  5149. //
  5150. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5151. // with awserr.Error's Code and Message methods to get detailed information about
  5152. // the error.
  5153. //
  5154. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5155. // API operation DeleteNetworkAcl for usage and error information.
  5156. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  5157. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  5158. req, out := c.DeleteNetworkAclRequest(input)
  5159. return out, req.Send()
  5160. }
  5161. // DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
  5162. // the ability to pass a context and additional request options.
  5163. //
  5164. // See DeleteNetworkAcl for details on how to use this API operation.
  5165. //
  5166. // The context must be non-nil and will be used for request cancellation. If
  5167. // the context is nil a panic will occur. In the future the SDK may create
  5168. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5169. // for more information on using Contexts.
  5170. func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
  5171. req, out := c.DeleteNetworkAclRequest(input)
  5172. req.SetContext(ctx)
  5173. req.ApplyOptions(opts...)
  5174. return out, req.Send()
  5175. }
  5176. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  5177. // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
  5178. // client's request for the DeleteNetworkAclEntry operation. The "output" return
  5179. // value can be used to capture response data after the request's "Send" method
  5180. // is called.
  5181. //
  5182. // See DeleteNetworkAclEntry for usage and error information.
  5183. //
  5184. // Creating a request object using this method should be used when you want to inject
  5185. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5186. // access properties on the request object before or after sending the request. If
  5187. // you just want the service response, call the DeleteNetworkAclEntry method directly
  5188. // instead.
  5189. //
  5190. // Note: You must call the "Send" method on the returned request object in order
  5191. // to execute the request.
  5192. //
  5193. // // Example sending a request using the DeleteNetworkAclEntryRequest method.
  5194. // req, resp := client.DeleteNetworkAclEntryRequest(params)
  5195. //
  5196. // err := req.Send()
  5197. // if err == nil { // resp is now filled
  5198. // fmt.Println(resp)
  5199. // }
  5200. //
  5201. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  5202. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  5203. op := &request.Operation{
  5204. Name: opDeleteNetworkAclEntry,
  5205. HTTPMethod: "POST",
  5206. HTTPPath: "/",
  5207. }
  5208. if input == nil {
  5209. input = &DeleteNetworkAclEntryInput{}
  5210. }
  5211. output = &DeleteNetworkAclEntryOutput{}
  5212. req = c.newRequest(op, input, output)
  5213. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5214. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5215. return
  5216. }
  5217. // DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  5218. //
  5219. // Deletes the specified ingress or egress entry (rule) from the specified network
  5220. // ACL.
  5221. //
  5222. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5223. // with awserr.Error's Code and Message methods to get detailed information about
  5224. // the error.
  5225. //
  5226. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5227. // API operation DeleteNetworkAclEntry for usage and error information.
  5228. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  5229. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  5230. req, out := c.DeleteNetworkAclEntryRequest(input)
  5231. return out, req.Send()
  5232. }
  5233. // DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
  5234. // the ability to pass a context and additional request options.
  5235. //
  5236. // See DeleteNetworkAclEntry for details on how to use this API operation.
  5237. //
  5238. // The context must be non-nil and will be used for request cancellation. If
  5239. // the context is nil a panic will occur. In the future the SDK may create
  5240. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5241. // for more information on using Contexts.
  5242. func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
  5243. req, out := c.DeleteNetworkAclEntryRequest(input)
  5244. req.SetContext(ctx)
  5245. req.ApplyOptions(opts...)
  5246. return out, req.Send()
  5247. }
  5248. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  5249. // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
  5250. // client's request for the DeleteNetworkInterface operation. The "output" return
  5251. // value can be used to capture response data after the request's "Send" method
  5252. // is called.
  5253. //
  5254. // See DeleteNetworkInterface for usage and error information.
  5255. //
  5256. // Creating a request object using this method should be used when you want to inject
  5257. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5258. // access properties on the request object before or after sending the request. If
  5259. // you just want the service response, call the DeleteNetworkInterface method directly
  5260. // instead.
  5261. //
  5262. // Note: You must call the "Send" method on the returned request object in order
  5263. // to execute the request.
  5264. //
  5265. // // Example sending a request using the DeleteNetworkInterfaceRequest method.
  5266. // req, resp := client.DeleteNetworkInterfaceRequest(params)
  5267. //
  5268. // err := req.Send()
  5269. // if err == nil { // resp is now filled
  5270. // fmt.Println(resp)
  5271. // }
  5272. //
  5273. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  5274. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  5275. op := &request.Operation{
  5276. Name: opDeleteNetworkInterface,
  5277. HTTPMethod: "POST",
  5278. HTTPPath: "/",
  5279. }
  5280. if input == nil {
  5281. input = &DeleteNetworkInterfaceInput{}
  5282. }
  5283. output = &DeleteNetworkInterfaceOutput{}
  5284. req = c.newRequest(op, input, output)
  5285. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5286. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5287. return
  5288. }
  5289. // DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
  5290. //
  5291. // Deletes the specified network interface. You must detach the network interface
  5292. // before you can delete it.
  5293. //
  5294. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5295. // with awserr.Error's Code and Message methods to get detailed information about
  5296. // the error.
  5297. //
  5298. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5299. // API operation DeleteNetworkInterface for usage and error information.
  5300. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  5301. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  5302. req, out := c.DeleteNetworkInterfaceRequest(input)
  5303. return out, req.Send()
  5304. }
  5305. // DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
  5306. // the ability to pass a context and additional request options.
  5307. //
  5308. // See DeleteNetworkInterface for details on how to use this API operation.
  5309. //
  5310. // The context must be non-nil and will be used for request cancellation. If
  5311. // the context is nil a panic will occur. In the future the SDK may create
  5312. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5313. // for more information on using Contexts.
  5314. func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
  5315. req, out := c.DeleteNetworkInterfaceRequest(input)
  5316. req.SetContext(ctx)
  5317. req.ApplyOptions(opts...)
  5318. return out, req.Send()
  5319. }
  5320. const opDeletePlacementGroup = "DeletePlacementGroup"
  5321. // DeletePlacementGroupRequest generates a "aws/request.Request" representing the
  5322. // client's request for the DeletePlacementGroup operation. The "output" return
  5323. // value can be used to capture response data after the request's "Send" method
  5324. // is called.
  5325. //
  5326. // See DeletePlacementGroup for usage and error information.
  5327. //
  5328. // Creating a request object using this method should be used when you want to inject
  5329. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5330. // access properties on the request object before or after sending the request. If
  5331. // you just want the service response, call the DeletePlacementGroup method directly
  5332. // instead.
  5333. //
  5334. // Note: You must call the "Send" method on the returned request object in order
  5335. // to execute the request.
  5336. //
  5337. // // Example sending a request using the DeletePlacementGroupRequest method.
  5338. // req, resp := client.DeletePlacementGroupRequest(params)
  5339. //
  5340. // err := req.Send()
  5341. // if err == nil { // resp is now filled
  5342. // fmt.Println(resp)
  5343. // }
  5344. //
  5345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  5346. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  5347. op := &request.Operation{
  5348. Name: opDeletePlacementGroup,
  5349. HTTPMethod: "POST",
  5350. HTTPPath: "/",
  5351. }
  5352. if input == nil {
  5353. input = &DeletePlacementGroupInput{}
  5354. }
  5355. output = &DeletePlacementGroupOutput{}
  5356. req = c.newRequest(op, input, output)
  5357. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5358. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5359. return
  5360. }
  5361. // DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
  5362. //
  5363. // Deletes the specified placement group. You must terminate all instances in
  5364. // the placement group before you can delete the placement group. For more information
  5365. // about placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  5366. // in the Amazon Elastic Compute Cloud User Guide.
  5367. //
  5368. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5369. // with awserr.Error's Code and Message methods to get detailed information about
  5370. // the error.
  5371. //
  5372. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5373. // API operation DeletePlacementGroup for usage and error information.
  5374. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  5375. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  5376. req, out := c.DeletePlacementGroupRequest(input)
  5377. return out, req.Send()
  5378. }
  5379. // DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
  5380. // the ability to pass a context and additional request options.
  5381. //
  5382. // See DeletePlacementGroup for details on how to use this API operation.
  5383. //
  5384. // The context must be non-nil and will be used for request cancellation. If
  5385. // the context is nil a panic will occur. In the future the SDK may create
  5386. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5387. // for more information on using Contexts.
  5388. func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
  5389. req, out := c.DeletePlacementGroupRequest(input)
  5390. req.SetContext(ctx)
  5391. req.ApplyOptions(opts...)
  5392. return out, req.Send()
  5393. }
  5394. const opDeleteRoute = "DeleteRoute"
  5395. // DeleteRouteRequest generates a "aws/request.Request" representing the
  5396. // client's request for the DeleteRoute operation. The "output" return
  5397. // value can be used to capture response data after the request's "Send" method
  5398. // is called.
  5399. //
  5400. // See DeleteRoute for usage and error information.
  5401. //
  5402. // Creating a request object using this method should be used when you want to inject
  5403. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5404. // access properties on the request object before or after sending the request. If
  5405. // you just want the service response, call the DeleteRoute method directly
  5406. // instead.
  5407. //
  5408. // Note: You must call the "Send" method on the returned request object in order
  5409. // to execute the request.
  5410. //
  5411. // // Example sending a request using the DeleteRouteRequest method.
  5412. // req, resp := client.DeleteRouteRequest(params)
  5413. //
  5414. // err := req.Send()
  5415. // if err == nil { // resp is now filled
  5416. // fmt.Println(resp)
  5417. // }
  5418. //
  5419. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  5420. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  5421. op := &request.Operation{
  5422. Name: opDeleteRoute,
  5423. HTTPMethod: "POST",
  5424. HTTPPath: "/",
  5425. }
  5426. if input == nil {
  5427. input = &DeleteRouteInput{}
  5428. }
  5429. output = &DeleteRouteOutput{}
  5430. req = c.newRequest(op, input, output)
  5431. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5432. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5433. return
  5434. }
  5435. // DeleteRoute API operation for Amazon Elastic Compute Cloud.
  5436. //
  5437. // Deletes the specified route from the specified route table.
  5438. //
  5439. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5440. // with awserr.Error's Code and Message methods to get detailed information about
  5441. // the error.
  5442. //
  5443. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5444. // API operation DeleteRoute for usage and error information.
  5445. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  5446. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  5447. req, out := c.DeleteRouteRequest(input)
  5448. return out, req.Send()
  5449. }
  5450. // DeleteRouteWithContext is the same as DeleteRoute with the addition of
  5451. // the ability to pass a context and additional request options.
  5452. //
  5453. // See DeleteRoute for details on how to use this API operation.
  5454. //
  5455. // The context must be non-nil and will be used for request cancellation. If
  5456. // the context is nil a panic will occur. In the future the SDK may create
  5457. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5458. // for more information on using Contexts.
  5459. func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
  5460. req, out := c.DeleteRouteRequest(input)
  5461. req.SetContext(ctx)
  5462. req.ApplyOptions(opts...)
  5463. return out, req.Send()
  5464. }
  5465. const opDeleteRouteTable = "DeleteRouteTable"
  5466. // DeleteRouteTableRequest generates a "aws/request.Request" representing the
  5467. // client's request for the DeleteRouteTable operation. The "output" return
  5468. // value can be used to capture response data after the request's "Send" method
  5469. // is called.
  5470. //
  5471. // See DeleteRouteTable for usage and error information.
  5472. //
  5473. // Creating a request object using this method should be used when you want to inject
  5474. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5475. // access properties on the request object before or after sending the request. If
  5476. // you just want the service response, call the DeleteRouteTable method directly
  5477. // instead.
  5478. //
  5479. // Note: You must call the "Send" method on the returned request object in order
  5480. // to execute the request.
  5481. //
  5482. // // Example sending a request using the DeleteRouteTableRequest method.
  5483. // req, resp := client.DeleteRouteTableRequest(params)
  5484. //
  5485. // err := req.Send()
  5486. // if err == nil { // resp is now filled
  5487. // fmt.Println(resp)
  5488. // }
  5489. //
  5490. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  5491. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  5492. op := &request.Operation{
  5493. Name: opDeleteRouteTable,
  5494. HTTPMethod: "POST",
  5495. HTTPPath: "/",
  5496. }
  5497. if input == nil {
  5498. input = &DeleteRouteTableInput{}
  5499. }
  5500. output = &DeleteRouteTableOutput{}
  5501. req = c.newRequest(op, input, output)
  5502. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5503. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5504. return
  5505. }
  5506. // DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
  5507. //
  5508. // Deletes the specified route table. You must disassociate the route table
  5509. // from any subnets before you can delete it. You can't delete the main route
  5510. // table.
  5511. //
  5512. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5513. // with awserr.Error's Code and Message methods to get detailed information about
  5514. // the error.
  5515. //
  5516. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5517. // API operation DeleteRouteTable for usage and error information.
  5518. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  5519. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  5520. req, out := c.DeleteRouteTableRequest(input)
  5521. return out, req.Send()
  5522. }
  5523. // DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
  5524. // the ability to pass a context and additional request options.
  5525. //
  5526. // See DeleteRouteTable for details on how to use this API operation.
  5527. //
  5528. // The context must be non-nil and will be used for request cancellation. If
  5529. // the context is nil a panic will occur. In the future the SDK may create
  5530. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5531. // for more information on using Contexts.
  5532. func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
  5533. req, out := c.DeleteRouteTableRequest(input)
  5534. req.SetContext(ctx)
  5535. req.ApplyOptions(opts...)
  5536. return out, req.Send()
  5537. }
  5538. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  5539. // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
  5540. // client's request for the DeleteSecurityGroup operation. The "output" return
  5541. // value can be used to capture response data after the request's "Send" method
  5542. // is called.
  5543. //
  5544. // See DeleteSecurityGroup for usage and error information.
  5545. //
  5546. // Creating a request object using this method should be used when you want to inject
  5547. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5548. // access properties on the request object before or after sending the request. If
  5549. // you just want the service response, call the DeleteSecurityGroup method directly
  5550. // instead.
  5551. //
  5552. // Note: You must call the "Send" method on the returned request object in order
  5553. // to execute the request.
  5554. //
  5555. // // Example sending a request using the DeleteSecurityGroupRequest method.
  5556. // req, resp := client.DeleteSecurityGroupRequest(params)
  5557. //
  5558. // err := req.Send()
  5559. // if err == nil { // resp is now filled
  5560. // fmt.Println(resp)
  5561. // }
  5562. //
  5563. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  5564. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  5565. op := &request.Operation{
  5566. Name: opDeleteSecurityGroup,
  5567. HTTPMethod: "POST",
  5568. HTTPPath: "/",
  5569. }
  5570. if input == nil {
  5571. input = &DeleteSecurityGroupInput{}
  5572. }
  5573. output = &DeleteSecurityGroupOutput{}
  5574. req = c.newRequest(op, input, output)
  5575. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5576. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5577. return
  5578. }
  5579. // DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
  5580. //
  5581. // Deletes a security group.
  5582. //
  5583. // If you attempt to delete a security group that is associated with an instance,
  5584. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  5585. // in EC2-Classic or DependencyViolation in EC2-VPC.
  5586. //
  5587. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5588. // with awserr.Error's Code and Message methods to get detailed information about
  5589. // the error.
  5590. //
  5591. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5592. // API operation DeleteSecurityGroup for usage and error information.
  5593. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  5594. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  5595. req, out := c.DeleteSecurityGroupRequest(input)
  5596. return out, req.Send()
  5597. }
  5598. // DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
  5599. // the ability to pass a context and additional request options.
  5600. //
  5601. // See DeleteSecurityGroup for details on how to use this API operation.
  5602. //
  5603. // The context must be non-nil and will be used for request cancellation. If
  5604. // the context is nil a panic will occur. In the future the SDK may create
  5605. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5606. // for more information on using Contexts.
  5607. func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
  5608. req, out := c.DeleteSecurityGroupRequest(input)
  5609. req.SetContext(ctx)
  5610. req.ApplyOptions(opts...)
  5611. return out, req.Send()
  5612. }
  5613. const opDeleteSnapshot = "DeleteSnapshot"
  5614. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  5615. // client's request for the DeleteSnapshot operation. The "output" return
  5616. // value can be used to capture response data after the request's "Send" method
  5617. // is called.
  5618. //
  5619. // See DeleteSnapshot for usage and error information.
  5620. //
  5621. // Creating a request object using this method should be used when you want to inject
  5622. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5623. // access properties on the request object before or after sending the request. If
  5624. // you just want the service response, call the DeleteSnapshot method directly
  5625. // instead.
  5626. //
  5627. // Note: You must call the "Send" method on the returned request object in order
  5628. // to execute the request.
  5629. //
  5630. // // Example sending a request using the DeleteSnapshotRequest method.
  5631. // req, resp := client.DeleteSnapshotRequest(params)
  5632. //
  5633. // err := req.Send()
  5634. // if err == nil { // resp is now filled
  5635. // fmt.Println(resp)
  5636. // }
  5637. //
  5638. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  5639. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  5640. op := &request.Operation{
  5641. Name: opDeleteSnapshot,
  5642. HTTPMethod: "POST",
  5643. HTTPPath: "/",
  5644. }
  5645. if input == nil {
  5646. input = &DeleteSnapshotInput{}
  5647. }
  5648. output = &DeleteSnapshotOutput{}
  5649. req = c.newRequest(op, input, output)
  5650. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5651. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5652. return
  5653. }
  5654. // DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
  5655. //
  5656. // Deletes the specified snapshot.
  5657. //
  5658. // When you make periodic snapshots of a volume, the snapshots are incremental,
  5659. // and only the blocks on the device that have changed since your last snapshot
  5660. // are saved in the new snapshot. When you delete a snapshot, only the data
  5661. // not needed for any other snapshot is removed. So regardless of which prior
  5662. // snapshots have been deleted, all active snapshots will have access to all
  5663. // the information needed to restore the volume.
  5664. //
  5665. // You cannot delete a snapshot of the root device of an EBS volume used by
  5666. // a registered AMI. You must first de-register the AMI before you can delete
  5667. // the snapshot.
  5668. //
  5669. // For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  5670. // in the Amazon Elastic Compute Cloud User Guide.
  5671. //
  5672. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5673. // with awserr.Error's Code and Message methods to get detailed information about
  5674. // the error.
  5675. //
  5676. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5677. // API operation DeleteSnapshot for usage and error information.
  5678. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  5679. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  5680. req, out := c.DeleteSnapshotRequest(input)
  5681. return out, req.Send()
  5682. }
  5683. // DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
  5684. // the ability to pass a context and additional request options.
  5685. //
  5686. // See DeleteSnapshot for details on how to use this API operation.
  5687. //
  5688. // The context must be non-nil and will be used for request cancellation. If
  5689. // the context is nil a panic will occur. In the future the SDK may create
  5690. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5691. // for more information on using Contexts.
  5692. func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
  5693. req, out := c.DeleteSnapshotRequest(input)
  5694. req.SetContext(ctx)
  5695. req.ApplyOptions(opts...)
  5696. return out, req.Send()
  5697. }
  5698. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  5699. // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  5700. // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
  5701. // value can be used to capture response data after the request's "Send" method
  5702. // is called.
  5703. //
  5704. // See DeleteSpotDatafeedSubscription for usage and error information.
  5705. //
  5706. // Creating a request object using this method should be used when you want to inject
  5707. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5708. // access properties on the request object before or after sending the request. If
  5709. // you just want the service response, call the DeleteSpotDatafeedSubscription method directly
  5710. // instead.
  5711. //
  5712. // Note: You must call the "Send" method on the returned request object in order
  5713. // to execute the request.
  5714. //
  5715. // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
  5716. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
  5717. //
  5718. // err := req.Send()
  5719. // if err == nil { // resp is now filled
  5720. // fmt.Println(resp)
  5721. // }
  5722. //
  5723. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  5724. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  5725. op := &request.Operation{
  5726. Name: opDeleteSpotDatafeedSubscription,
  5727. HTTPMethod: "POST",
  5728. HTTPPath: "/",
  5729. }
  5730. if input == nil {
  5731. input = &DeleteSpotDatafeedSubscriptionInput{}
  5732. }
  5733. output = &DeleteSpotDatafeedSubscriptionOutput{}
  5734. req = c.newRequest(op, input, output)
  5735. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5736. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5737. return
  5738. }
  5739. // DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  5740. //
  5741. // Deletes the data feed for Spot instances.
  5742. //
  5743. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5744. // with awserr.Error's Code and Message methods to get detailed information about
  5745. // the error.
  5746. //
  5747. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5748. // API operation DeleteSpotDatafeedSubscription for usage and error information.
  5749. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  5750. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  5751. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  5752. return out, req.Send()
  5753. }
  5754. // DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
  5755. // the ability to pass a context and additional request options.
  5756. //
  5757. // See DeleteSpotDatafeedSubscription for details on how to use this API operation.
  5758. //
  5759. // The context must be non-nil and will be used for request cancellation. If
  5760. // the context is nil a panic will occur. In the future the SDK may create
  5761. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5762. // for more information on using Contexts.
  5763. func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  5764. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  5765. req.SetContext(ctx)
  5766. req.ApplyOptions(opts...)
  5767. return out, req.Send()
  5768. }
  5769. const opDeleteSubnet = "DeleteSubnet"
  5770. // DeleteSubnetRequest generates a "aws/request.Request" representing the
  5771. // client's request for the DeleteSubnet operation. The "output" return
  5772. // value can be used to capture response data after the request's "Send" method
  5773. // is called.
  5774. //
  5775. // See DeleteSubnet for usage and error information.
  5776. //
  5777. // Creating a request object using this method should be used when you want to inject
  5778. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5779. // access properties on the request object before or after sending the request. If
  5780. // you just want the service response, call the DeleteSubnet method directly
  5781. // instead.
  5782. //
  5783. // Note: You must call the "Send" method on the returned request object in order
  5784. // to execute the request.
  5785. //
  5786. // // Example sending a request using the DeleteSubnetRequest method.
  5787. // req, resp := client.DeleteSubnetRequest(params)
  5788. //
  5789. // err := req.Send()
  5790. // if err == nil { // resp is now filled
  5791. // fmt.Println(resp)
  5792. // }
  5793. //
  5794. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  5795. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  5796. op := &request.Operation{
  5797. Name: opDeleteSubnet,
  5798. HTTPMethod: "POST",
  5799. HTTPPath: "/",
  5800. }
  5801. if input == nil {
  5802. input = &DeleteSubnetInput{}
  5803. }
  5804. output = &DeleteSubnetOutput{}
  5805. req = c.newRequest(op, input, output)
  5806. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5807. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5808. return
  5809. }
  5810. // DeleteSubnet API operation for Amazon Elastic Compute Cloud.
  5811. //
  5812. // Deletes the specified subnet. You must terminate all running instances in
  5813. // the subnet before you can delete the subnet.
  5814. //
  5815. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5816. // with awserr.Error's Code and Message methods to get detailed information about
  5817. // the error.
  5818. //
  5819. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5820. // API operation DeleteSubnet for usage and error information.
  5821. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  5822. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  5823. req, out := c.DeleteSubnetRequest(input)
  5824. return out, req.Send()
  5825. }
  5826. // DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
  5827. // the ability to pass a context and additional request options.
  5828. //
  5829. // See DeleteSubnet for details on how to use this API operation.
  5830. //
  5831. // The context must be non-nil and will be used for request cancellation. If
  5832. // the context is nil a panic will occur. In the future the SDK may create
  5833. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5834. // for more information on using Contexts.
  5835. func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
  5836. req, out := c.DeleteSubnetRequest(input)
  5837. req.SetContext(ctx)
  5838. req.ApplyOptions(opts...)
  5839. return out, req.Send()
  5840. }
  5841. const opDeleteTags = "DeleteTags"
  5842. // DeleteTagsRequest generates a "aws/request.Request" representing the
  5843. // client's request for the DeleteTags operation. The "output" return
  5844. // value can be used to capture response data after the request's "Send" method
  5845. // is called.
  5846. //
  5847. // See DeleteTags for usage and error information.
  5848. //
  5849. // Creating a request object using this method should be used when you want to inject
  5850. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5851. // access properties on the request object before or after sending the request. If
  5852. // you just want the service response, call the DeleteTags method directly
  5853. // instead.
  5854. //
  5855. // Note: You must call the "Send" method on the returned request object in order
  5856. // to execute the request.
  5857. //
  5858. // // Example sending a request using the DeleteTagsRequest method.
  5859. // req, resp := client.DeleteTagsRequest(params)
  5860. //
  5861. // err := req.Send()
  5862. // if err == nil { // resp is now filled
  5863. // fmt.Println(resp)
  5864. // }
  5865. //
  5866. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  5867. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  5868. op := &request.Operation{
  5869. Name: opDeleteTags,
  5870. HTTPMethod: "POST",
  5871. HTTPPath: "/",
  5872. }
  5873. if input == nil {
  5874. input = &DeleteTagsInput{}
  5875. }
  5876. output = &DeleteTagsOutput{}
  5877. req = c.newRequest(op, input, output)
  5878. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5879. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5880. return
  5881. }
  5882. // DeleteTags API operation for Amazon Elastic Compute Cloud.
  5883. //
  5884. // Deletes the specified set of tags from the specified set of resources. This
  5885. // call is designed to follow a DescribeTags request.
  5886. //
  5887. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  5888. // in the Amazon Elastic Compute Cloud User Guide.
  5889. //
  5890. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5891. // with awserr.Error's Code and Message methods to get detailed information about
  5892. // the error.
  5893. //
  5894. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5895. // API operation DeleteTags for usage and error information.
  5896. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  5897. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  5898. req, out := c.DeleteTagsRequest(input)
  5899. return out, req.Send()
  5900. }
  5901. // DeleteTagsWithContext is the same as DeleteTags with the addition of
  5902. // the ability to pass a context and additional request options.
  5903. //
  5904. // See DeleteTags for details on how to use this API operation.
  5905. //
  5906. // The context must be non-nil and will be used for request cancellation. If
  5907. // the context is nil a panic will occur. In the future the SDK may create
  5908. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5909. // for more information on using Contexts.
  5910. func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  5911. req, out := c.DeleteTagsRequest(input)
  5912. req.SetContext(ctx)
  5913. req.ApplyOptions(opts...)
  5914. return out, req.Send()
  5915. }
  5916. const opDeleteVolume = "DeleteVolume"
  5917. // DeleteVolumeRequest generates a "aws/request.Request" representing the
  5918. // client's request for the DeleteVolume operation. The "output" return
  5919. // value can be used to capture response data after the request's "Send" method
  5920. // is called.
  5921. //
  5922. // See DeleteVolume for usage and error information.
  5923. //
  5924. // Creating a request object using this method should be used when you want to inject
  5925. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5926. // access properties on the request object before or after sending the request. If
  5927. // you just want the service response, call the DeleteVolume method directly
  5928. // instead.
  5929. //
  5930. // Note: You must call the "Send" method on the returned request object in order
  5931. // to execute the request.
  5932. //
  5933. // // Example sending a request using the DeleteVolumeRequest method.
  5934. // req, resp := client.DeleteVolumeRequest(params)
  5935. //
  5936. // err := req.Send()
  5937. // if err == nil { // resp is now filled
  5938. // fmt.Println(resp)
  5939. // }
  5940. //
  5941. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  5942. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  5943. op := &request.Operation{
  5944. Name: opDeleteVolume,
  5945. HTTPMethod: "POST",
  5946. HTTPPath: "/",
  5947. }
  5948. if input == nil {
  5949. input = &DeleteVolumeInput{}
  5950. }
  5951. output = &DeleteVolumeOutput{}
  5952. req = c.newRequest(op, input, output)
  5953. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5954. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5955. return
  5956. }
  5957. // DeleteVolume API operation for Amazon Elastic Compute Cloud.
  5958. //
  5959. // Deletes the specified EBS volume. The volume must be in the available state
  5960. // (not attached to an instance).
  5961. //
  5962. // The volume may remain in the deleting state for several minutes.
  5963. //
  5964. // For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  5965. // in the Amazon Elastic Compute Cloud User Guide.
  5966. //
  5967. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5968. // with awserr.Error's Code and Message methods to get detailed information about
  5969. // the error.
  5970. //
  5971. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5972. // API operation DeleteVolume for usage and error information.
  5973. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  5974. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  5975. req, out := c.DeleteVolumeRequest(input)
  5976. return out, req.Send()
  5977. }
  5978. // DeleteVolumeWithContext is the same as DeleteVolume with the addition of
  5979. // the ability to pass a context and additional request options.
  5980. //
  5981. // See DeleteVolume for details on how to use this API operation.
  5982. //
  5983. // The context must be non-nil and will be used for request cancellation. If
  5984. // the context is nil a panic will occur. In the future the SDK may create
  5985. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5986. // for more information on using Contexts.
  5987. func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
  5988. req, out := c.DeleteVolumeRequest(input)
  5989. req.SetContext(ctx)
  5990. req.ApplyOptions(opts...)
  5991. return out, req.Send()
  5992. }
  5993. const opDeleteVpc = "DeleteVpc"
  5994. // DeleteVpcRequest generates a "aws/request.Request" representing the
  5995. // client's request for the DeleteVpc operation. The "output" return
  5996. // value can be used to capture response data after the request's "Send" method
  5997. // is called.
  5998. //
  5999. // See DeleteVpc for usage and error information.
  6000. //
  6001. // Creating a request object using this method should be used when you want to inject
  6002. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6003. // access properties on the request object before or after sending the request. If
  6004. // you just want the service response, call the DeleteVpc method directly
  6005. // instead.
  6006. //
  6007. // Note: You must call the "Send" method on the returned request object in order
  6008. // to execute the request.
  6009. //
  6010. // // Example sending a request using the DeleteVpcRequest method.
  6011. // req, resp := client.DeleteVpcRequest(params)
  6012. //
  6013. // err := req.Send()
  6014. // if err == nil { // resp is now filled
  6015. // fmt.Println(resp)
  6016. // }
  6017. //
  6018. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  6019. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  6020. op := &request.Operation{
  6021. Name: opDeleteVpc,
  6022. HTTPMethod: "POST",
  6023. HTTPPath: "/",
  6024. }
  6025. if input == nil {
  6026. input = &DeleteVpcInput{}
  6027. }
  6028. output = &DeleteVpcOutput{}
  6029. req = c.newRequest(op, input, output)
  6030. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6031. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6032. return
  6033. }
  6034. // DeleteVpc API operation for Amazon Elastic Compute Cloud.
  6035. //
  6036. // Deletes the specified VPC. You must detach or delete all gateways and resources
  6037. // that are associated with the VPC before you can delete it. For example, you
  6038. // must terminate all instances running in the VPC, delete all security groups
  6039. // associated with the VPC (except the default one), delete all route tables
  6040. // associated with the VPC (except the default one), and so on.
  6041. //
  6042. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6043. // with awserr.Error's Code and Message methods to get detailed information about
  6044. // the error.
  6045. //
  6046. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6047. // API operation DeleteVpc for usage and error information.
  6048. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  6049. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  6050. req, out := c.DeleteVpcRequest(input)
  6051. return out, req.Send()
  6052. }
  6053. // DeleteVpcWithContext is the same as DeleteVpc with the addition of
  6054. // the ability to pass a context and additional request options.
  6055. //
  6056. // See DeleteVpc for details on how to use this API operation.
  6057. //
  6058. // The context must be non-nil and will be used for request cancellation. If
  6059. // the context is nil a panic will occur. In the future the SDK may create
  6060. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6061. // for more information on using Contexts.
  6062. func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
  6063. req, out := c.DeleteVpcRequest(input)
  6064. req.SetContext(ctx)
  6065. req.ApplyOptions(opts...)
  6066. return out, req.Send()
  6067. }
  6068. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  6069. // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
  6070. // client's request for the DeleteVpcEndpoints operation. The "output" return
  6071. // value can be used to capture response data after the request's "Send" method
  6072. // is called.
  6073. //
  6074. // See DeleteVpcEndpoints for usage and error information.
  6075. //
  6076. // Creating a request object using this method should be used when you want to inject
  6077. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6078. // access properties on the request object before or after sending the request. If
  6079. // you just want the service response, call the DeleteVpcEndpoints method directly
  6080. // instead.
  6081. //
  6082. // Note: You must call the "Send" method on the returned request object in order
  6083. // to execute the request.
  6084. //
  6085. // // Example sending a request using the DeleteVpcEndpointsRequest method.
  6086. // req, resp := client.DeleteVpcEndpointsRequest(params)
  6087. //
  6088. // err := req.Send()
  6089. // if err == nil { // resp is now filled
  6090. // fmt.Println(resp)
  6091. // }
  6092. //
  6093. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  6094. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  6095. op := &request.Operation{
  6096. Name: opDeleteVpcEndpoints,
  6097. HTTPMethod: "POST",
  6098. HTTPPath: "/",
  6099. }
  6100. if input == nil {
  6101. input = &DeleteVpcEndpointsInput{}
  6102. }
  6103. output = &DeleteVpcEndpointsOutput{}
  6104. req = c.newRequest(op, input, output)
  6105. return
  6106. }
  6107. // DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  6108. //
  6109. // Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes
  6110. // the endpoint routes in the route tables that were associated with the endpoint.
  6111. //
  6112. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6113. // with awserr.Error's Code and Message methods to get detailed information about
  6114. // the error.
  6115. //
  6116. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6117. // API operation DeleteVpcEndpoints for usage and error information.
  6118. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  6119. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  6120. req, out := c.DeleteVpcEndpointsRequest(input)
  6121. return out, req.Send()
  6122. }
  6123. // DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
  6124. // the ability to pass a context and additional request options.
  6125. //
  6126. // See DeleteVpcEndpoints for details on how to use this API operation.
  6127. //
  6128. // The context must be non-nil and will be used for request cancellation. If
  6129. // the context is nil a panic will occur. In the future the SDK may create
  6130. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6131. // for more information on using Contexts.
  6132. func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
  6133. req, out := c.DeleteVpcEndpointsRequest(input)
  6134. req.SetContext(ctx)
  6135. req.ApplyOptions(opts...)
  6136. return out, req.Send()
  6137. }
  6138. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  6139. // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  6140. // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  6141. // value can be used to capture response data after the request's "Send" method
  6142. // is called.
  6143. //
  6144. // See DeleteVpcPeeringConnection for usage and error information.
  6145. //
  6146. // Creating a request object using this method should be used when you want to inject
  6147. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6148. // access properties on the request object before or after sending the request. If
  6149. // you just want the service response, call the DeleteVpcPeeringConnection method directly
  6150. // instead.
  6151. //
  6152. // Note: You must call the "Send" method on the returned request object in order
  6153. // to execute the request.
  6154. //
  6155. // // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  6156. // req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  6157. //
  6158. // err := req.Send()
  6159. // if err == nil { // resp is now filled
  6160. // fmt.Println(resp)
  6161. // }
  6162. //
  6163. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  6164. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  6165. op := &request.Operation{
  6166. Name: opDeleteVpcPeeringConnection,
  6167. HTTPMethod: "POST",
  6168. HTTPPath: "/",
  6169. }
  6170. if input == nil {
  6171. input = &DeleteVpcPeeringConnectionInput{}
  6172. }
  6173. output = &DeleteVpcPeeringConnectionOutput{}
  6174. req = c.newRequest(op, input, output)
  6175. return
  6176. }
  6177. // DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  6178. //
  6179. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  6180. // the owner of the peer VPC can delete the VPC peering connection if it's in
  6181. // the active state. The owner of the requester VPC can delete a VPC peering
  6182. // connection in the pending-acceptance state.
  6183. //
  6184. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6185. // with awserr.Error's Code and Message methods to get detailed information about
  6186. // the error.
  6187. //
  6188. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6189. // API operation DeleteVpcPeeringConnection for usage and error information.
  6190. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  6191. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  6192. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  6193. return out, req.Send()
  6194. }
  6195. // DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
  6196. // the ability to pass a context and additional request options.
  6197. //
  6198. // See DeleteVpcPeeringConnection for details on how to use this API operation.
  6199. //
  6200. // The context must be non-nil and will be used for request cancellation. If
  6201. // the context is nil a panic will occur. In the future the SDK may create
  6202. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6203. // for more information on using Contexts.
  6204. func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
  6205. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  6206. req.SetContext(ctx)
  6207. req.ApplyOptions(opts...)
  6208. return out, req.Send()
  6209. }
  6210. const opDeleteVpnConnection = "DeleteVpnConnection"
  6211. // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
  6212. // client's request for the DeleteVpnConnection operation. The "output" return
  6213. // value can be used to capture response data after the request's "Send" method
  6214. // is called.
  6215. //
  6216. // See DeleteVpnConnection for usage and error information.
  6217. //
  6218. // Creating a request object using this method should be used when you want to inject
  6219. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6220. // access properties on the request object before or after sending the request. If
  6221. // you just want the service response, call the DeleteVpnConnection method directly
  6222. // instead.
  6223. //
  6224. // Note: You must call the "Send" method on the returned request object in order
  6225. // to execute the request.
  6226. //
  6227. // // Example sending a request using the DeleteVpnConnectionRequest method.
  6228. // req, resp := client.DeleteVpnConnectionRequest(params)
  6229. //
  6230. // err := req.Send()
  6231. // if err == nil { // resp is now filled
  6232. // fmt.Println(resp)
  6233. // }
  6234. //
  6235. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  6236. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  6237. op := &request.Operation{
  6238. Name: opDeleteVpnConnection,
  6239. HTTPMethod: "POST",
  6240. HTTPPath: "/",
  6241. }
  6242. if input == nil {
  6243. input = &DeleteVpnConnectionInput{}
  6244. }
  6245. output = &DeleteVpnConnectionOutput{}
  6246. req = c.newRequest(op, input, output)
  6247. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6248. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6249. return
  6250. }
  6251. // DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
  6252. //
  6253. // Deletes the specified VPN connection.
  6254. //
  6255. // If you're deleting the VPC and its associated components, we recommend that
  6256. // you detach the virtual private gateway from the VPC and delete the VPC before
  6257. // deleting the VPN connection. If you believe that the tunnel credentials for
  6258. // your VPN connection have been compromised, you can delete the VPN connection
  6259. // and create a new one that has new keys, without needing to delete the VPC
  6260. // or virtual private gateway. If you create a new VPN connection, you must
  6261. // reconfigure the customer gateway using the new configuration information
  6262. // returned with the new VPN connection ID.
  6263. //
  6264. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6265. // with awserr.Error's Code and Message methods to get detailed information about
  6266. // the error.
  6267. //
  6268. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6269. // API operation DeleteVpnConnection for usage and error information.
  6270. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  6271. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  6272. req, out := c.DeleteVpnConnectionRequest(input)
  6273. return out, req.Send()
  6274. }
  6275. // DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
  6276. // the ability to pass a context and additional request options.
  6277. //
  6278. // See DeleteVpnConnection for details on how to use this API operation.
  6279. //
  6280. // The context must be non-nil and will be used for request cancellation. If
  6281. // the context is nil a panic will occur. In the future the SDK may create
  6282. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6283. // for more information on using Contexts.
  6284. func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
  6285. req, out := c.DeleteVpnConnectionRequest(input)
  6286. req.SetContext(ctx)
  6287. req.ApplyOptions(opts...)
  6288. return out, req.Send()
  6289. }
  6290. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  6291. // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  6292. // client's request for the DeleteVpnConnectionRoute operation. The "output" return
  6293. // value can be used to capture response data after the request's "Send" method
  6294. // is called.
  6295. //
  6296. // See DeleteVpnConnectionRoute for usage and error information.
  6297. //
  6298. // Creating a request object using this method should be used when you want to inject
  6299. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6300. // access properties on the request object before or after sending the request. If
  6301. // you just want the service response, call the DeleteVpnConnectionRoute method directly
  6302. // instead.
  6303. //
  6304. // Note: You must call the "Send" method on the returned request object in order
  6305. // to execute the request.
  6306. //
  6307. // // Example sending a request using the DeleteVpnConnectionRouteRequest method.
  6308. // req, resp := client.DeleteVpnConnectionRouteRequest(params)
  6309. //
  6310. // err := req.Send()
  6311. // if err == nil { // resp is now filled
  6312. // fmt.Println(resp)
  6313. // }
  6314. //
  6315. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  6316. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  6317. op := &request.Operation{
  6318. Name: opDeleteVpnConnectionRoute,
  6319. HTTPMethod: "POST",
  6320. HTTPPath: "/",
  6321. }
  6322. if input == nil {
  6323. input = &DeleteVpnConnectionRouteInput{}
  6324. }
  6325. output = &DeleteVpnConnectionRouteOutput{}
  6326. req = c.newRequest(op, input, output)
  6327. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6328. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6329. return
  6330. }
  6331. // DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  6332. //
  6333. // Deletes the specified static route associated with a VPN connection between
  6334. // an existing virtual private gateway and a VPN customer gateway. The static
  6335. // route allows traffic to be routed from the virtual private gateway to the
  6336. // VPN customer gateway.
  6337. //
  6338. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6339. // with awserr.Error's Code and Message methods to get detailed information about
  6340. // the error.
  6341. //
  6342. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6343. // API operation DeleteVpnConnectionRoute for usage and error information.
  6344. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  6345. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  6346. req, out := c.DeleteVpnConnectionRouteRequest(input)
  6347. return out, req.Send()
  6348. }
  6349. // DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
  6350. // the ability to pass a context and additional request options.
  6351. //
  6352. // See DeleteVpnConnectionRoute for details on how to use this API operation.
  6353. //
  6354. // The context must be non-nil and will be used for request cancellation. If
  6355. // the context is nil a panic will occur. In the future the SDK may create
  6356. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6357. // for more information on using Contexts.
  6358. func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
  6359. req, out := c.DeleteVpnConnectionRouteRequest(input)
  6360. req.SetContext(ctx)
  6361. req.ApplyOptions(opts...)
  6362. return out, req.Send()
  6363. }
  6364. const opDeleteVpnGateway = "DeleteVpnGateway"
  6365. // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
  6366. // client's request for the DeleteVpnGateway operation. The "output" return
  6367. // value can be used to capture response data after the request's "Send" method
  6368. // is called.
  6369. //
  6370. // See DeleteVpnGateway for usage and error information.
  6371. //
  6372. // Creating a request object using this method should be used when you want to inject
  6373. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6374. // access properties on the request object before or after sending the request. If
  6375. // you just want the service response, call the DeleteVpnGateway method directly
  6376. // instead.
  6377. //
  6378. // Note: You must call the "Send" method on the returned request object in order
  6379. // to execute the request.
  6380. //
  6381. // // Example sending a request using the DeleteVpnGatewayRequest method.
  6382. // req, resp := client.DeleteVpnGatewayRequest(params)
  6383. //
  6384. // err := req.Send()
  6385. // if err == nil { // resp is now filled
  6386. // fmt.Println(resp)
  6387. // }
  6388. //
  6389. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  6390. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  6391. op := &request.Operation{
  6392. Name: opDeleteVpnGateway,
  6393. HTTPMethod: "POST",
  6394. HTTPPath: "/",
  6395. }
  6396. if input == nil {
  6397. input = &DeleteVpnGatewayInput{}
  6398. }
  6399. output = &DeleteVpnGatewayOutput{}
  6400. req = c.newRequest(op, input, output)
  6401. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6402. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6403. return
  6404. }
  6405. // DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
  6406. //
  6407. // Deletes the specified virtual private gateway. We recommend that before you
  6408. // delete a virtual private gateway, you detach it from the VPC and delete the
  6409. // VPN connection. Note that you don't need to delete the virtual private gateway
  6410. // if you plan to delete and recreate the VPN connection between your VPC and
  6411. // your network.
  6412. //
  6413. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6414. // with awserr.Error's Code and Message methods to get detailed information about
  6415. // the error.
  6416. //
  6417. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6418. // API operation DeleteVpnGateway for usage and error information.
  6419. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  6420. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  6421. req, out := c.DeleteVpnGatewayRequest(input)
  6422. return out, req.Send()
  6423. }
  6424. // DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
  6425. // the ability to pass a context and additional request options.
  6426. //
  6427. // See DeleteVpnGateway for details on how to use this API operation.
  6428. //
  6429. // The context must be non-nil and will be used for request cancellation. If
  6430. // the context is nil a panic will occur. In the future the SDK may create
  6431. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6432. // for more information on using Contexts.
  6433. func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
  6434. req, out := c.DeleteVpnGatewayRequest(input)
  6435. req.SetContext(ctx)
  6436. req.ApplyOptions(opts...)
  6437. return out, req.Send()
  6438. }
  6439. const opDeregisterImage = "DeregisterImage"
  6440. // DeregisterImageRequest generates a "aws/request.Request" representing the
  6441. // client's request for the DeregisterImage operation. The "output" return
  6442. // value can be used to capture response data after the request's "Send" method
  6443. // is called.
  6444. //
  6445. // See DeregisterImage for usage and error information.
  6446. //
  6447. // Creating a request object using this method should be used when you want to inject
  6448. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6449. // access properties on the request object before or after sending the request. If
  6450. // you just want the service response, call the DeregisterImage method directly
  6451. // instead.
  6452. //
  6453. // Note: You must call the "Send" method on the returned request object in order
  6454. // to execute the request.
  6455. //
  6456. // // Example sending a request using the DeregisterImageRequest method.
  6457. // req, resp := client.DeregisterImageRequest(params)
  6458. //
  6459. // err := req.Send()
  6460. // if err == nil { // resp is now filled
  6461. // fmt.Println(resp)
  6462. // }
  6463. //
  6464. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  6465. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  6466. op := &request.Operation{
  6467. Name: opDeregisterImage,
  6468. HTTPMethod: "POST",
  6469. HTTPPath: "/",
  6470. }
  6471. if input == nil {
  6472. input = &DeregisterImageInput{}
  6473. }
  6474. output = &DeregisterImageOutput{}
  6475. req = c.newRequest(op, input, output)
  6476. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6477. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6478. return
  6479. }
  6480. // DeregisterImage API operation for Amazon Elastic Compute Cloud.
  6481. //
  6482. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  6483. // to launch new instances.
  6484. //
  6485. // This command does not delete the AMI.
  6486. //
  6487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6488. // with awserr.Error's Code and Message methods to get detailed information about
  6489. // the error.
  6490. //
  6491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6492. // API operation DeregisterImage for usage and error information.
  6493. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  6494. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  6495. req, out := c.DeregisterImageRequest(input)
  6496. return out, req.Send()
  6497. }
  6498. // DeregisterImageWithContext is the same as DeregisterImage with the addition of
  6499. // the ability to pass a context and additional request options.
  6500. //
  6501. // See DeregisterImage for details on how to use this API operation.
  6502. //
  6503. // The context must be non-nil and will be used for request cancellation. If
  6504. // the context is nil a panic will occur. In the future the SDK may create
  6505. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6506. // for more information on using Contexts.
  6507. func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
  6508. req, out := c.DeregisterImageRequest(input)
  6509. req.SetContext(ctx)
  6510. req.ApplyOptions(opts...)
  6511. return out, req.Send()
  6512. }
  6513. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  6514. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  6515. // client's request for the DescribeAccountAttributes operation. The "output" return
  6516. // value can be used to capture response data after the request's "Send" method
  6517. // is called.
  6518. //
  6519. // See DescribeAccountAttributes for usage and error information.
  6520. //
  6521. // Creating a request object using this method should be used when you want to inject
  6522. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6523. // access properties on the request object before or after sending the request. If
  6524. // you just want the service response, call the DescribeAccountAttributes method directly
  6525. // instead.
  6526. //
  6527. // Note: You must call the "Send" method on the returned request object in order
  6528. // to execute the request.
  6529. //
  6530. // // Example sending a request using the DescribeAccountAttributesRequest method.
  6531. // req, resp := client.DescribeAccountAttributesRequest(params)
  6532. //
  6533. // err := req.Send()
  6534. // if err == nil { // resp is now filled
  6535. // fmt.Println(resp)
  6536. // }
  6537. //
  6538. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  6539. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  6540. op := &request.Operation{
  6541. Name: opDescribeAccountAttributes,
  6542. HTTPMethod: "POST",
  6543. HTTPPath: "/",
  6544. }
  6545. if input == nil {
  6546. input = &DescribeAccountAttributesInput{}
  6547. }
  6548. output = &DescribeAccountAttributesOutput{}
  6549. req = c.newRequest(op, input, output)
  6550. return
  6551. }
  6552. // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
  6553. //
  6554. // Describes attributes of your AWS account. The following are the supported
  6555. // account attributes:
  6556. //
  6557. // * supported-platforms: Indicates whether your account can launch instances
  6558. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  6559. //
  6560. // * default-vpc: The ID of the default VPC for your account, or none.
  6561. //
  6562. // * max-instances: The maximum number of On-Demand instances that you can
  6563. // run.
  6564. //
  6565. // * vpc-max-security-groups-per-interface: The maximum number of security
  6566. // groups that you can assign to a network interface.
  6567. //
  6568. // * max-elastic-ips: The maximum number of Elastic IP addresses that you
  6569. // can allocate for use with EC2-Classic.
  6570. //
  6571. // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
  6572. // you can allocate for use with EC2-VPC.
  6573. //
  6574. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6575. // with awserr.Error's Code and Message methods to get detailed information about
  6576. // the error.
  6577. //
  6578. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6579. // API operation DescribeAccountAttributes for usage and error information.
  6580. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  6581. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  6582. req, out := c.DescribeAccountAttributesRequest(input)
  6583. return out, req.Send()
  6584. }
  6585. // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
  6586. // the ability to pass a context and additional request options.
  6587. //
  6588. // See DescribeAccountAttributes for details on how to use this API operation.
  6589. //
  6590. // The context must be non-nil and will be used for request cancellation. If
  6591. // the context is nil a panic will occur. In the future the SDK may create
  6592. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6593. // for more information on using Contexts.
  6594. func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
  6595. req, out := c.DescribeAccountAttributesRequest(input)
  6596. req.SetContext(ctx)
  6597. req.ApplyOptions(opts...)
  6598. return out, req.Send()
  6599. }
  6600. const opDescribeAddresses = "DescribeAddresses"
  6601. // DescribeAddressesRequest generates a "aws/request.Request" representing the
  6602. // client's request for the DescribeAddresses operation. The "output" return
  6603. // value can be used to capture response data after the request's "Send" method
  6604. // is called.
  6605. //
  6606. // See DescribeAddresses for usage and error information.
  6607. //
  6608. // Creating a request object using this method should be used when you want to inject
  6609. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6610. // access properties on the request object before or after sending the request. If
  6611. // you just want the service response, call the DescribeAddresses method directly
  6612. // instead.
  6613. //
  6614. // Note: You must call the "Send" method on the returned request object in order
  6615. // to execute the request.
  6616. //
  6617. // // Example sending a request using the DescribeAddressesRequest method.
  6618. // req, resp := client.DescribeAddressesRequest(params)
  6619. //
  6620. // err := req.Send()
  6621. // if err == nil { // resp is now filled
  6622. // fmt.Println(resp)
  6623. // }
  6624. //
  6625. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  6626. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  6627. op := &request.Operation{
  6628. Name: opDescribeAddresses,
  6629. HTTPMethod: "POST",
  6630. HTTPPath: "/",
  6631. }
  6632. if input == nil {
  6633. input = &DescribeAddressesInput{}
  6634. }
  6635. output = &DescribeAddressesOutput{}
  6636. req = c.newRequest(op, input, output)
  6637. return
  6638. }
  6639. // DescribeAddresses API operation for Amazon Elastic Compute Cloud.
  6640. //
  6641. // Describes one or more of your Elastic IP addresses.
  6642. //
  6643. // An Elastic IP address is for use in either the EC2-Classic platform or in
  6644. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  6645. // in the Amazon Elastic Compute Cloud User Guide.
  6646. //
  6647. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6648. // with awserr.Error's Code and Message methods to get detailed information about
  6649. // the error.
  6650. //
  6651. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6652. // API operation DescribeAddresses for usage and error information.
  6653. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  6654. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  6655. req, out := c.DescribeAddressesRequest(input)
  6656. return out, req.Send()
  6657. }
  6658. // DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
  6659. // the ability to pass a context and additional request options.
  6660. //
  6661. // See DescribeAddresses for details on how to use this API operation.
  6662. //
  6663. // The context must be non-nil and will be used for request cancellation. If
  6664. // the context is nil a panic will occur. In the future the SDK may create
  6665. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6666. // for more information on using Contexts.
  6667. func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
  6668. req, out := c.DescribeAddressesRequest(input)
  6669. req.SetContext(ctx)
  6670. req.ApplyOptions(opts...)
  6671. return out, req.Send()
  6672. }
  6673. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  6674. // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
  6675. // client's request for the DescribeAvailabilityZones operation. The "output" return
  6676. // value can be used to capture response data after the request's "Send" method
  6677. // is called.
  6678. //
  6679. // See DescribeAvailabilityZones for usage and error information.
  6680. //
  6681. // Creating a request object using this method should be used when you want to inject
  6682. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6683. // access properties on the request object before or after sending the request. If
  6684. // you just want the service response, call the DescribeAvailabilityZones method directly
  6685. // instead.
  6686. //
  6687. // Note: You must call the "Send" method on the returned request object in order
  6688. // to execute the request.
  6689. //
  6690. // // Example sending a request using the DescribeAvailabilityZonesRequest method.
  6691. // req, resp := client.DescribeAvailabilityZonesRequest(params)
  6692. //
  6693. // err := req.Send()
  6694. // if err == nil { // resp is now filled
  6695. // fmt.Println(resp)
  6696. // }
  6697. //
  6698. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  6699. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  6700. op := &request.Operation{
  6701. Name: opDescribeAvailabilityZones,
  6702. HTTPMethod: "POST",
  6703. HTTPPath: "/",
  6704. }
  6705. if input == nil {
  6706. input = &DescribeAvailabilityZonesInput{}
  6707. }
  6708. output = &DescribeAvailabilityZonesOutput{}
  6709. req = c.newRequest(op, input, output)
  6710. return
  6711. }
  6712. // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
  6713. //
  6714. // Describes one or more of the Availability Zones that are available to you.
  6715. // The results include zones only for the region you're currently using. If
  6716. // there is an event impacting an Availability Zone, you can use this request
  6717. // to view the state and any provided message for that Availability Zone.
  6718. //
  6719. // For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  6720. // in the Amazon Elastic Compute Cloud User Guide.
  6721. //
  6722. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6723. // with awserr.Error's Code and Message methods to get detailed information about
  6724. // the error.
  6725. //
  6726. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6727. // API operation DescribeAvailabilityZones for usage and error information.
  6728. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  6729. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  6730. req, out := c.DescribeAvailabilityZonesRequest(input)
  6731. return out, req.Send()
  6732. }
  6733. // DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
  6734. // the ability to pass a context and additional request options.
  6735. //
  6736. // See DescribeAvailabilityZones for details on how to use this API operation.
  6737. //
  6738. // The context must be non-nil and will be used for request cancellation. If
  6739. // the context is nil a panic will occur. In the future the SDK may create
  6740. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6741. // for more information on using Contexts.
  6742. func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
  6743. req, out := c.DescribeAvailabilityZonesRequest(input)
  6744. req.SetContext(ctx)
  6745. req.ApplyOptions(opts...)
  6746. return out, req.Send()
  6747. }
  6748. const opDescribeBundleTasks = "DescribeBundleTasks"
  6749. // DescribeBundleTasksRequest generates a "aws/request.Request" representing the
  6750. // client's request for the DescribeBundleTasks operation. The "output" return
  6751. // value can be used to capture response data after the request's "Send" method
  6752. // is called.
  6753. //
  6754. // See DescribeBundleTasks for usage and error information.
  6755. //
  6756. // Creating a request object using this method should be used when you want to inject
  6757. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6758. // access properties on the request object before or after sending the request. If
  6759. // you just want the service response, call the DescribeBundleTasks method directly
  6760. // instead.
  6761. //
  6762. // Note: You must call the "Send" method on the returned request object in order
  6763. // to execute the request.
  6764. //
  6765. // // Example sending a request using the DescribeBundleTasksRequest method.
  6766. // req, resp := client.DescribeBundleTasksRequest(params)
  6767. //
  6768. // err := req.Send()
  6769. // if err == nil { // resp is now filled
  6770. // fmt.Println(resp)
  6771. // }
  6772. //
  6773. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  6774. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  6775. op := &request.Operation{
  6776. Name: opDescribeBundleTasks,
  6777. HTTPMethod: "POST",
  6778. HTTPPath: "/",
  6779. }
  6780. if input == nil {
  6781. input = &DescribeBundleTasksInput{}
  6782. }
  6783. output = &DescribeBundleTasksOutput{}
  6784. req = c.newRequest(op, input, output)
  6785. return
  6786. }
  6787. // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
  6788. //
  6789. // Describes one or more of your bundling tasks.
  6790. //
  6791. // Completed bundle tasks are listed for only a limited time. If your bundle
  6792. // task is no longer in the list, you can still register an AMI from it. Just
  6793. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  6794. // you provided to the bundle task.
  6795. //
  6796. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6797. // with awserr.Error's Code and Message methods to get detailed information about
  6798. // the error.
  6799. //
  6800. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6801. // API operation DescribeBundleTasks for usage and error information.
  6802. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  6803. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  6804. req, out := c.DescribeBundleTasksRequest(input)
  6805. return out, req.Send()
  6806. }
  6807. // DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
  6808. // the ability to pass a context and additional request options.
  6809. //
  6810. // See DescribeBundleTasks for details on how to use this API operation.
  6811. //
  6812. // The context must be non-nil and will be used for request cancellation. If
  6813. // the context is nil a panic will occur. In the future the SDK may create
  6814. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6815. // for more information on using Contexts.
  6816. func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
  6817. req, out := c.DescribeBundleTasksRequest(input)
  6818. req.SetContext(ctx)
  6819. req.ApplyOptions(opts...)
  6820. return out, req.Send()
  6821. }
  6822. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  6823. // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
  6824. // client's request for the DescribeClassicLinkInstances operation. The "output" return
  6825. // value can be used to capture response data after the request's "Send" method
  6826. // is called.
  6827. //
  6828. // See DescribeClassicLinkInstances for usage and error information.
  6829. //
  6830. // Creating a request object using this method should be used when you want to inject
  6831. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6832. // access properties on the request object before or after sending the request. If
  6833. // you just want the service response, call the DescribeClassicLinkInstances method directly
  6834. // instead.
  6835. //
  6836. // Note: You must call the "Send" method on the returned request object in order
  6837. // to execute the request.
  6838. //
  6839. // // Example sending a request using the DescribeClassicLinkInstancesRequest method.
  6840. // req, resp := client.DescribeClassicLinkInstancesRequest(params)
  6841. //
  6842. // err := req.Send()
  6843. // if err == nil { // resp is now filled
  6844. // fmt.Println(resp)
  6845. // }
  6846. //
  6847. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  6848. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  6849. op := &request.Operation{
  6850. Name: opDescribeClassicLinkInstances,
  6851. HTTPMethod: "POST",
  6852. HTTPPath: "/",
  6853. }
  6854. if input == nil {
  6855. input = &DescribeClassicLinkInstancesInput{}
  6856. }
  6857. output = &DescribeClassicLinkInstancesOutput{}
  6858. req = c.newRequest(op, input, output)
  6859. return
  6860. }
  6861. // DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
  6862. //
  6863. // Describes one or more of your linked EC2-Classic instances. This request
  6864. // only returns information about EC2-Classic instances linked to a VPC through
  6865. // ClassicLink; you cannot use this request to return information about other
  6866. // instances.
  6867. //
  6868. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6869. // with awserr.Error's Code and Message methods to get detailed information about
  6870. // the error.
  6871. //
  6872. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6873. // API operation DescribeClassicLinkInstances for usage and error information.
  6874. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  6875. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  6876. req, out := c.DescribeClassicLinkInstancesRequest(input)
  6877. return out, req.Send()
  6878. }
  6879. // DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
  6880. // the ability to pass a context and additional request options.
  6881. //
  6882. // See DescribeClassicLinkInstances for details on how to use this API operation.
  6883. //
  6884. // The context must be non-nil and will be used for request cancellation. If
  6885. // the context is nil a panic will occur. In the future the SDK may create
  6886. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6887. // for more information on using Contexts.
  6888. func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
  6889. req, out := c.DescribeClassicLinkInstancesRequest(input)
  6890. req.SetContext(ctx)
  6891. req.ApplyOptions(opts...)
  6892. return out, req.Send()
  6893. }
  6894. const opDescribeConversionTasks = "DescribeConversionTasks"
  6895. // DescribeConversionTasksRequest generates a "aws/request.Request" representing the
  6896. // client's request for the DescribeConversionTasks operation. The "output" return
  6897. // value can be used to capture response data after the request's "Send" method
  6898. // is called.
  6899. //
  6900. // See DescribeConversionTasks for usage and error information.
  6901. //
  6902. // Creating a request object using this method should be used when you want to inject
  6903. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6904. // access properties on the request object before or after sending the request. If
  6905. // you just want the service response, call the DescribeConversionTasks method directly
  6906. // instead.
  6907. //
  6908. // Note: You must call the "Send" method on the returned request object in order
  6909. // to execute the request.
  6910. //
  6911. // // Example sending a request using the DescribeConversionTasksRequest method.
  6912. // req, resp := client.DescribeConversionTasksRequest(params)
  6913. //
  6914. // err := req.Send()
  6915. // if err == nil { // resp is now filled
  6916. // fmt.Println(resp)
  6917. // }
  6918. //
  6919. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  6920. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  6921. op := &request.Operation{
  6922. Name: opDescribeConversionTasks,
  6923. HTTPMethod: "POST",
  6924. HTTPPath: "/",
  6925. }
  6926. if input == nil {
  6927. input = &DescribeConversionTasksInput{}
  6928. }
  6929. output = &DescribeConversionTasksOutput{}
  6930. req = c.newRequest(op, input, output)
  6931. return
  6932. }
  6933. // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
  6934. //
  6935. // Describes one or more of your conversion tasks. For more information, see
  6936. // the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/).
  6937. //
  6938. // For information about the import manifest referenced by this API action,
  6939. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  6940. //
  6941. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6942. // with awserr.Error's Code and Message methods to get detailed information about
  6943. // the error.
  6944. //
  6945. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6946. // API operation DescribeConversionTasks for usage and error information.
  6947. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  6948. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  6949. req, out := c.DescribeConversionTasksRequest(input)
  6950. return out, req.Send()
  6951. }
  6952. // DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
  6953. // the ability to pass a context and additional request options.
  6954. //
  6955. // See DescribeConversionTasks for details on how to use this API operation.
  6956. //
  6957. // The context must be non-nil and will be used for request cancellation. If
  6958. // the context is nil a panic will occur. In the future the SDK may create
  6959. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6960. // for more information on using Contexts.
  6961. func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
  6962. req, out := c.DescribeConversionTasksRequest(input)
  6963. req.SetContext(ctx)
  6964. req.ApplyOptions(opts...)
  6965. return out, req.Send()
  6966. }
  6967. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  6968. // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
  6969. // client's request for the DescribeCustomerGateways operation. The "output" return
  6970. // value can be used to capture response data after the request's "Send" method
  6971. // is called.
  6972. //
  6973. // See DescribeCustomerGateways for usage and error information.
  6974. //
  6975. // Creating a request object using this method should be used when you want to inject
  6976. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6977. // access properties on the request object before or after sending the request. If
  6978. // you just want the service response, call the DescribeCustomerGateways method directly
  6979. // instead.
  6980. //
  6981. // Note: You must call the "Send" method on the returned request object in order
  6982. // to execute the request.
  6983. //
  6984. // // Example sending a request using the DescribeCustomerGatewaysRequest method.
  6985. // req, resp := client.DescribeCustomerGatewaysRequest(params)
  6986. //
  6987. // err := req.Send()
  6988. // if err == nil { // resp is now filled
  6989. // fmt.Println(resp)
  6990. // }
  6991. //
  6992. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  6993. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  6994. op := &request.Operation{
  6995. Name: opDescribeCustomerGateways,
  6996. HTTPMethod: "POST",
  6997. HTTPPath: "/",
  6998. }
  6999. if input == nil {
  7000. input = &DescribeCustomerGatewaysInput{}
  7001. }
  7002. output = &DescribeCustomerGatewaysOutput{}
  7003. req = c.newRequest(op, input, output)
  7004. return
  7005. }
  7006. // DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
  7007. //
  7008. // Describes one or more of your VPN customer gateways.
  7009. //
  7010. // For more information about VPN customer gateways, see Adding a Hardware Virtual
  7011. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  7012. // in the Amazon Virtual Private Cloud User Guide.
  7013. //
  7014. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7015. // with awserr.Error's Code and Message methods to get detailed information about
  7016. // the error.
  7017. //
  7018. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7019. // API operation DescribeCustomerGateways for usage and error information.
  7020. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  7021. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  7022. req, out := c.DescribeCustomerGatewaysRequest(input)
  7023. return out, req.Send()
  7024. }
  7025. // DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
  7026. // the ability to pass a context and additional request options.
  7027. //
  7028. // See DescribeCustomerGateways for details on how to use this API operation.
  7029. //
  7030. // The context must be non-nil and will be used for request cancellation. If
  7031. // the context is nil a panic will occur. In the future the SDK may create
  7032. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7033. // for more information on using Contexts.
  7034. func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
  7035. req, out := c.DescribeCustomerGatewaysRequest(input)
  7036. req.SetContext(ctx)
  7037. req.ApplyOptions(opts...)
  7038. return out, req.Send()
  7039. }
  7040. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  7041. // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
  7042. // client's request for the DescribeDhcpOptions operation. The "output" return
  7043. // value can be used to capture response data after the request's "Send" method
  7044. // is called.
  7045. //
  7046. // See DescribeDhcpOptions for usage and error information.
  7047. //
  7048. // Creating a request object using this method should be used when you want to inject
  7049. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7050. // access properties on the request object before or after sending the request. If
  7051. // you just want the service response, call the DescribeDhcpOptions method directly
  7052. // instead.
  7053. //
  7054. // Note: You must call the "Send" method on the returned request object in order
  7055. // to execute the request.
  7056. //
  7057. // // Example sending a request using the DescribeDhcpOptionsRequest method.
  7058. // req, resp := client.DescribeDhcpOptionsRequest(params)
  7059. //
  7060. // err := req.Send()
  7061. // if err == nil { // resp is now filled
  7062. // fmt.Println(resp)
  7063. // }
  7064. //
  7065. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  7066. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  7067. op := &request.Operation{
  7068. Name: opDescribeDhcpOptions,
  7069. HTTPMethod: "POST",
  7070. HTTPPath: "/",
  7071. }
  7072. if input == nil {
  7073. input = &DescribeDhcpOptionsInput{}
  7074. }
  7075. output = &DescribeDhcpOptionsOutput{}
  7076. req = c.newRequest(op, input, output)
  7077. return
  7078. }
  7079. // DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
  7080. //
  7081. // Describes one or more of your DHCP options sets.
  7082. //
  7083. // For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  7084. // in the Amazon Virtual Private Cloud User Guide.
  7085. //
  7086. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7087. // with awserr.Error's Code and Message methods to get detailed information about
  7088. // the error.
  7089. //
  7090. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7091. // API operation DescribeDhcpOptions for usage and error information.
  7092. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  7093. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  7094. req, out := c.DescribeDhcpOptionsRequest(input)
  7095. return out, req.Send()
  7096. }
  7097. // DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
  7098. // the ability to pass a context and additional request options.
  7099. //
  7100. // See DescribeDhcpOptions for details on how to use this API operation.
  7101. //
  7102. // The context must be non-nil and will be used for request cancellation. If
  7103. // the context is nil a panic will occur. In the future the SDK may create
  7104. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7105. // for more information on using Contexts.
  7106. func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
  7107. req, out := c.DescribeDhcpOptionsRequest(input)
  7108. req.SetContext(ctx)
  7109. req.ApplyOptions(opts...)
  7110. return out, req.Send()
  7111. }
  7112. const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
  7113. // DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
  7114. // client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
  7115. // value can be used to capture response data after the request's "Send" method
  7116. // is called.
  7117. //
  7118. // See DescribeEgressOnlyInternetGateways for usage and error information.
  7119. //
  7120. // Creating a request object using this method should be used when you want to inject
  7121. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7122. // access properties on the request object before or after sending the request. If
  7123. // you just want the service response, call the DescribeEgressOnlyInternetGateways method directly
  7124. // instead.
  7125. //
  7126. // Note: You must call the "Send" method on the returned request object in order
  7127. // to execute the request.
  7128. //
  7129. // // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
  7130. // req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
  7131. //
  7132. // err := req.Send()
  7133. // if err == nil { // resp is now filled
  7134. // fmt.Println(resp)
  7135. // }
  7136. //
  7137. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  7138. func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
  7139. op := &request.Operation{
  7140. Name: opDescribeEgressOnlyInternetGateways,
  7141. HTTPMethod: "POST",
  7142. HTTPPath: "/",
  7143. }
  7144. if input == nil {
  7145. input = &DescribeEgressOnlyInternetGatewaysInput{}
  7146. }
  7147. output = &DescribeEgressOnlyInternetGatewaysOutput{}
  7148. req = c.newRequest(op, input, output)
  7149. return
  7150. }
  7151. // DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
  7152. //
  7153. // Describes one or more of your egress-only Internet gateways.
  7154. //
  7155. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7156. // with awserr.Error's Code and Message methods to get detailed information about
  7157. // the error.
  7158. //
  7159. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7160. // API operation DescribeEgressOnlyInternetGateways for usage and error information.
  7161. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  7162. func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  7163. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  7164. return out, req.Send()
  7165. }
  7166. // DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
  7167. // the ability to pass a context and additional request options.
  7168. //
  7169. // See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
  7170. //
  7171. // The context must be non-nil and will be used for request cancellation. If
  7172. // the context is nil a panic will occur. In the future the SDK may create
  7173. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7174. // for more information on using Contexts.
  7175. func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  7176. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  7177. req.SetContext(ctx)
  7178. req.ApplyOptions(opts...)
  7179. return out, req.Send()
  7180. }
  7181. const opDescribeExportTasks = "DescribeExportTasks"
  7182. // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  7183. // client's request for the DescribeExportTasks operation. The "output" return
  7184. // value can be used to capture response data after the request's "Send" method
  7185. // is called.
  7186. //
  7187. // See DescribeExportTasks for usage and error information.
  7188. //
  7189. // Creating a request object using this method should be used when you want to inject
  7190. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7191. // access properties on the request object before or after sending the request. If
  7192. // you just want the service response, call the DescribeExportTasks method directly
  7193. // instead.
  7194. //
  7195. // Note: You must call the "Send" method on the returned request object in order
  7196. // to execute the request.
  7197. //
  7198. // // Example sending a request using the DescribeExportTasksRequest method.
  7199. // req, resp := client.DescribeExportTasksRequest(params)
  7200. //
  7201. // err := req.Send()
  7202. // if err == nil { // resp is now filled
  7203. // fmt.Println(resp)
  7204. // }
  7205. //
  7206. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  7207. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  7208. op := &request.Operation{
  7209. Name: opDescribeExportTasks,
  7210. HTTPMethod: "POST",
  7211. HTTPPath: "/",
  7212. }
  7213. if input == nil {
  7214. input = &DescribeExportTasksInput{}
  7215. }
  7216. output = &DescribeExportTasksOutput{}
  7217. req = c.newRequest(op, input, output)
  7218. return
  7219. }
  7220. // DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
  7221. //
  7222. // Describes one or more of your export tasks.
  7223. //
  7224. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7225. // with awserr.Error's Code and Message methods to get detailed information about
  7226. // the error.
  7227. //
  7228. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7229. // API operation DescribeExportTasks for usage and error information.
  7230. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  7231. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  7232. req, out := c.DescribeExportTasksRequest(input)
  7233. return out, req.Send()
  7234. }
  7235. // DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
  7236. // the ability to pass a context and additional request options.
  7237. //
  7238. // See DescribeExportTasks for details on how to use this API operation.
  7239. //
  7240. // The context must be non-nil and will be used for request cancellation. If
  7241. // the context is nil a panic will occur. In the future the SDK may create
  7242. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7243. // for more information on using Contexts.
  7244. func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
  7245. req, out := c.DescribeExportTasksRequest(input)
  7246. req.SetContext(ctx)
  7247. req.ApplyOptions(opts...)
  7248. return out, req.Send()
  7249. }
  7250. const opDescribeFlowLogs = "DescribeFlowLogs"
  7251. // DescribeFlowLogsRequest generates a "aws/request.Request" representing the
  7252. // client's request for the DescribeFlowLogs operation. The "output" return
  7253. // value can be used to capture response data after the request's "Send" method
  7254. // is called.
  7255. //
  7256. // See DescribeFlowLogs for usage and error information.
  7257. //
  7258. // Creating a request object using this method should be used when you want to inject
  7259. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7260. // access properties on the request object before or after sending the request. If
  7261. // you just want the service response, call the DescribeFlowLogs method directly
  7262. // instead.
  7263. //
  7264. // Note: You must call the "Send" method on the returned request object in order
  7265. // to execute the request.
  7266. //
  7267. // // Example sending a request using the DescribeFlowLogsRequest method.
  7268. // req, resp := client.DescribeFlowLogsRequest(params)
  7269. //
  7270. // err := req.Send()
  7271. // if err == nil { // resp is now filled
  7272. // fmt.Println(resp)
  7273. // }
  7274. //
  7275. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  7276. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  7277. op := &request.Operation{
  7278. Name: opDescribeFlowLogs,
  7279. HTTPMethod: "POST",
  7280. HTTPPath: "/",
  7281. }
  7282. if input == nil {
  7283. input = &DescribeFlowLogsInput{}
  7284. }
  7285. output = &DescribeFlowLogsOutput{}
  7286. req = c.newRequest(op, input, output)
  7287. return
  7288. }
  7289. // DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
  7290. //
  7291. // Describes one or more flow logs. To view the information in your flow logs
  7292. // (the log streams for the network interfaces), you must use the CloudWatch
  7293. // Logs console or the CloudWatch Logs API.
  7294. //
  7295. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7296. // with awserr.Error's Code and Message methods to get detailed information about
  7297. // the error.
  7298. //
  7299. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7300. // API operation DescribeFlowLogs for usage and error information.
  7301. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  7302. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  7303. req, out := c.DescribeFlowLogsRequest(input)
  7304. return out, req.Send()
  7305. }
  7306. // DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
  7307. // the ability to pass a context and additional request options.
  7308. //
  7309. // See DescribeFlowLogs for details on how to use this API operation.
  7310. //
  7311. // The context must be non-nil and will be used for request cancellation. If
  7312. // the context is nil a panic will occur. In the future the SDK may create
  7313. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7314. // for more information on using Contexts.
  7315. func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
  7316. req, out := c.DescribeFlowLogsRequest(input)
  7317. req.SetContext(ctx)
  7318. req.ApplyOptions(opts...)
  7319. return out, req.Send()
  7320. }
  7321. const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
  7322. // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
  7323. // client's request for the DescribeHostReservationOfferings operation. The "output" return
  7324. // value can be used to capture response data after the request's "Send" method
  7325. // is called.
  7326. //
  7327. // See DescribeHostReservationOfferings for usage and error information.
  7328. //
  7329. // Creating a request object using this method should be used when you want to inject
  7330. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7331. // access properties on the request object before or after sending the request. If
  7332. // you just want the service response, call the DescribeHostReservationOfferings method directly
  7333. // instead.
  7334. //
  7335. // Note: You must call the "Send" method on the returned request object in order
  7336. // to execute the request.
  7337. //
  7338. // // Example sending a request using the DescribeHostReservationOfferingsRequest method.
  7339. // req, resp := client.DescribeHostReservationOfferingsRequest(params)
  7340. //
  7341. // err := req.Send()
  7342. // if err == nil { // resp is now filled
  7343. // fmt.Println(resp)
  7344. // }
  7345. //
  7346. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  7347. func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
  7348. op := &request.Operation{
  7349. Name: opDescribeHostReservationOfferings,
  7350. HTTPMethod: "POST",
  7351. HTTPPath: "/",
  7352. }
  7353. if input == nil {
  7354. input = &DescribeHostReservationOfferingsInput{}
  7355. }
  7356. output = &DescribeHostReservationOfferingsOutput{}
  7357. req = c.newRequest(op, input, output)
  7358. return
  7359. }
  7360. // DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
  7361. //
  7362. // Describes the Dedicated Host Reservations that are available to purchase.
  7363. //
  7364. // The results describe all the Dedicated Host Reservation offerings, including
  7365. // offerings that may not match the instance family and region of your Dedicated
  7366. // Hosts. When purchasing an offering, ensure that the the instance family and
  7367. // region of the offering matches that of the Dedicated Host/s it will be associated
  7368. // with. For an overview of supported instance types, see Dedicated Hosts Overview
  7369. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
  7370. // in the Amazon Elastic Compute Cloud User Guide.
  7371. //
  7372. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7373. // with awserr.Error's Code and Message methods to get detailed information about
  7374. // the error.
  7375. //
  7376. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7377. // API operation DescribeHostReservationOfferings for usage and error information.
  7378. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  7379. func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
  7380. req, out := c.DescribeHostReservationOfferingsRequest(input)
  7381. return out, req.Send()
  7382. }
  7383. // DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
  7384. // the ability to pass a context and additional request options.
  7385. //
  7386. // See DescribeHostReservationOfferings for details on how to use this API operation.
  7387. //
  7388. // The context must be non-nil and will be used for request cancellation. If
  7389. // the context is nil a panic will occur. In the future the SDK may create
  7390. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7391. // for more information on using Contexts.
  7392. func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
  7393. req, out := c.DescribeHostReservationOfferingsRequest(input)
  7394. req.SetContext(ctx)
  7395. req.ApplyOptions(opts...)
  7396. return out, req.Send()
  7397. }
  7398. const opDescribeHostReservations = "DescribeHostReservations"
  7399. // DescribeHostReservationsRequest generates a "aws/request.Request" representing the
  7400. // client's request for the DescribeHostReservations operation. The "output" return
  7401. // value can be used to capture response data after the request's "Send" method
  7402. // is called.
  7403. //
  7404. // See DescribeHostReservations for usage and error information.
  7405. //
  7406. // Creating a request object using this method should be used when you want to inject
  7407. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7408. // access properties on the request object before or after sending the request. If
  7409. // you just want the service response, call the DescribeHostReservations method directly
  7410. // instead.
  7411. //
  7412. // Note: You must call the "Send" method on the returned request object in order
  7413. // to execute the request.
  7414. //
  7415. // // Example sending a request using the DescribeHostReservationsRequest method.
  7416. // req, resp := client.DescribeHostReservationsRequest(params)
  7417. //
  7418. // err := req.Send()
  7419. // if err == nil { // resp is now filled
  7420. // fmt.Println(resp)
  7421. // }
  7422. //
  7423. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  7424. func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
  7425. op := &request.Operation{
  7426. Name: opDescribeHostReservations,
  7427. HTTPMethod: "POST",
  7428. HTTPPath: "/",
  7429. }
  7430. if input == nil {
  7431. input = &DescribeHostReservationsInput{}
  7432. }
  7433. output = &DescribeHostReservationsOutput{}
  7434. req = c.newRequest(op, input, output)
  7435. return
  7436. }
  7437. // DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
  7438. //
  7439. // Describes Dedicated Host Reservations which are associated with Dedicated
  7440. // Hosts in your account.
  7441. //
  7442. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7443. // with awserr.Error's Code and Message methods to get detailed information about
  7444. // the error.
  7445. //
  7446. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7447. // API operation DescribeHostReservations for usage and error information.
  7448. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  7449. func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
  7450. req, out := c.DescribeHostReservationsRequest(input)
  7451. return out, req.Send()
  7452. }
  7453. // DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
  7454. // the ability to pass a context and additional request options.
  7455. //
  7456. // See DescribeHostReservations for details on how to use this API operation.
  7457. //
  7458. // The context must be non-nil and will be used for request cancellation. If
  7459. // the context is nil a panic will occur. In the future the SDK may create
  7460. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7461. // for more information on using Contexts.
  7462. func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
  7463. req, out := c.DescribeHostReservationsRequest(input)
  7464. req.SetContext(ctx)
  7465. req.ApplyOptions(opts...)
  7466. return out, req.Send()
  7467. }
  7468. const opDescribeHosts = "DescribeHosts"
  7469. // DescribeHostsRequest generates a "aws/request.Request" representing the
  7470. // client's request for the DescribeHosts operation. The "output" return
  7471. // value can be used to capture response data after the request's "Send" method
  7472. // is called.
  7473. //
  7474. // See DescribeHosts for usage and error information.
  7475. //
  7476. // Creating a request object using this method should be used when you want to inject
  7477. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7478. // access properties on the request object before or after sending the request. If
  7479. // you just want the service response, call the DescribeHosts method directly
  7480. // instead.
  7481. //
  7482. // Note: You must call the "Send" method on the returned request object in order
  7483. // to execute the request.
  7484. //
  7485. // // Example sending a request using the DescribeHostsRequest method.
  7486. // req, resp := client.DescribeHostsRequest(params)
  7487. //
  7488. // err := req.Send()
  7489. // if err == nil { // resp is now filled
  7490. // fmt.Println(resp)
  7491. // }
  7492. //
  7493. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  7494. func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
  7495. op := &request.Operation{
  7496. Name: opDescribeHosts,
  7497. HTTPMethod: "POST",
  7498. HTTPPath: "/",
  7499. }
  7500. if input == nil {
  7501. input = &DescribeHostsInput{}
  7502. }
  7503. output = &DescribeHostsOutput{}
  7504. req = c.newRequest(op, input, output)
  7505. return
  7506. }
  7507. // DescribeHosts API operation for Amazon Elastic Compute Cloud.
  7508. //
  7509. // Describes one or more of your Dedicated Hosts.
  7510. //
  7511. // The results describe only the Dedicated Hosts in the region you're currently
  7512. // using. All listed instances consume capacity on your Dedicated Host. Dedicated
  7513. // Hosts that have recently been released will be listed with the state released.
  7514. //
  7515. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7516. // with awserr.Error's Code and Message methods to get detailed information about
  7517. // the error.
  7518. //
  7519. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7520. // API operation DescribeHosts for usage and error information.
  7521. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  7522. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
  7523. req, out := c.DescribeHostsRequest(input)
  7524. return out, req.Send()
  7525. }
  7526. // DescribeHostsWithContext is the same as DescribeHosts with the addition of
  7527. // the ability to pass a context and additional request options.
  7528. //
  7529. // See DescribeHosts for details on how to use this API operation.
  7530. //
  7531. // The context must be non-nil and will be used for request cancellation. If
  7532. // the context is nil a panic will occur. In the future the SDK may create
  7533. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7534. // for more information on using Contexts.
  7535. func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
  7536. req, out := c.DescribeHostsRequest(input)
  7537. req.SetContext(ctx)
  7538. req.ApplyOptions(opts...)
  7539. return out, req.Send()
  7540. }
  7541. const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
  7542. // DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
  7543. // client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
  7544. // value can be used to capture response data after the request's "Send" method
  7545. // is called.
  7546. //
  7547. // See DescribeIamInstanceProfileAssociations for usage and error information.
  7548. //
  7549. // Creating a request object using this method should be used when you want to inject
  7550. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7551. // access properties on the request object before or after sending the request. If
  7552. // you just want the service response, call the DescribeIamInstanceProfileAssociations method directly
  7553. // instead.
  7554. //
  7555. // Note: You must call the "Send" method on the returned request object in order
  7556. // to execute the request.
  7557. //
  7558. // // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
  7559. // req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
  7560. //
  7561. // err := req.Send()
  7562. // if err == nil { // resp is now filled
  7563. // fmt.Println(resp)
  7564. // }
  7565. //
  7566. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  7567. func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
  7568. op := &request.Operation{
  7569. Name: opDescribeIamInstanceProfileAssociations,
  7570. HTTPMethod: "POST",
  7571. HTTPPath: "/",
  7572. }
  7573. if input == nil {
  7574. input = &DescribeIamInstanceProfileAssociationsInput{}
  7575. }
  7576. output = &DescribeIamInstanceProfileAssociationsOutput{}
  7577. req = c.newRequest(op, input, output)
  7578. return
  7579. }
  7580. // DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
  7581. //
  7582. // Describes your IAM instance profile associations.
  7583. //
  7584. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7585. // with awserr.Error's Code and Message methods to get detailed information about
  7586. // the error.
  7587. //
  7588. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7589. // API operation DescribeIamInstanceProfileAssociations for usage and error information.
  7590. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  7591. func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  7592. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  7593. return out, req.Send()
  7594. }
  7595. // DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
  7596. // the ability to pass a context and additional request options.
  7597. //
  7598. // See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
  7599. //
  7600. // The context must be non-nil and will be used for request cancellation. If
  7601. // the context is nil a panic will occur. In the future the SDK may create
  7602. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7603. // for more information on using Contexts.
  7604. func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  7605. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  7606. req.SetContext(ctx)
  7607. req.ApplyOptions(opts...)
  7608. return out, req.Send()
  7609. }
  7610. const opDescribeIdFormat = "DescribeIdFormat"
  7611. // DescribeIdFormatRequest generates a "aws/request.Request" representing the
  7612. // client's request for the DescribeIdFormat operation. The "output" return
  7613. // value can be used to capture response data after the request's "Send" method
  7614. // is called.
  7615. //
  7616. // See DescribeIdFormat for usage and error information.
  7617. //
  7618. // Creating a request object using this method should be used when you want to inject
  7619. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7620. // access properties on the request object before or after sending the request. If
  7621. // you just want the service response, call the DescribeIdFormat method directly
  7622. // instead.
  7623. //
  7624. // Note: You must call the "Send" method on the returned request object in order
  7625. // to execute the request.
  7626. //
  7627. // // Example sending a request using the DescribeIdFormatRequest method.
  7628. // req, resp := client.DescribeIdFormatRequest(params)
  7629. //
  7630. // err := req.Send()
  7631. // if err == nil { // resp is now filled
  7632. // fmt.Println(resp)
  7633. // }
  7634. //
  7635. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  7636. func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
  7637. op := &request.Operation{
  7638. Name: opDescribeIdFormat,
  7639. HTTPMethod: "POST",
  7640. HTTPPath: "/",
  7641. }
  7642. if input == nil {
  7643. input = &DescribeIdFormatInput{}
  7644. }
  7645. output = &DescribeIdFormatOutput{}
  7646. req = c.newRequest(op, input, output)
  7647. return
  7648. }
  7649. // DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
  7650. //
  7651. // Describes the ID format settings for your resources on a per-region basis,
  7652. // for example, to view which resource types are enabled for longer IDs. This
  7653. // request only returns information about resource types whose ID formats can
  7654. // be modified; it does not return information about other resource types.
  7655. //
  7656. // The following resource types support longer IDs: instance | reservation |
  7657. // snapshot | volume.
  7658. //
  7659. // These settings apply to the IAM user who makes the request; they do not apply
  7660. // to the entire AWS account. By default, an IAM user defaults to the same settings
  7661. // as the root user, unless they explicitly override the settings by running
  7662. // the ModifyIdFormat command. Resources created with longer IDs are visible
  7663. // to all IAM users, regardless of these settings and provided that they have
  7664. // permission to use the relevant Describe command for the resource type.
  7665. //
  7666. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7667. // with awserr.Error's Code and Message methods to get detailed information about
  7668. // the error.
  7669. //
  7670. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7671. // API operation DescribeIdFormat for usage and error information.
  7672. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  7673. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
  7674. req, out := c.DescribeIdFormatRequest(input)
  7675. return out, req.Send()
  7676. }
  7677. // DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
  7678. // the ability to pass a context and additional request options.
  7679. //
  7680. // See DescribeIdFormat for details on how to use this API operation.
  7681. //
  7682. // The context must be non-nil and will be used for request cancellation. If
  7683. // the context is nil a panic will occur. In the future the SDK may create
  7684. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7685. // for more information on using Contexts.
  7686. func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
  7687. req, out := c.DescribeIdFormatRequest(input)
  7688. req.SetContext(ctx)
  7689. req.ApplyOptions(opts...)
  7690. return out, req.Send()
  7691. }
  7692. const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
  7693. // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
  7694. // client's request for the DescribeIdentityIdFormat operation. The "output" return
  7695. // value can be used to capture response data after the request's "Send" method
  7696. // is called.
  7697. //
  7698. // See DescribeIdentityIdFormat for usage and error information.
  7699. //
  7700. // Creating a request object using this method should be used when you want to inject
  7701. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7702. // access properties on the request object before or after sending the request. If
  7703. // you just want the service response, call the DescribeIdentityIdFormat method directly
  7704. // instead.
  7705. //
  7706. // Note: You must call the "Send" method on the returned request object in order
  7707. // to execute the request.
  7708. //
  7709. // // Example sending a request using the DescribeIdentityIdFormatRequest method.
  7710. // req, resp := client.DescribeIdentityIdFormatRequest(params)
  7711. //
  7712. // err := req.Send()
  7713. // if err == nil { // resp is now filled
  7714. // fmt.Println(resp)
  7715. // }
  7716. //
  7717. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  7718. func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
  7719. op := &request.Operation{
  7720. Name: opDescribeIdentityIdFormat,
  7721. HTTPMethod: "POST",
  7722. HTTPPath: "/",
  7723. }
  7724. if input == nil {
  7725. input = &DescribeIdentityIdFormatInput{}
  7726. }
  7727. output = &DescribeIdentityIdFormatOutput{}
  7728. req = c.newRequest(op, input, output)
  7729. return
  7730. }
  7731. // DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  7732. //
  7733. // Describes the ID format settings for resources for the specified IAM user,
  7734. // IAM role, or root user. For example, you can view the resource types that
  7735. // are enabled for longer IDs. This request only returns information about resource
  7736. // types whose ID formats can be modified; it does not return information about
  7737. // other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  7738. // in the Amazon Elastic Compute Cloud User Guide.
  7739. //
  7740. // The following resource types support longer IDs: instance | reservation |
  7741. // snapshot | volume.
  7742. //
  7743. // These settings apply to the principal specified in the request. They do not
  7744. // apply to the principal that makes the request.
  7745. //
  7746. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7747. // with awserr.Error's Code and Message methods to get detailed information about
  7748. // the error.
  7749. //
  7750. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7751. // API operation DescribeIdentityIdFormat for usage and error information.
  7752. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  7753. func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
  7754. req, out := c.DescribeIdentityIdFormatRequest(input)
  7755. return out, req.Send()
  7756. }
  7757. // DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
  7758. // the ability to pass a context and additional request options.
  7759. //
  7760. // See DescribeIdentityIdFormat for details on how to use this API operation.
  7761. //
  7762. // The context must be non-nil and will be used for request cancellation. If
  7763. // the context is nil a panic will occur. In the future the SDK may create
  7764. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7765. // for more information on using Contexts.
  7766. func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
  7767. req, out := c.DescribeIdentityIdFormatRequest(input)
  7768. req.SetContext(ctx)
  7769. req.ApplyOptions(opts...)
  7770. return out, req.Send()
  7771. }
  7772. const opDescribeImageAttribute = "DescribeImageAttribute"
  7773. // DescribeImageAttributeRequest generates a "aws/request.Request" representing the
  7774. // client's request for the DescribeImageAttribute operation. The "output" return
  7775. // value can be used to capture response data after the request's "Send" method
  7776. // is called.
  7777. //
  7778. // See DescribeImageAttribute for usage and error information.
  7779. //
  7780. // Creating a request object using this method should be used when you want to inject
  7781. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7782. // access properties on the request object before or after sending the request. If
  7783. // you just want the service response, call the DescribeImageAttribute method directly
  7784. // instead.
  7785. //
  7786. // Note: You must call the "Send" method on the returned request object in order
  7787. // to execute the request.
  7788. //
  7789. // // Example sending a request using the DescribeImageAttributeRequest method.
  7790. // req, resp := client.DescribeImageAttributeRequest(params)
  7791. //
  7792. // err := req.Send()
  7793. // if err == nil { // resp is now filled
  7794. // fmt.Println(resp)
  7795. // }
  7796. //
  7797. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  7798. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  7799. op := &request.Operation{
  7800. Name: opDescribeImageAttribute,
  7801. HTTPMethod: "POST",
  7802. HTTPPath: "/",
  7803. }
  7804. if input == nil {
  7805. input = &DescribeImageAttributeInput{}
  7806. }
  7807. output = &DescribeImageAttributeOutput{}
  7808. req = c.newRequest(op, input, output)
  7809. return
  7810. }
  7811. // DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
  7812. //
  7813. // Describes the specified attribute of the specified AMI. You can specify only
  7814. // one attribute at a time.
  7815. //
  7816. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7817. // with awserr.Error's Code and Message methods to get detailed information about
  7818. // the error.
  7819. //
  7820. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7821. // API operation DescribeImageAttribute for usage and error information.
  7822. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  7823. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  7824. req, out := c.DescribeImageAttributeRequest(input)
  7825. return out, req.Send()
  7826. }
  7827. // DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
  7828. // the ability to pass a context and additional request options.
  7829. //
  7830. // See DescribeImageAttribute for details on how to use this API operation.
  7831. //
  7832. // The context must be non-nil and will be used for request cancellation. If
  7833. // the context is nil a panic will occur. In the future the SDK may create
  7834. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7835. // for more information on using Contexts.
  7836. func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
  7837. req, out := c.DescribeImageAttributeRequest(input)
  7838. req.SetContext(ctx)
  7839. req.ApplyOptions(opts...)
  7840. return out, req.Send()
  7841. }
  7842. const opDescribeImages = "DescribeImages"
  7843. // DescribeImagesRequest generates a "aws/request.Request" representing the
  7844. // client's request for the DescribeImages operation. The "output" return
  7845. // value can be used to capture response data after the request's "Send" method
  7846. // is called.
  7847. //
  7848. // See DescribeImages for usage and error information.
  7849. //
  7850. // Creating a request object using this method should be used when you want to inject
  7851. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7852. // access properties on the request object before or after sending the request. If
  7853. // you just want the service response, call the DescribeImages method directly
  7854. // instead.
  7855. //
  7856. // Note: You must call the "Send" method on the returned request object in order
  7857. // to execute the request.
  7858. //
  7859. // // Example sending a request using the DescribeImagesRequest method.
  7860. // req, resp := client.DescribeImagesRequest(params)
  7861. //
  7862. // err := req.Send()
  7863. // if err == nil { // resp is now filled
  7864. // fmt.Println(resp)
  7865. // }
  7866. //
  7867. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  7868. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  7869. op := &request.Operation{
  7870. Name: opDescribeImages,
  7871. HTTPMethod: "POST",
  7872. HTTPPath: "/",
  7873. }
  7874. if input == nil {
  7875. input = &DescribeImagesInput{}
  7876. }
  7877. output = &DescribeImagesOutput{}
  7878. req = c.newRequest(op, input, output)
  7879. return
  7880. }
  7881. // DescribeImages API operation for Amazon Elastic Compute Cloud.
  7882. //
  7883. // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
  7884. // Images available to you include public images, private images that you own,
  7885. // and private images owned by other AWS accounts but for which you have explicit
  7886. // launch permissions.
  7887. //
  7888. // Deregistered images are included in the returned results for an unspecified
  7889. // interval after deregistration.
  7890. //
  7891. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7892. // with awserr.Error's Code and Message methods to get detailed information about
  7893. // the error.
  7894. //
  7895. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7896. // API operation DescribeImages for usage and error information.
  7897. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  7898. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  7899. req, out := c.DescribeImagesRequest(input)
  7900. return out, req.Send()
  7901. }
  7902. // DescribeImagesWithContext is the same as DescribeImages with the addition of
  7903. // the ability to pass a context and additional request options.
  7904. //
  7905. // See DescribeImages for details on how to use this API operation.
  7906. //
  7907. // The context must be non-nil and will be used for request cancellation. If
  7908. // the context is nil a panic will occur. In the future the SDK may create
  7909. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7910. // for more information on using Contexts.
  7911. func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
  7912. req, out := c.DescribeImagesRequest(input)
  7913. req.SetContext(ctx)
  7914. req.ApplyOptions(opts...)
  7915. return out, req.Send()
  7916. }
  7917. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  7918. // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
  7919. // client's request for the DescribeImportImageTasks operation. The "output" return
  7920. // value can be used to capture response data after the request's "Send" method
  7921. // is called.
  7922. //
  7923. // See DescribeImportImageTasks for usage and error information.
  7924. //
  7925. // Creating a request object using this method should be used when you want to inject
  7926. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7927. // access properties on the request object before or after sending the request. If
  7928. // you just want the service response, call the DescribeImportImageTasks method directly
  7929. // instead.
  7930. //
  7931. // Note: You must call the "Send" method on the returned request object in order
  7932. // to execute the request.
  7933. //
  7934. // // Example sending a request using the DescribeImportImageTasksRequest method.
  7935. // req, resp := client.DescribeImportImageTasksRequest(params)
  7936. //
  7937. // err := req.Send()
  7938. // if err == nil { // resp is now filled
  7939. // fmt.Println(resp)
  7940. // }
  7941. //
  7942. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  7943. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  7944. op := &request.Operation{
  7945. Name: opDescribeImportImageTasks,
  7946. HTTPMethod: "POST",
  7947. HTTPPath: "/",
  7948. }
  7949. if input == nil {
  7950. input = &DescribeImportImageTasksInput{}
  7951. }
  7952. output = &DescribeImportImageTasksOutput{}
  7953. req = c.newRequest(op, input, output)
  7954. return
  7955. }
  7956. // DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
  7957. //
  7958. // Displays details about an import virtual machine or import snapshot tasks
  7959. // that are already created.
  7960. //
  7961. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7962. // with awserr.Error's Code and Message methods to get detailed information about
  7963. // the error.
  7964. //
  7965. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7966. // API operation DescribeImportImageTasks for usage and error information.
  7967. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  7968. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  7969. req, out := c.DescribeImportImageTasksRequest(input)
  7970. return out, req.Send()
  7971. }
  7972. // DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
  7973. // the ability to pass a context and additional request options.
  7974. //
  7975. // See DescribeImportImageTasks for details on how to use this API operation.
  7976. //
  7977. // The context must be non-nil and will be used for request cancellation. If
  7978. // the context is nil a panic will occur. In the future the SDK may create
  7979. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7980. // for more information on using Contexts.
  7981. func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
  7982. req, out := c.DescribeImportImageTasksRequest(input)
  7983. req.SetContext(ctx)
  7984. req.ApplyOptions(opts...)
  7985. return out, req.Send()
  7986. }
  7987. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  7988. // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
  7989. // client's request for the DescribeImportSnapshotTasks operation. The "output" return
  7990. // value can be used to capture response data after the request's "Send" method
  7991. // is called.
  7992. //
  7993. // See DescribeImportSnapshotTasks for usage and error information.
  7994. //
  7995. // Creating a request object using this method should be used when you want to inject
  7996. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7997. // access properties on the request object before or after sending the request. If
  7998. // you just want the service response, call the DescribeImportSnapshotTasks method directly
  7999. // instead.
  8000. //
  8001. // Note: You must call the "Send" method on the returned request object in order
  8002. // to execute the request.
  8003. //
  8004. // // Example sending a request using the DescribeImportSnapshotTasksRequest method.
  8005. // req, resp := client.DescribeImportSnapshotTasksRequest(params)
  8006. //
  8007. // err := req.Send()
  8008. // if err == nil { // resp is now filled
  8009. // fmt.Println(resp)
  8010. // }
  8011. //
  8012. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  8013. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  8014. op := &request.Operation{
  8015. Name: opDescribeImportSnapshotTasks,
  8016. HTTPMethod: "POST",
  8017. HTTPPath: "/",
  8018. }
  8019. if input == nil {
  8020. input = &DescribeImportSnapshotTasksInput{}
  8021. }
  8022. output = &DescribeImportSnapshotTasksOutput{}
  8023. req = c.newRequest(op, input, output)
  8024. return
  8025. }
  8026. // DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
  8027. //
  8028. // Describes your import snapshot tasks.
  8029. //
  8030. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8031. // with awserr.Error's Code and Message methods to get detailed information about
  8032. // the error.
  8033. //
  8034. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8035. // API operation DescribeImportSnapshotTasks for usage and error information.
  8036. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  8037. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  8038. req, out := c.DescribeImportSnapshotTasksRequest(input)
  8039. return out, req.Send()
  8040. }
  8041. // DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
  8042. // the ability to pass a context and additional request options.
  8043. //
  8044. // See DescribeImportSnapshotTasks for details on how to use this API operation.
  8045. //
  8046. // The context must be non-nil and will be used for request cancellation. If
  8047. // the context is nil a panic will occur. In the future the SDK may create
  8048. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8049. // for more information on using Contexts.
  8050. func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
  8051. req, out := c.DescribeImportSnapshotTasksRequest(input)
  8052. req.SetContext(ctx)
  8053. req.ApplyOptions(opts...)
  8054. return out, req.Send()
  8055. }
  8056. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  8057. // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  8058. // client's request for the DescribeInstanceAttribute operation. The "output" return
  8059. // value can be used to capture response data after the request's "Send" method
  8060. // is called.
  8061. //
  8062. // See DescribeInstanceAttribute for usage and error information.
  8063. //
  8064. // Creating a request object using this method should be used when you want to inject
  8065. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8066. // access properties on the request object before or after sending the request. If
  8067. // you just want the service response, call the DescribeInstanceAttribute method directly
  8068. // instead.
  8069. //
  8070. // Note: You must call the "Send" method on the returned request object in order
  8071. // to execute the request.
  8072. //
  8073. // // Example sending a request using the DescribeInstanceAttributeRequest method.
  8074. // req, resp := client.DescribeInstanceAttributeRequest(params)
  8075. //
  8076. // err := req.Send()
  8077. // if err == nil { // resp is now filled
  8078. // fmt.Println(resp)
  8079. // }
  8080. //
  8081. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  8082. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  8083. op := &request.Operation{
  8084. Name: opDescribeInstanceAttribute,
  8085. HTTPMethod: "POST",
  8086. HTTPPath: "/",
  8087. }
  8088. if input == nil {
  8089. input = &DescribeInstanceAttributeInput{}
  8090. }
  8091. output = &DescribeInstanceAttributeOutput{}
  8092. req = c.newRequest(op, input, output)
  8093. return
  8094. }
  8095. // DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  8096. //
  8097. // Describes the specified attribute of the specified instance. You can specify
  8098. // only one attribute at a time. Valid attribute values are: instanceType |
  8099. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  8100. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  8101. // groupSet | ebsOptimized | sriovNetSupport
  8102. //
  8103. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8104. // with awserr.Error's Code and Message methods to get detailed information about
  8105. // the error.
  8106. //
  8107. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8108. // API operation DescribeInstanceAttribute for usage and error information.
  8109. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  8110. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  8111. req, out := c.DescribeInstanceAttributeRequest(input)
  8112. return out, req.Send()
  8113. }
  8114. // DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
  8115. // the ability to pass a context and additional request options.
  8116. //
  8117. // See DescribeInstanceAttribute for details on how to use this API operation.
  8118. //
  8119. // The context must be non-nil and will be used for request cancellation. If
  8120. // the context is nil a panic will occur. In the future the SDK may create
  8121. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8122. // for more information on using Contexts.
  8123. func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
  8124. req, out := c.DescribeInstanceAttributeRequest(input)
  8125. req.SetContext(ctx)
  8126. req.ApplyOptions(opts...)
  8127. return out, req.Send()
  8128. }
  8129. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  8130. // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
  8131. // client's request for the DescribeInstanceStatus operation. The "output" return
  8132. // value can be used to capture response data after the request's "Send" method
  8133. // is called.
  8134. //
  8135. // See DescribeInstanceStatus for usage and error information.
  8136. //
  8137. // Creating a request object using this method should be used when you want to inject
  8138. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8139. // access properties on the request object before or after sending the request. If
  8140. // you just want the service response, call the DescribeInstanceStatus method directly
  8141. // instead.
  8142. //
  8143. // Note: You must call the "Send" method on the returned request object in order
  8144. // to execute the request.
  8145. //
  8146. // // Example sending a request using the DescribeInstanceStatusRequest method.
  8147. // req, resp := client.DescribeInstanceStatusRequest(params)
  8148. //
  8149. // err := req.Send()
  8150. // if err == nil { // resp is now filled
  8151. // fmt.Println(resp)
  8152. // }
  8153. //
  8154. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  8155. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  8156. op := &request.Operation{
  8157. Name: opDescribeInstanceStatus,
  8158. HTTPMethod: "POST",
  8159. HTTPPath: "/",
  8160. Paginator: &request.Paginator{
  8161. InputTokens: []string{"NextToken"},
  8162. OutputTokens: []string{"NextToken"},
  8163. LimitToken: "MaxResults",
  8164. TruncationToken: "",
  8165. },
  8166. }
  8167. if input == nil {
  8168. input = &DescribeInstanceStatusInput{}
  8169. }
  8170. output = &DescribeInstanceStatusOutput{}
  8171. req = c.newRequest(op, input, output)
  8172. return
  8173. }
  8174. // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
  8175. //
  8176. // Describes the status of one or more instances. By default, only running instances
  8177. // are described, unless specified otherwise.
  8178. //
  8179. // Instance status includes the following components:
  8180. //
  8181. // * Status checks - Amazon EC2 performs status checks on running EC2 instances
  8182. // to identify hardware and software issues. For more information, see Status
  8183. // Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  8184. // and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  8185. // in the Amazon Elastic Compute Cloud User Guide.
  8186. //
  8187. // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  8188. // or terminate) for your instances related to hardware issues, software
  8189. // updates, or system maintenance. For more information, see Scheduled Events
  8190. // for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  8191. // in the Amazon Elastic Compute Cloud User Guide.
  8192. //
  8193. // * Instance state - You can manage your instances from the moment you launch
  8194. // them through their termination. For more information, see Instance Lifecycle
  8195. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  8196. // in the Amazon Elastic Compute Cloud User Guide.
  8197. //
  8198. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8199. // with awserr.Error's Code and Message methods to get detailed information about
  8200. // the error.
  8201. //
  8202. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8203. // API operation DescribeInstanceStatus for usage and error information.
  8204. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  8205. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  8206. req, out := c.DescribeInstanceStatusRequest(input)
  8207. return out, req.Send()
  8208. }
  8209. // DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
  8210. // the ability to pass a context and additional request options.
  8211. //
  8212. // See DescribeInstanceStatus for details on how to use this API operation.
  8213. //
  8214. // The context must be non-nil and will be used for request cancellation. If
  8215. // the context is nil a panic will occur. In the future the SDK may create
  8216. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8217. // for more information on using Contexts.
  8218. func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
  8219. req, out := c.DescribeInstanceStatusRequest(input)
  8220. req.SetContext(ctx)
  8221. req.ApplyOptions(opts...)
  8222. return out, req.Send()
  8223. }
  8224. // DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
  8225. // calling the "fn" function with the response data for each page. To stop
  8226. // iterating, return false from the fn function.
  8227. //
  8228. // See DescribeInstanceStatus method for more information on how to use this operation.
  8229. //
  8230. // Note: This operation can generate multiple requests to a service.
  8231. //
  8232. // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
  8233. // pageNum := 0
  8234. // err := client.DescribeInstanceStatusPages(params,
  8235. // func(page *DescribeInstanceStatusOutput, lastPage bool) bool {
  8236. // pageNum++
  8237. // fmt.Println(page)
  8238. // return pageNum <= 3
  8239. // })
  8240. //
  8241. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
  8242. return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  8243. }
  8244. // DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
  8245. // it takes a Context and allows setting request options on the pages.
  8246. //
  8247. // The context must be non-nil and will be used for request cancellation. If
  8248. // the context is nil a panic will occur. In the future the SDK may create
  8249. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8250. // for more information on using Contexts.
  8251. func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
  8252. p := request.Pagination{
  8253. NewRequest: func() (*request.Request, error) {
  8254. var inCpy *DescribeInstanceStatusInput
  8255. if input != nil {
  8256. tmp := *input
  8257. inCpy = &tmp
  8258. }
  8259. req, _ := c.DescribeInstanceStatusRequest(inCpy)
  8260. req.SetContext(ctx)
  8261. req.ApplyOptions(opts...)
  8262. return req, nil
  8263. },
  8264. }
  8265. cont := true
  8266. for p.Next() && cont {
  8267. cont = fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage())
  8268. }
  8269. return p.Err()
  8270. }
  8271. const opDescribeInstances = "DescribeInstances"
  8272. // DescribeInstancesRequest generates a "aws/request.Request" representing the
  8273. // client's request for the DescribeInstances operation. The "output" return
  8274. // value can be used to capture response data after the request's "Send" method
  8275. // is called.
  8276. //
  8277. // See DescribeInstances for usage and error information.
  8278. //
  8279. // Creating a request object using this method should be used when you want to inject
  8280. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8281. // access properties on the request object before or after sending the request. If
  8282. // you just want the service response, call the DescribeInstances method directly
  8283. // instead.
  8284. //
  8285. // Note: You must call the "Send" method on the returned request object in order
  8286. // to execute the request.
  8287. //
  8288. // // Example sending a request using the DescribeInstancesRequest method.
  8289. // req, resp := client.DescribeInstancesRequest(params)
  8290. //
  8291. // err := req.Send()
  8292. // if err == nil { // resp is now filled
  8293. // fmt.Println(resp)
  8294. // }
  8295. //
  8296. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  8297. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  8298. op := &request.Operation{
  8299. Name: opDescribeInstances,
  8300. HTTPMethod: "POST",
  8301. HTTPPath: "/",
  8302. Paginator: &request.Paginator{
  8303. InputTokens: []string{"NextToken"},
  8304. OutputTokens: []string{"NextToken"},
  8305. LimitToken: "MaxResults",
  8306. TruncationToken: "",
  8307. },
  8308. }
  8309. if input == nil {
  8310. input = &DescribeInstancesInput{}
  8311. }
  8312. output = &DescribeInstancesOutput{}
  8313. req = c.newRequest(op, input, output)
  8314. return
  8315. }
  8316. // DescribeInstances API operation for Amazon Elastic Compute Cloud.
  8317. //
  8318. // Describes one or more of your instances.
  8319. //
  8320. // If you specify one or more instance IDs, Amazon EC2 returns information for
  8321. // those instances. If you do not specify instance IDs, Amazon EC2 returns information
  8322. // for all relevant instances. If you specify an instance ID that is not valid,
  8323. // an error is returned. If you specify an instance that you do not own, it
  8324. // is not included in the returned results.
  8325. //
  8326. // Recently terminated instances might appear in the returned results. This
  8327. // interval is usually less than one hour.
  8328. //
  8329. // If you describe instances in the rare case where an Availability Zone is
  8330. // experiencing a service disruption and you specify instance IDs that are in
  8331. // the affected zone, or do not specify any instance IDs at all, the call fails.
  8332. // If you describe instances and specify only instance IDs that are in an unaffected
  8333. // zone, the call works normally.
  8334. //
  8335. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8336. // with awserr.Error's Code and Message methods to get detailed information about
  8337. // the error.
  8338. //
  8339. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8340. // API operation DescribeInstances for usage and error information.
  8341. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  8342. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  8343. req, out := c.DescribeInstancesRequest(input)
  8344. return out, req.Send()
  8345. }
  8346. // DescribeInstancesWithContext is the same as DescribeInstances with the addition of
  8347. // the ability to pass a context and additional request options.
  8348. //
  8349. // See DescribeInstances for details on how to use this API operation.
  8350. //
  8351. // The context must be non-nil and will be used for request cancellation. If
  8352. // the context is nil a panic will occur. In the future the SDK may create
  8353. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8354. // for more information on using Contexts.
  8355. func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
  8356. req, out := c.DescribeInstancesRequest(input)
  8357. req.SetContext(ctx)
  8358. req.ApplyOptions(opts...)
  8359. return out, req.Send()
  8360. }
  8361. // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  8362. // calling the "fn" function with the response data for each page. To stop
  8363. // iterating, return false from the fn function.
  8364. //
  8365. // See DescribeInstances method for more information on how to use this operation.
  8366. //
  8367. // Note: This operation can generate multiple requests to a service.
  8368. //
  8369. // // Example iterating over at most 3 pages of a DescribeInstances operation.
  8370. // pageNum := 0
  8371. // err := client.DescribeInstancesPages(params,
  8372. // func(page *DescribeInstancesOutput, lastPage bool) bool {
  8373. // pageNum++
  8374. // fmt.Println(page)
  8375. // return pageNum <= 3
  8376. // })
  8377. //
  8378. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
  8379. return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  8380. }
  8381. // DescribeInstancesPagesWithContext same as DescribeInstancesPages except
  8382. // it takes a Context and allows setting request options on the pages.
  8383. //
  8384. // The context must be non-nil and will be used for request cancellation. If
  8385. // the context is nil a panic will occur. In the future the SDK may create
  8386. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8387. // for more information on using Contexts.
  8388. func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
  8389. p := request.Pagination{
  8390. NewRequest: func() (*request.Request, error) {
  8391. var inCpy *DescribeInstancesInput
  8392. if input != nil {
  8393. tmp := *input
  8394. inCpy = &tmp
  8395. }
  8396. req, _ := c.DescribeInstancesRequest(inCpy)
  8397. req.SetContext(ctx)
  8398. req.ApplyOptions(opts...)
  8399. return req, nil
  8400. },
  8401. }
  8402. cont := true
  8403. for p.Next() && cont {
  8404. cont = fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage())
  8405. }
  8406. return p.Err()
  8407. }
  8408. const opDescribeInternetGateways = "DescribeInternetGateways"
  8409. // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
  8410. // client's request for the DescribeInternetGateways operation. The "output" return
  8411. // value can be used to capture response data after the request's "Send" method
  8412. // is called.
  8413. //
  8414. // See DescribeInternetGateways for usage and error information.
  8415. //
  8416. // Creating a request object using this method should be used when you want to inject
  8417. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8418. // access properties on the request object before or after sending the request. If
  8419. // you just want the service response, call the DescribeInternetGateways method directly
  8420. // instead.
  8421. //
  8422. // Note: You must call the "Send" method on the returned request object in order
  8423. // to execute the request.
  8424. //
  8425. // // Example sending a request using the DescribeInternetGatewaysRequest method.
  8426. // req, resp := client.DescribeInternetGatewaysRequest(params)
  8427. //
  8428. // err := req.Send()
  8429. // if err == nil { // resp is now filled
  8430. // fmt.Println(resp)
  8431. // }
  8432. //
  8433. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  8434. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  8435. op := &request.Operation{
  8436. Name: opDescribeInternetGateways,
  8437. HTTPMethod: "POST",
  8438. HTTPPath: "/",
  8439. }
  8440. if input == nil {
  8441. input = &DescribeInternetGatewaysInput{}
  8442. }
  8443. output = &DescribeInternetGatewaysOutput{}
  8444. req = c.newRequest(op, input, output)
  8445. return
  8446. }
  8447. // DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
  8448. //
  8449. // Describes one or more of your Internet gateways.
  8450. //
  8451. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8452. // with awserr.Error's Code and Message methods to get detailed information about
  8453. // the error.
  8454. //
  8455. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8456. // API operation DescribeInternetGateways for usage and error information.
  8457. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  8458. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  8459. req, out := c.DescribeInternetGatewaysRequest(input)
  8460. return out, req.Send()
  8461. }
  8462. // DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
  8463. // the ability to pass a context and additional request options.
  8464. //
  8465. // See DescribeInternetGateways for details on how to use this API operation.
  8466. //
  8467. // The context must be non-nil and will be used for request cancellation. If
  8468. // the context is nil a panic will occur. In the future the SDK may create
  8469. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8470. // for more information on using Contexts.
  8471. func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
  8472. req, out := c.DescribeInternetGatewaysRequest(input)
  8473. req.SetContext(ctx)
  8474. req.ApplyOptions(opts...)
  8475. return out, req.Send()
  8476. }
  8477. const opDescribeKeyPairs = "DescribeKeyPairs"
  8478. // DescribeKeyPairsRequest generates a "aws/request.Request" representing the
  8479. // client's request for the DescribeKeyPairs operation. The "output" return
  8480. // value can be used to capture response data after the request's "Send" method
  8481. // is called.
  8482. //
  8483. // See DescribeKeyPairs for usage and error information.
  8484. //
  8485. // Creating a request object using this method should be used when you want to inject
  8486. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8487. // access properties on the request object before or after sending the request. If
  8488. // you just want the service response, call the DescribeKeyPairs method directly
  8489. // instead.
  8490. //
  8491. // Note: You must call the "Send" method on the returned request object in order
  8492. // to execute the request.
  8493. //
  8494. // // Example sending a request using the DescribeKeyPairsRequest method.
  8495. // req, resp := client.DescribeKeyPairsRequest(params)
  8496. //
  8497. // err := req.Send()
  8498. // if err == nil { // resp is now filled
  8499. // fmt.Println(resp)
  8500. // }
  8501. //
  8502. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  8503. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  8504. op := &request.Operation{
  8505. Name: opDescribeKeyPairs,
  8506. HTTPMethod: "POST",
  8507. HTTPPath: "/",
  8508. }
  8509. if input == nil {
  8510. input = &DescribeKeyPairsInput{}
  8511. }
  8512. output = &DescribeKeyPairsOutput{}
  8513. req = c.newRequest(op, input, output)
  8514. return
  8515. }
  8516. // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
  8517. //
  8518. // Describes one or more of your key pairs.
  8519. //
  8520. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  8521. // in the Amazon Elastic Compute Cloud User Guide.
  8522. //
  8523. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8524. // with awserr.Error's Code and Message methods to get detailed information about
  8525. // the error.
  8526. //
  8527. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8528. // API operation DescribeKeyPairs for usage and error information.
  8529. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  8530. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  8531. req, out := c.DescribeKeyPairsRequest(input)
  8532. return out, req.Send()
  8533. }
  8534. // DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
  8535. // the ability to pass a context and additional request options.
  8536. //
  8537. // See DescribeKeyPairs for details on how to use this API operation.
  8538. //
  8539. // The context must be non-nil and will be used for request cancellation. If
  8540. // the context is nil a panic will occur. In the future the SDK may create
  8541. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8542. // for more information on using Contexts.
  8543. func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
  8544. req, out := c.DescribeKeyPairsRequest(input)
  8545. req.SetContext(ctx)
  8546. req.ApplyOptions(opts...)
  8547. return out, req.Send()
  8548. }
  8549. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  8550. // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
  8551. // client's request for the DescribeMovingAddresses operation. The "output" return
  8552. // value can be used to capture response data after the request's "Send" method
  8553. // is called.
  8554. //
  8555. // See DescribeMovingAddresses for usage and error information.
  8556. //
  8557. // Creating a request object using this method should be used when you want to inject
  8558. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8559. // access properties on the request object before or after sending the request. If
  8560. // you just want the service response, call the DescribeMovingAddresses method directly
  8561. // instead.
  8562. //
  8563. // Note: You must call the "Send" method on the returned request object in order
  8564. // to execute the request.
  8565. //
  8566. // // Example sending a request using the DescribeMovingAddressesRequest method.
  8567. // req, resp := client.DescribeMovingAddressesRequest(params)
  8568. //
  8569. // err := req.Send()
  8570. // if err == nil { // resp is now filled
  8571. // fmt.Println(resp)
  8572. // }
  8573. //
  8574. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  8575. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  8576. op := &request.Operation{
  8577. Name: opDescribeMovingAddresses,
  8578. HTTPMethod: "POST",
  8579. HTTPPath: "/",
  8580. }
  8581. if input == nil {
  8582. input = &DescribeMovingAddressesInput{}
  8583. }
  8584. output = &DescribeMovingAddressesOutput{}
  8585. req = c.newRequest(op, input, output)
  8586. return
  8587. }
  8588. // DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
  8589. //
  8590. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  8591. // or that are being restored to the EC2-Classic platform. This request does
  8592. // not return information about any other Elastic IP addresses in your account.
  8593. //
  8594. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8595. // with awserr.Error's Code and Message methods to get detailed information about
  8596. // the error.
  8597. //
  8598. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8599. // API operation DescribeMovingAddresses for usage and error information.
  8600. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  8601. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  8602. req, out := c.DescribeMovingAddressesRequest(input)
  8603. return out, req.Send()
  8604. }
  8605. // DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
  8606. // the ability to pass a context and additional request options.
  8607. //
  8608. // See DescribeMovingAddresses for details on how to use this API operation.
  8609. //
  8610. // The context must be non-nil and will be used for request cancellation. If
  8611. // the context is nil a panic will occur. In the future the SDK may create
  8612. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8613. // for more information on using Contexts.
  8614. func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
  8615. req, out := c.DescribeMovingAddressesRequest(input)
  8616. req.SetContext(ctx)
  8617. req.ApplyOptions(opts...)
  8618. return out, req.Send()
  8619. }
  8620. const opDescribeNatGateways = "DescribeNatGateways"
  8621. // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
  8622. // client's request for the DescribeNatGateways operation. The "output" return
  8623. // value can be used to capture response data after the request's "Send" method
  8624. // is called.
  8625. //
  8626. // See DescribeNatGateways for usage and error information.
  8627. //
  8628. // Creating a request object using this method should be used when you want to inject
  8629. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8630. // access properties on the request object before or after sending the request. If
  8631. // you just want the service response, call the DescribeNatGateways method directly
  8632. // instead.
  8633. //
  8634. // Note: You must call the "Send" method on the returned request object in order
  8635. // to execute the request.
  8636. //
  8637. // // Example sending a request using the DescribeNatGatewaysRequest method.
  8638. // req, resp := client.DescribeNatGatewaysRequest(params)
  8639. //
  8640. // err := req.Send()
  8641. // if err == nil { // resp is now filled
  8642. // fmt.Println(resp)
  8643. // }
  8644. //
  8645. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  8646. func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
  8647. op := &request.Operation{
  8648. Name: opDescribeNatGateways,
  8649. HTTPMethod: "POST",
  8650. HTTPPath: "/",
  8651. Paginator: &request.Paginator{
  8652. InputTokens: []string{"NextToken"},
  8653. OutputTokens: []string{"NextToken"},
  8654. LimitToken: "MaxResults",
  8655. TruncationToken: "",
  8656. },
  8657. }
  8658. if input == nil {
  8659. input = &DescribeNatGatewaysInput{}
  8660. }
  8661. output = &DescribeNatGatewaysOutput{}
  8662. req = c.newRequest(op, input, output)
  8663. return
  8664. }
  8665. // DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
  8666. //
  8667. // Describes one or more of the your NAT gateways.
  8668. //
  8669. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8670. // with awserr.Error's Code and Message methods to get detailed information about
  8671. // the error.
  8672. //
  8673. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8674. // API operation DescribeNatGateways for usage and error information.
  8675. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  8676. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
  8677. req, out := c.DescribeNatGatewaysRequest(input)
  8678. return out, req.Send()
  8679. }
  8680. // DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
  8681. // the ability to pass a context and additional request options.
  8682. //
  8683. // See DescribeNatGateways for details on how to use this API operation.
  8684. //
  8685. // The context must be non-nil and will be used for request cancellation. If
  8686. // the context is nil a panic will occur. In the future the SDK may create
  8687. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8688. // for more information on using Contexts.
  8689. func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
  8690. req, out := c.DescribeNatGatewaysRequest(input)
  8691. req.SetContext(ctx)
  8692. req.ApplyOptions(opts...)
  8693. return out, req.Send()
  8694. }
  8695. // DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
  8696. // calling the "fn" function with the response data for each page. To stop
  8697. // iterating, return false from the fn function.
  8698. //
  8699. // See DescribeNatGateways method for more information on how to use this operation.
  8700. //
  8701. // Note: This operation can generate multiple requests to a service.
  8702. //
  8703. // // Example iterating over at most 3 pages of a DescribeNatGateways operation.
  8704. // pageNum := 0
  8705. // err := client.DescribeNatGatewaysPages(params,
  8706. // func(page *DescribeNatGatewaysOutput, lastPage bool) bool {
  8707. // pageNum++
  8708. // fmt.Println(page)
  8709. // return pageNum <= 3
  8710. // })
  8711. //
  8712. func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
  8713. return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  8714. }
  8715. // DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
  8716. // it takes a Context and allows setting request options on the pages.
  8717. //
  8718. // The context must be non-nil and will be used for request cancellation. If
  8719. // the context is nil a panic will occur. In the future the SDK may create
  8720. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8721. // for more information on using Contexts.
  8722. func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
  8723. p := request.Pagination{
  8724. NewRequest: func() (*request.Request, error) {
  8725. var inCpy *DescribeNatGatewaysInput
  8726. if input != nil {
  8727. tmp := *input
  8728. inCpy = &tmp
  8729. }
  8730. req, _ := c.DescribeNatGatewaysRequest(inCpy)
  8731. req.SetContext(ctx)
  8732. req.ApplyOptions(opts...)
  8733. return req, nil
  8734. },
  8735. }
  8736. cont := true
  8737. for p.Next() && cont {
  8738. cont = fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage())
  8739. }
  8740. return p.Err()
  8741. }
  8742. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  8743. // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
  8744. // client's request for the DescribeNetworkAcls operation. The "output" return
  8745. // value can be used to capture response data after the request's "Send" method
  8746. // is called.
  8747. //
  8748. // See DescribeNetworkAcls for usage and error information.
  8749. //
  8750. // Creating a request object using this method should be used when you want to inject
  8751. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8752. // access properties on the request object before or after sending the request. If
  8753. // you just want the service response, call the DescribeNetworkAcls method directly
  8754. // instead.
  8755. //
  8756. // Note: You must call the "Send" method on the returned request object in order
  8757. // to execute the request.
  8758. //
  8759. // // Example sending a request using the DescribeNetworkAclsRequest method.
  8760. // req, resp := client.DescribeNetworkAclsRequest(params)
  8761. //
  8762. // err := req.Send()
  8763. // if err == nil { // resp is now filled
  8764. // fmt.Println(resp)
  8765. // }
  8766. //
  8767. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  8768. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  8769. op := &request.Operation{
  8770. Name: opDescribeNetworkAcls,
  8771. HTTPMethod: "POST",
  8772. HTTPPath: "/",
  8773. }
  8774. if input == nil {
  8775. input = &DescribeNetworkAclsInput{}
  8776. }
  8777. output = &DescribeNetworkAclsOutput{}
  8778. req = c.newRequest(op, input, output)
  8779. return
  8780. }
  8781. // DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
  8782. //
  8783. // Describes one or more of your network ACLs.
  8784. //
  8785. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  8786. // in the Amazon Virtual Private Cloud User Guide.
  8787. //
  8788. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8789. // with awserr.Error's Code and Message methods to get detailed information about
  8790. // the error.
  8791. //
  8792. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8793. // API operation DescribeNetworkAcls for usage and error information.
  8794. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  8795. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  8796. req, out := c.DescribeNetworkAclsRequest(input)
  8797. return out, req.Send()
  8798. }
  8799. // DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
  8800. // the ability to pass a context and additional request options.
  8801. //
  8802. // See DescribeNetworkAcls for details on how to use this API operation.
  8803. //
  8804. // The context must be non-nil and will be used for request cancellation. If
  8805. // the context is nil a panic will occur. In the future the SDK may create
  8806. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8807. // for more information on using Contexts.
  8808. func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
  8809. req, out := c.DescribeNetworkAclsRequest(input)
  8810. req.SetContext(ctx)
  8811. req.ApplyOptions(opts...)
  8812. return out, req.Send()
  8813. }
  8814. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  8815. // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  8816. // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
  8817. // value can be used to capture response data after the request's "Send" method
  8818. // is called.
  8819. //
  8820. // See DescribeNetworkInterfaceAttribute for usage and error information.
  8821. //
  8822. // Creating a request object using this method should be used when you want to inject
  8823. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8824. // access properties on the request object before or after sending the request. If
  8825. // you just want the service response, call the DescribeNetworkInterfaceAttribute method directly
  8826. // instead.
  8827. //
  8828. // Note: You must call the "Send" method on the returned request object in order
  8829. // to execute the request.
  8830. //
  8831. // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
  8832. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
  8833. //
  8834. // err := req.Send()
  8835. // if err == nil { // resp is now filled
  8836. // fmt.Println(resp)
  8837. // }
  8838. //
  8839. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  8840. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  8841. op := &request.Operation{
  8842. Name: opDescribeNetworkInterfaceAttribute,
  8843. HTTPMethod: "POST",
  8844. HTTPPath: "/",
  8845. }
  8846. if input == nil {
  8847. input = &DescribeNetworkInterfaceAttributeInput{}
  8848. }
  8849. output = &DescribeNetworkInterfaceAttributeOutput{}
  8850. req = c.newRequest(op, input, output)
  8851. return
  8852. }
  8853. // DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  8854. //
  8855. // Describes a network interface attribute. You can specify only one attribute
  8856. // at a time.
  8857. //
  8858. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8859. // with awserr.Error's Code and Message methods to get detailed information about
  8860. // the error.
  8861. //
  8862. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8863. // API operation DescribeNetworkInterfaceAttribute for usage and error information.
  8864. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  8865. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  8866. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  8867. return out, req.Send()
  8868. }
  8869. // DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
  8870. // the ability to pass a context and additional request options.
  8871. //
  8872. // See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
  8873. //
  8874. // The context must be non-nil and will be used for request cancellation. If
  8875. // the context is nil a panic will occur. In the future the SDK may create
  8876. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8877. // for more information on using Contexts.
  8878. func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
  8879. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  8880. req.SetContext(ctx)
  8881. req.ApplyOptions(opts...)
  8882. return out, req.Send()
  8883. }
  8884. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  8885. // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
  8886. // client's request for the DescribeNetworkInterfaces operation. The "output" return
  8887. // value can be used to capture response data after the request's "Send" method
  8888. // is called.
  8889. //
  8890. // See DescribeNetworkInterfaces for usage and error information.
  8891. //
  8892. // Creating a request object using this method should be used when you want to inject
  8893. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8894. // access properties on the request object before or after sending the request. If
  8895. // you just want the service response, call the DescribeNetworkInterfaces method directly
  8896. // instead.
  8897. //
  8898. // Note: You must call the "Send" method on the returned request object in order
  8899. // to execute the request.
  8900. //
  8901. // // Example sending a request using the DescribeNetworkInterfacesRequest method.
  8902. // req, resp := client.DescribeNetworkInterfacesRequest(params)
  8903. //
  8904. // err := req.Send()
  8905. // if err == nil { // resp is now filled
  8906. // fmt.Println(resp)
  8907. // }
  8908. //
  8909. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  8910. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  8911. op := &request.Operation{
  8912. Name: opDescribeNetworkInterfaces,
  8913. HTTPMethod: "POST",
  8914. HTTPPath: "/",
  8915. }
  8916. if input == nil {
  8917. input = &DescribeNetworkInterfacesInput{}
  8918. }
  8919. output = &DescribeNetworkInterfacesOutput{}
  8920. req = c.newRequest(op, input, output)
  8921. return
  8922. }
  8923. // DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
  8924. //
  8925. // Describes one or more of your network interfaces.
  8926. //
  8927. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8928. // with awserr.Error's Code and Message methods to get detailed information about
  8929. // the error.
  8930. //
  8931. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8932. // API operation DescribeNetworkInterfaces for usage and error information.
  8933. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  8934. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  8935. req, out := c.DescribeNetworkInterfacesRequest(input)
  8936. return out, req.Send()
  8937. }
  8938. // DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
  8939. // the ability to pass a context and additional request options.
  8940. //
  8941. // See DescribeNetworkInterfaces for details on how to use this API operation.
  8942. //
  8943. // The context must be non-nil and will be used for request cancellation. If
  8944. // the context is nil a panic will occur. In the future the SDK may create
  8945. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8946. // for more information on using Contexts.
  8947. func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
  8948. req, out := c.DescribeNetworkInterfacesRequest(input)
  8949. req.SetContext(ctx)
  8950. req.ApplyOptions(opts...)
  8951. return out, req.Send()
  8952. }
  8953. const opDescribePlacementGroups = "DescribePlacementGroups"
  8954. // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
  8955. // client's request for the DescribePlacementGroups operation. The "output" return
  8956. // value can be used to capture response data after the request's "Send" method
  8957. // is called.
  8958. //
  8959. // See DescribePlacementGroups for usage and error information.
  8960. //
  8961. // Creating a request object using this method should be used when you want to inject
  8962. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8963. // access properties on the request object before or after sending the request. If
  8964. // you just want the service response, call the DescribePlacementGroups method directly
  8965. // instead.
  8966. //
  8967. // Note: You must call the "Send" method on the returned request object in order
  8968. // to execute the request.
  8969. //
  8970. // // Example sending a request using the DescribePlacementGroupsRequest method.
  8971. // req, resp := client.DescribePlacementGroupsRequest(params)
  8972. //
  8973. // err := req.Send()
  8974. // if err == nil { // resp is now filled
  8975. // fmt.Println(resp)
  8976. // }
  8977. //
  8978. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  8979. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  8980. op := &request.Operation{
  8981. Name: opDescribePlacementGroups,
  8982. HTTPMethod: "POST",
  8983. HTTPPath: "/",
  8984. }
  8985. if input == nil {
  8986. input = &DescribePlacementGroupsInput{}
  8987. }
  8988. output = &DescribePlacementGroupsOutput{}
  8989. req = c.newRequest(op, input, output)
  8990. return
  8991. }
  8992. // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
  8993. //
  8994. // Describes one or more of your placement groups. For more information about
  8995. // placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  8996. // in the Amazon Elastic Compute Cloud User Guide.
  8997. //
  8998. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8999. // with awserr.Error's Code and Message methods to get detailed information about
  9000. // the error.
  9001. //
  9002. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9003. // API operation DescribePlacementGroups for usage and error information.
  9004. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  9005. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  9006. req, out := c.DescribePlacementGroupsRequest(input)
  9007. return out, req.Send()
  9008. }
  9009. // DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
  9010. // the ability to pass a context and additional request options.
  9011. //
  9012. // See DescribePlacementGroups for details on how to use this API operation.
  9013. //
  9014. // The context must be non-nil and will be used for request cancellation. If
  9015. // the context is nil a panic will occur. In the future the SDK may create
  9016. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9017. // for more information on using Contexts.
  9018. func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
  9019. req, out := c.DescribePlacementGroupsRequest(input)
  9020. req.SetContext(ctx)
  9021. req.ApplyOptions(opts...)
  9022. return out, req.Send()
  9023. }
  9024. const opDescribePrefixLists = "DescribePrefixLists"
  9025. // DescribePrefixListsRequest generates a "aws/request.Request" representing the
  9026. // client's request for the DescribePrefixLists operation. The "output" return
  9027. // value can be used to capture response data after the request's "Send" method
  9028. // is called.
  9029. //
  9030. // See DescribePrefixLists for usage and error information.
  9031. //
  9032. // Creating a request object using this method should be used when you want to inject
  9033. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9034. // access properties on the request object before or after sending the request. If
  9035. // you just want the service response, call the DescribePrefixLists method directly
  9036. // instead.
  9037. //
  9038. // Note: You must call the "Send" method on the returned request object in order
  9039. // to execute the request.
  9040. //
  9041. // // Example sending a request using the DescribePrefixListsRequest method.
  9042. // req, resp := client.DescribePrefixListsRequest(params)
  9043. //
  9044. // err := req.Send()
  9045. // if err == nil { // resp is now filled
  9046. // fmt.Println(resp)
  9047. // }
  9048. //
  9049. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  9050. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  9051. op := &request.Operation{
  9052. Name: opDescribePrefixLists,
  9053. HTTPMethod: "POST",
  9054. HTTPPath: "/",
  9055. }
  9056. if input == nil {
  9057. input = &DescribePrefixListsInput{}
  9058. }
  9059. output = &DescribePrefixListsOutput{}
  9060. req = c.newRequest(op, input, output)
  9061. return
  9062. }
  9063. // DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
  9064. //
  9065. // Describes available AWS services in a prefix list format, which includes
  9066. // the prefix list name and prefix list ID of the service and the IP address
  9067. // range for the service. A prefix list ID is required for creating an outbound
  9068. // security group rule that allows traffic from a VPC to access an AWS service
  9069. // through a VPC endpoint.
  9070. //
  9071. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9072. // with awserr.Error's Code and Message methods to get detailed information about
  9073. // the error.
  9074. //
  9075. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9076. // API operation DescribePrefixLists for usage and error information.
  9077. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  9078. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  9079. req, out := c.DescribePrefixListsRequest(input)
  9080. return out, req.Send()
  9081. }
  9082. // DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
  9083. // the ability to pass a context and additional request options.
  9084. //
  9085. // See DescribePrefixLists for details on how to use this API operation.
  9086. //
  9087. // The context must be non-nil and will be used for request cancellation. If
  9088. // the context is nil a panic will occur. In the future the SDK may create
  9089. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9090. // for more information on using Contexts.
  9091. func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
  9092. req, out := c.DescribePrefixListsRequest(input)
  9093. req.SetContext(ctx)
  9094. req.ApplyOptions(opts...)
  9095. return out, req.Send()
  9096. }
  9097. const opDescribeRegions = "DescribeRegions"
  9098. // DescribeRegionsRequest generates a "aws/request.Request" representing the
  9099. // client's request for the DescribeRegions operation. The "output" return
  9100. // value can be used to capture response data after the request's "Send" method
  9101. // is called.
  9102. //
  9103. // See DescribeRegions for usage and error information.
  9104. //
  9105. // Creating a request object using this method should be used when you want to inject
  9106. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9107. // access properties on the request object before or after sending the request. If
  9108. // you just want the service response, call the DescribeRegions method directly
  9109. // instead.
  9110. //
  9111. // Note: You must call the "Send" method on the returned request object in order
  9112. // to execute the request.
  9113. //
  9114. // // Example sending a request using the DescribeRegionsRequest method.
  9115. // req, resp := client.DescribeRegionsRequest(params)
  9116. //
  9117. // err := req.Send()
  9118. // if err == nil { // resp is now filled
  9119. // fmt.Println(resp)
  9120. // }
  9121. //
  9122. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  9123. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  9124. op := &request.Operation{
  9125. Name: opDescribeRegions,
  9126. HTTPMethod: "POST",
  9127. HTTPPath: "/",
  9128. }
  9129. if input == nil {
  9130. input = &DescribeRegionsInput{}
  9131. }
  9132. output = &DescribeRegionsOutput{}
  9133. req = c.newRequest(op, input, output)
  9134. return
  9135. }
  9136. // DescribeRegions API operation for Amazon Elastic Compute Cloud.
  9137. //
  9138. // Describes one or more regions that are currently available to you.
  9139. //
  9140. // For a list of the regions supported by Amazon EC2, see Regions and Endpoints
  9141. // (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  9142. //
  9143. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9144. // with awserr.Error's Code and Message methods to get detailed information about
  9145. // the error.
  9146. //
  9147. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9148. // API operation DescribeRegions for usage and error information.
  9149. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  9150. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  9151. req, out := c.DescribeRegionsRequest(input)
  9152. return out, req.Send()
  9153. }
  9154. // DescribeRegionsWithContext is the same as DescribeRegions with the addition of
  9155. // the ability to pass a context and additional request options.
  9156. //
  9157. // See DescribeRegions for details on how to use this API operation.
  9158. //
  9159. // The context must be non-nil and will be used for request cancellation. If
  9160. // the context is nil a panic will occur. In the future the SDK may create
  9161. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9162. // for more information on using Contexts.
  9163. func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
  9164. req, out := c.DescribeRegionsRequest(input)
  9165. req.SetContext(ctx)
  9166. req.ApplyOptions(opts...)
  9167. return out, req.Send()
  9168. }
  9169. const opDescribeReservedInstances = "DescribeReservedInstances"
  9170. // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  9171. // client's request for the DescribeReservedInstances operation. The "output" return
  9172. // value can be used to capture response data after the request's "Send" method
  9173. // is called.
  9174. //
  9175. // See DescribeReservedInstances for usage and error information.
  9176. //
  9177. // Creating a request object using this method should be used when you want to inject
  9178. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9179. // access properties on the request object before or after sending the request. If
  9180. // you just want the service response, call the DescribeReservedInstances method directly
  9181. // instead.
  9182. //
  9183. // Note: You must call the "Send" method on the returned request object in order
  9184. // to execute the request.
  9185. //
  9186. // // Example sending a request using the DescribeReservedInstancesRequest method.
  9187. // req, resp := client.DescribeReservedInstancesRequest(params)
  9188. //
  9189. // err := req.Send()
  9190. // if err == nil { // resp is now filled
  9191. // fmt.Println(resp)
  9192. // }
  9193. //
  9194. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  9195. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  9196. op := &request.Operation{
  9197. Name: opDescribeReservedInstances,
  9198. HTTPMethod: "POST",
  9199. HTTPPath: "/",
  9200. }
  9201. if input == nil {
  9202. input = &DescribeReservedInstancesInput{}
  9203. }
  9204. output = &DescribeReservedInstancesOutput{}
  9205. req = c.newRequest(op, input, output)
  9206. return
  9207. }
  9208. // DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
  9209. //
  9210. // Describes one or more of the Reserved Instances that you purchased.
  9211. //
  9212. // For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  9213. // in the Amazon Elastic Compute Cloud User Guide.
  9214. //
  9215. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9216. // with awserr.Error's Code and Message methods to get detailed information about
  9217. // the error.
  9218. //
  9219. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9220. // API operation DescribeReservedInstances for usage and error information.
  9221. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  9222. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  9223. req, out := c.DescribeReservedInstancesRequest(input)
  9224. return out, req.Send()
  9225. }
  9226. // DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
  9227. // the ability to pass a context and additional request options.
  9228. //
  9229. // See DescribeReservedInstances for details on how to use this API operation.
  9230. //
  9231. // The context must be non-nil and will be used for request cancellation. If
  9232. // the context is nil a panic will occur. In the future the SDK may create
  9233. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9234. // for more information on using Contexts.
  9235. func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
  9236. req, out := c.DescribeReservedInstancesRequest(input)
  9237. req.SetContext(ctx)
  9238. req.ApplyOptions(opts...)
  9239. return out, req.Send()
  9240. }
  9241. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  9242. // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
  9243. // client's request for the DescribeReservedInstancesListings operation. The "output" return
  9244. // value can be used to capture response data after the request's "Send" method
  9245. // is called.
  9246. //
  9247. // See DescribeReservedInstancesListings for usage and error information.
  9248. //
  9249. // Creating a request object using this method should be used when you want to inject
  9250. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9251. // access properties on the request object before or after sending the request. If
  9252. // you just want the service response, call the DescribeReservedInstancesListings method directly
  9253. // instead.
  9254. //
  9255. // Note: You must call the "Send" method on the returned request object in order
  9256. // to execute the request.
  9257. //
  9258. // // Example sending a request using the DescribeReservedInstancesListingsRequest method.
  9259. // req, resp := client.DescribeReservedInstancesListingsRequest(params)
  9260. //
  9261. // err := req.Send()
  9262. // if err == nil { // resp is now filled
  9263. // fmt.Println(resp)
  9264. // }
  9265. //
  9266. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  9267. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  9268. op := &request.Operation{
  9269. Name: opDescribeReservedInstancesListings,
  9270. HTTPMethod: "POST",
  9271. HTTPPath: "/",
  9272. }
  9273. if input == nil {
  9274. input = &DescribeReservedInstancesListingsInput{}
  9275. }
  9276. output = &DescribeReservedInstancesListingsOutput{}
  9277. req = c.newRequest(op, input, output)
  9278. return
  9279. }
  9280. // DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
  9281. //
  9282. // Describes your account's Reserved Instance listings in the Reserved Instance
  9283. // Marketplace.
  9284. //
  9285. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  9286. // Instance capacity that they no longer need with buyers who want to purchase
  9287. // additional capacity. Reserved Instances bought and sold through the Reserved
  9288. // Instance Marketplace work like any other Reserved Instances.
  9289. //
  9290. // As a seller, you choose to list some or all of your Reserved Instances, and
  9291. // you specify the upfront price to receive for them. Your Reserved Instances
  9292. // are then listed in the Reserved Instance Marketplace and are available for
  9293. // purchase.
  9294. //
  9295. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  9296. // and the Marketplace matches what you're searching for with what's available.
  9297. // The Marketplace first sells the lowest priced Reserved Instances to you,
  9298. // and continues to sell available Reserved Instance listings to you until your
  9299. // demand is met. You are charged based on the total price of all of the listings
  9300. // that you purchase.
  9301. //
  9302. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  9303. // in the Amazon Elastic Compute Cloud User Guide.
  9304. //
  9305. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9306. // with awserr.Error's Code and Message methods to get detailed information about
  9307. // the error.
  9308. //
  9309. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9310. // API operation DescribeReservedInstancesListings for usage and error information.
  9311. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  9312. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  9313. req, out := c.DescribeReservedInstancesListingsRequest(input)
  9314. return out, req.Send()
  9315. }
  9316. // DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
  9317. // the ability to pass a context and additional request options.
  9318. //
  9319. // See DescribeReservedInstancesListings for details on how to use this API operation.
  9320. //
  9321. // The context must be non-nil and will be used for request cancellation. If
  9322. // the context is nil a panic will occur. In the future the SDK may create
  9323. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9324. // for more information on using Contexts.
  9325. func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
  9326. req, out := c.DescribeReservedInstancesListingsRequest(input)
  9327. req.SetContext(ctx)
  9328. req.ApplyOptions(opts...)
  9329. return out, req.Send()
  9330. }
  9331. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  9332. // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
  9333. // client's request for the DescribeReservedInstancesModifications operation. The "output" return
  9334. // value can be used to capture response data after the request's "Send" method
  9335. // is called.
  9336. //
  9337. // See DescribeReservedInstancesModifications for usage and error information.
  9338. //
  9339. // Creating a request object using this method should be used when you want to inject
  9340. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9341. // access properties on the request object before or after sending the request. If
  9342. // you just want the service response, call the DescribeReservedInstancesModifications method directly
  9343. // instead.
  9344. //
  9345. // Note: You must call the "Send" method on the returned request object in order
  9346. // to execute the request.
  9347. //
  9348. // // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
  9349. // req, resp := client.DescribeReservedInstancesModificationsRequest(params)
  9350. //
  9351. // err := req.Send()
  9352. // if err == nil { // resp is now filled
  9353. // fmt.Println(resp)
  9354. // }
  9355. //
  9356. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  9357. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  9358. op := &request.Operation{
  9359. Name: opDescribeReservedInstancesModifications,
  9360. HTTPMethod: "POST",
  9361. HTTPPath: "/",
  9362. Paginator: &request.Paginator{
  9363. InputTokens: []string{"NextToken"},
  9364. OutputTokens: []string{"NextToken"},
  9365. LimitToken: "",
  9366. TruncationToken: "",
  9367. },
  9368. }
  9369. if input == nil {
  9370. input = &DescribeReservedInstancesModificationsInput{}
  9371. }
  9372. output = &DescribeReservedInstancesModificationsOutput{}
  9373. req = c.newRequest(op, input, output)
  9374. return
  9375. }
  9376. // DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
  9377. //
  9378. // Describes the modifications made to your Reserved Instances. If no parameter
  9379. // is specified, information about all your Reserved Instances modification
  9380. // requests is returned. If a modification ID is specified, only information
  9381. // about the specific modification is returned.
  9382. //
  9383. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.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 DescribeReservedInstancesModifications for usage and error information.
  9392. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  9393. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  9394. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  9395. return out, req.Send()
  9396. }
  9397. // DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
  9398. // the ability to pass a context and additional request options.
  9399. //
  9400. // See DescribeReservedInstancesModifications 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) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
  9407. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  9408. req.SetContext(ctx)
  9409. req.ApplyOptions(opts...)
  9410. return out, req.Send()
  9411. }
  9412. // DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
  9413. // calling the "fn" function with the response data for each page. To stop
  9414. // iterating, return false from the fn function.
  9415. //
  9416. // See DescribeReservedInstancesModifications method for more information on how to use this operation.
  9417. //
  9418. // Note: This operation can generate multiple requests to a service.
  9419. //
  9420. // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
  9421. // pageNum := 0
  9422. // err := client.DescribeReservedInstancesModificationsPages(params,
  9423. // func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
  9424. // pageNum++
  9425. // fmt.Println(page)
  9426. // return pageNum <= 3
  9427. // })
  9428. //
  9429. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
  9430. return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  9431. }
  9432. // DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
  9433. // it takes a Context and allows setting request options on the pages.
  9434. //
  9435. // The context must be non-nil and will be used for request cancellation. If
  9436. // the context is nil a panic will occur. In the future the SDK may create
  9437. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9438. // for more information on using Contexts.
  9439. func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
  9440. p := request.Pagination{
  9441. NewRequest: func() (*request.Request, error) {
  9442. var inCpy *DescribeReservedInstancesModificationsInput
  9443. if input != nil {
  9444. tmp := *input
  9445. inCpy = &tmp
  9446. }
  9447. req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
  9448. req.SetContext(ctx)
  9449. req.ApplyOptions(opts...)
  9450. return req, nil
  9451. },
  9452. }
  9453. cont := true
  9454. for p.Next() && cont {
  9455. cont = fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage())
  9456. }
  9457. return p.Err()
  9458. }
  9459. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  9460. // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
  9461. // client's request for the DescribeReservedInstancesOfferings operation. The "output" return
  9462. // value can be used to capture response data after the request's "Send" method
  9463. // is called.
  9464. //
  9465. // See DescribeReservedInstancesOfferings for usage and error information.
  9466. //
  9467. // Creating a request object using this method should be used when you want to inject
  9468. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9469. // access properties on the request object before or after sending the request. If
  9470. // you just want the service response, call the DescribeReservedInstancesOfferings method directly
  9471. // instead.
  9472. //
  9473. // Note: You must call the "Send" method on the returned request object in order
  9474. // to execute the request.
  9475. //
  9476. // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
  9477. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
  9478. //
  9479. // err := req.Send()
  9480. // if err == nil { // resp is now filled
  9481. // fmt.Println(resp)
  9482. // }
  9483. //
  9484. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  9485. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  9486. op := &request.Operation{
  9487. Name: opDescribeReservedInstancesOfferings,
  9488. HTTPMethod: "POST",
  9489. HTTPPath: "/",
  9490. Paginator: &request.Paginator{
  9491. InputTokens: []string{"NextToken"},
  9492. OutputTokens: []string{"NextToken"},
  9493. LimitToken: "MaxResults",
  9494. TruncationToken: "",
  9495. },
  9496. }
  9497. if input == nil {
  9498. input = &DescribeReservedInstancesOfferingsInput{}
  9499. }
  9500. output = &DescribeReservedInstancesOfferingsOutput{}
  9501. req = c.newRequest(op, input, output)
  9502. return
  9503. }
  9504. // DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
  9505. //
  9506. // Describes Reserved Instance offerings that are available for purchase. With
  9507. // Reserved Instances, you purchase the right to launch instances for a period
  9508. // of time. During that time period, you do not receive insufficient capacity
  9509. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  9510. // instances for the actual time used.
  9511. //
  9512. // If you have listed your own Reserved Instances for sale in the Reserved Instance
  9513. // Marketplace, they will be excluded from these results. This is to ensure
  9514. // that you do not purchase your own Reserved Instances.
  9515. //
  9516. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  9517. // in the Amazon Elastic Compute Cloud User Guide.
  9518. //
  9519. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9520. // with awserr.Error's Code and Message methods to get detailed information about
  9521. // the error.
  9522. //
  9523. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9524. // API operation DescribeReservedInstancesOfferings for usage and error information.
  9525. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  9526. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  9527. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  9528. return out, req.Send()
  9529. }
  9530. // DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
  9531. // the ability to pass a context and additional request options.
  9532. //
  9533. // See DescribeReservedInstancesOfferings for details on how to use this API operation.
  9534. //
  9535. // The context must be non-nil and will be used for request cancellation. If
  9536. // the context is nil a panic will occur. In the future the SDK may create
  9537. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9538. // for more information on using Contexts.
  9539. func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
  9540. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  9541. req.SetContext(ctx)
  9542. req.ApplyOptions(opts...)
  9543. return out, req.Send()
  9544. }
  9545. // DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
  9546. // calling the "fn" function with the response data for each page. To stop
  9547. // iterating, return false from the fn function.
  9548. //
  9549. // See DescribeReservedInstancesOfferings method for more information on how to use this operation.
  9550. //
  9551. // Note: This operation can generate multiple requests to a service.
  9552. //
  9553. // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
  9554. // pageNum := 0
  9555. // err := client.DescribeReservedInstancesOfferingsPages(params,
  9556. // func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
  9557. // pageNum++
  9558. // fmt.Println(page)
  9559. // return pageNum <= 3
  9560. // })
  9561. //
  9562. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
  9563. return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  9564. }
  9565. // DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
  9566. // it takes a Context and allows setting request options on the pages.
  9567. //
  9568. // The context must be non-nil and will be used for request cancellation. If
  9569. // the context is nil a panic will occur. In the future the SDK may create
  9570. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9571. // for more information on using Contexts.
  9572. func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
  9573. p := request.Pagination{
  9574. NewRequest: func() (*request.Request, error) {
  9575. var inCpy *DescribeReservedInstancesOfferingsInput
  9576. if input != nil {
  9577. tmp := *input
  9578. inCpy = &tmp
  9579. }
  9580. req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
  9581. req.SetContext(ctx)
  9582. req.ApplyOptions(opts...)
  9583. return req, nil
  9584. },
  9585. }
  9586. cont := true
  9587. for p.Next() && cont {
  9588. cont = fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage())
  9589. }
  9590. return p.Err()
  9591. }
  9592. const opDescribeRouteTables = "DescribeRouteTables"
  9593. // DescribeRouteTablesRequest generates a "aws/request.Request" representing the
  9594. // client's request for the DescribeRouteTables operation. The "output" return
  9595. // value can be used to capture response data after the request's "Send" method
  9596. // is called.
  9597. //
  9598. // See DescribeRouteTables for usage and error information.
  9599. //
  9600. // Creating a request object using this method should be used when you want to inject
  9601. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9602. // access properties on the request object before or after sending the request. If
  9603. // you just want the service response, call the DescribeRouteTables method directly
  9604. // instead.
  9605. //
  9606. // Note: You must call the "Send" method on the returned request object in order
  9607. // to execute the request.
  9608. //
  9609. // // Example sending a request using the DescribeRouteTablesRequest method.
  9610. // req, resp := client.DescribeRouteTablesRequest(params)
  9611. //
  9612. // err := req.Send()
  9613. // if err == nil { // resp is now filled
  9614. // fmt.Println(resp)
  9615. // }
  9616. //
  9617. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  9618. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  9619. op := &request.Operation{
  9620. Name: opDescribeRouteTables,
  9621. HTTPMethod: "POST",
  9622. HTTPPath: "/",
  9623. }
  9624. if input == nil {
  9625. input = &DescribeRouteTablesInput{}
  9626. }
  9627. output = &DescribeRouteTablesOutput{}
  9628. req = c.newRequest(op, input, output)
  9629. return
  9630. }
  9631. // DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
  9632. //
  9633. // Describes one or more of your route tables.
  9634. //
  9635. // Each subnet in your VPC must be associated with a route table. If a subnet
  9636. // is not explicitly associated with any route table, it is implicitly associated
  9637. // with the main route table. This command does not return the subnet ID for
  9638. // implicit associations.
  9639. //
  9640. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  9641. // in the Amazon Virtual Private Cloud User Guide.
  9642. //
  9643. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9644. // with awserr.Error's Code and Message methods to get detailed information about
  9645. // the error.
  9646. //
  9647. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9648. // API operation DescribeRouteTables for usage and error information.
  9649. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  9650. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  9651. req, out := c.DescribeRouteTablesRequest(input)
  9652. return out, req.Send()
  9653. }
  9654. // DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
  9655. // the ability to pass a context and additional request options.
  9656. //
  9657. // See DescribeRouteTables for details on how to use this API operation.
  9658. //
  9659. // The context must be non-nil and will be used for request cancellation. If
  9660. // the context is nil a panic will occur. In the future the SDK may create
  9661. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9662. // for more information on using Contexts.
  9663. func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
  9664. req, out := c.DescribeRouteTablesRequest(input)
  9665. req.SetContext(ctx)
  9666. req.ApplyOptions(opts...)
  9667. return out, req.Send()
  9668. }
  9669. const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
  9670. // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
  9671. // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
  9672. // value can be used to capture response data after the request's "Send" method
  9673. // is called.
  9674. //
  9675. // See DescribeScheduledInstanceAvailability for usage and error information.
  9676. //
  9677. // Creating a request object using this method should be used when you want to inject
  9678. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9679. // access properties on the request object before or after sending the request. If
  9680. // you just want the service response, call the DescribeScheduledInstanceAvailability method directly
  9681. // instead.
  9682. //
  9683. // Note: You must call the "Send" method on the returned request object in order
  9684. // to execute the request.
  9685. //
  9686. // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
  9687. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
  9688. //
  9689. // err := req.Send()
  9690. // if err == nil { // resp is now filled
  9691. // fmt.Println(resp)
  9692. // }
  9693. //
  9694. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  9695. func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
  9696. op := &request.Operation{
  9697. Name: opDescribeScheduledInstanceAvailability,
  9698. HTTPMethod: "POST",
  9699. HTTPPath: "/",
  9700. }
  9701. if input == nil {
  9702. input = &DescribeScheduledInstanceAvailabilityInput{}
  9703. }
  9704. output = &DescribeScheduledInstanceAvailabilityOutput{}
  9705. req = c.newRequest(op, input, output)
  9706. return
  9707. }
  9708. // DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
  9709. //
  9710. // Finds available schedules that meet the specified criteria.
  9711. //
  9712. // You can search for an available schedule no more than 3 months in advance.
  9713. // You must meet the minimum required duration of 1,200 hours per year. For
  9714. // example, the minimum daily schedule is 4 hours, the minimum weekly schedule
  9715. // is 24 hours, and the minimum monthly schedule is 100 hours.
  9716. //
  9717. // After you find a schedule that meets your needs, call PurchaseScheduledInstances
  9718. // to purchase Scheduled Instances with that schedule.
  9719. //
  9720. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9721. // with awserr.Error's Code and Message methods to get detailed information about
  9722. // the error.
  9723. //
  9724. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9725. // API operation DescribeScheduledInstanceAvailability for usage and error information.
  9726. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  9727. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  9728. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  9729. return out, req.Send()
  9730. }
  9731. // DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
  9732. // the ability to pass a context and additional request options.
  9733. //
  9734. // See DescribeScheduledInstanceAvailability for details on how to use this API operation.
  9735. //
  9736. // The context must be non-nil and will be used for request cancellation. If
  9737. // the context is nil a panic will occur. In the future the SDK may create
  9738. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9739. // for more information on using Contexts.
  9740. func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  9741. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  9742. req.SetContext(ctx)
  9743. req.ApplyOptions(opts...)
  9744. return out, req.Send()
  9745. }
  9746. const opDescribeScheduledInstances = "DescribeScheduledInstances"
  9747. // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
  9748. // client's request for the DescribeScheduledInstances operation. The "output" return
  9749. // value can be used to capture response data after the request's "Send" method
  9750. // is called.
  9751. //
  9752. // See DescribeScheduledInstances for usage and error information.
  9753. //
  9754. // Creating a request object using this method should be used when you want to inject
  9755. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9756. // access properties on the request object before or after sending the request. If
  9757. // you just want the service response, call the DescribeScheduledInstances method directly
  9758. // instead.
  9759. //
  9760. // Note: You must call the "Send" method on the returned request object in order
  9761. // to execute the request.
  9762. //
  9763. // // Example sending a request using the DescribeScheduledInstancesRequest method.
  9764. // req, resp := client.DescribeScheduledInstancesRequest(params)
  9765. //
  9766. // err := req.Send()
  9767. // if err == nil { // resp is now filled
  9768. // fmt.Println(resp)
  9769. // }
  9770. //
  9771. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  9772. func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
  9773. op := &request.Operation{
  9774. Name: opDescribeScheduledInstances,
  9775. HTTPMethod: "POST",
  9776. HTTPPath: "/",
  9777. }
  9778. if input == nil {
  9779. input = &DescribeScheduledInstancesInput{}
  9780. }
  9781. output = &DescribeScheduledInstancesOutput{}
  9782. req = c.newRequest(op, input, output)
  9783. return
  9784. }
  9785. // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
  9786. //
  9787. // Describes one or more of your Scheduled Instances.
  9788. //
  9789. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9790. // with awserr.Error's Code and Message methods to get detailed information about
  9791. // the error.
  9792. //
  9793. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9794. // API operation DescribeScheduledInstances for usage and error information.
  9795. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  9796. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
  9797. req, out := c.DescribeScheduledInstancesRequest(input)
  9798. return out, req.Send()
  9799. }
  9800. // DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
  9801. // the ability to pass a context and additional request options.
  9802. //
  9803. // See DescribeScheduledInstances for details on how to use this API operation.
  9804. //
  9805. // The context must be non-nil and will be used for request cancellation. If
  9806. // the context is nil a panic will occur. In the future the SDK may create
  9807. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9808. // for more information on using Contexts.
  9809. func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
  9810. req, out := c.DescribeScheduledInstancesRequest(input)
  9811. req.SetContext(ctx)
  9812. req.ApplyOptions(opts...)
  9813. return out, req.Send()
  9814. }
  9815. const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
  9816. // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
  9817. // client's request for the DescribeSecurityGroupReferences operation. The "output" return
  9818. // value can be used to capture response data after the request's "Send" method
  9819. // is called.
  9820. //
  9821. // See DescribeSecurityGroupReferences for usage and error information.
  9822. //
  9823. // Creating a request object using this method should be used when you want to inject
  9824. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9825. // access properties on the request object before or after sending the request. If
  9826. // you just want the service response, call the DescribeSecurityGroupReferences method directly
  9827. // instead.
  9828. //
  9829. // Note: You must call the "Send" method on the returned request object in order
  9830. // to execute the request.
  9831. //
  9832. // // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
  9833. // req, resp := client.DescribeSecurityGroupReferencesRequest(params)
  9834. //
  9835. // err := req.Send()
  9836. // if err == nil { // resp is now filled
  9837. // fmt.Println(resp)
  9838. // }
  9839. //
  9840. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  9841. func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
  9842. op := &request.Operation{
  9843. Name: opDescribeSecurityGroupReferences,
  9844. HTTPMethod: "POST",
  9845. HTTPPath: "/",
  9846. }
  9847. if input == nil {
  9848. input = &DescribeSecurityGroupReferencesInput{}
  9849. }
  9850. output = &DescribeSecurityGroupReferencesOutput{}
  9851. req = c.newRequest(op, input, output)
  9852. return
  9853. }
  9854. // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
  9855. //
  9856. // [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection
  9857. // that are referencing the security groups you've specified in this request.
  9858. //
  9859. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9860. // with awserr.Error's Code and Message methods to get detailed information about
  9861. // the error.
  9862. //
  9863. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9864. // API operation DescribeSecurityGroupReferences for usage and error information.
  9865. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  9866. func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
  9867. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  9868. return out, req.Send()
  9869. }
  9870. // DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
  9871. // the ability to pass a context and additional request options.
  9872. //
  9873. // See DescribeSecurityGroupReferences for details on how to use this API operation.
  9874. //
  9875. // The context must be non-nil and will be used for request cancellation. If
  9876. // the context is nil a panic will occur. In the future the SDK may create
  9877. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9878. // for more information on using Contexts.
  9879. func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
  9880. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  9881. req.SetContext(ctx)
  9882. req.ApplyOptions(opts...)
  9883. return out, req.Send()
  9884. }
  9885. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  9886. // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
  9887. // client's request for the DescribeSecurityGroups operation. The "output" return
  9888. // value can be used to capture response data after the request's "Send" method
  9889. // is called.
  9890. //
  9891. // See DescribeSecurityGroups for usage and error information.
  9892. //
  9893. // Creating a request object using this method should be used when you want to inject
  9894. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9895. // access properties on the request object before or after sending the request. If
  9896. // you just want the service response, call the DescribeSecurityGroups method directly
  9897. // instead.
  9898. //
  9899. // Note: You must call the "Send" method on the returned request object in order
  9900. // to execute the request.
  9901. //
  9902. // // Example sending a request using the DescribeSecurityGroupsRequest method.
  9903. // req, resp := client.DescribeSecurityGroupsRequest(params)
  9904. //
  9905. // err := req.Send()
  9906. // if err == nil { // resp is now filled
  9907. // fmt.Println(resp)
  9908. // }
  9909. //
  9910. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  9911. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  9912. op := &request.Operation{
  9913. Name: opDescribeSecurityGroups,
  9914. HTTPMethod: "POST",
  9915. HTTPPath: "/",
  9916. }
  9917. if input == nil {
  9918. input = &DescribeSecurityGroupsInput{}
  9919. }
  9920. output = &DescribeSecurityGroupsOutput{}
  9921. req = c.newRequest(op, input, output)
  9922. return
  9923. }
  9924. // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
  9925. //
  9926. // Describes one or more of your security groups.
  9927. //
  9928. // A security group is for use with instances either in the EC2-Classic platform
  9929. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  9930. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  9931. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  9932. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  9933. // in the Amazon Virtual Private Cloud User Guide.
  9934. //
  9935. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9936. // with awserr.Error's Code and Message methods to get detailed information about
  9937. // the error.
  9938. //
  9939. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9940. // API operation DescribeSecurityGroups for usage and error information.
  9941. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  9942. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  9943. req, out := c.DescribeSecurityGroupsRequest(input)
  9944. return out, req.Send()
  9945. }
  9946. // DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
  9947. // the ability to pass a context and additional request options.
  9948. //
  9949. // See DescribeSecurityGroups for details on how to use this API operation.
  9950. //
  9951. // The context must be non-nil and will be used for request cancellation. If
  9952. // the context is nil a panic will occur. In the future the SDK may create
  9953. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9954. // for more information on using Contexts.
  9955. func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
  9956. req, out := c.DescribeSecurityGroupsRequest(input)
  9957. req.SetContext(ctx)
  9958. req.ApplyOptions(opts...)
  9959. return out, req.Send()
  9960. }
  9961. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  9962. // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
  9963. // client's request for the DescribeSnapshotAttribute operation. The "output" return
  9964. // value can be used to capture response data after the request's "Send" method
  9965. // is called.
  9966. //
  9967. // See DescribeSnapshotAttribute for usage and error information.
  9968. //
  9969. // Creating a request object using this method should be used when you want to inject
  9970. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9971. // access properties on the request object before or after sending the request. If
  9972. // you just want the service response, call the DescribeSnapshotAttribute method directly
  9973. // instead.
  9974. //
  9975. // Note: You must call the "Send" method on the returned request object in order
  9976. // to execute the request.
  9977. //
  9978. // // Example sending a request using the DescribeSnapshotAttributeRequest method.
  9979. // req, resp := client.DescribeSnapshotAttributeRequest(params)
  9980. //
  9981. // err := req.Send()
  9982. // if err == nil { // resp is now filled
  9983. // fmt.Println(resp)
  9984. // }
  9985. //
  9986. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  9987. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  9988. op := &request.Operation{
  9989. Name: opDescribeSnapshotAttribute,
  9990. HTTPMethod: "POST",
  9991. HTTPPath: "/",
  9992. }
  9993. if input == nil {
  9994. input = &DescribeSnapshotAttributeInput{}
  9995. }
  9996. output = &DescribeSnapshotAttributeOutput{}
  9997. req = c.newRequest(op, input, output)
  9998. return
  9999. }
  10000. // DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  10001. //
  10002. // Describes the specified attribute of the specified snapshot. You can specify
  10003. // only one attribute at a time.
  10004. //
  10005. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  10006. // in the Amazon Elastic Compute Cloud User Guide.
  10007. //
  10008. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10009. // with awserr.Error's Code and Message methods to get detailed information about
  10010. // the error.
  10011. //
  10012. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10013. // API operation DescribeSnapshotAttribute for usage and error information.
  10014. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  10015. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  10016. req, out := c.DescribeSnapshotAttributeRequest(input)
  10017. return out, req.Send()
  10018. }
  10019. // DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
  10020. // the ability to pass a context and additional request options.
  10021. //
  10022. // See DescribeSnapshotAttribute for details on how to use this API operation.
  10023. //
  10024. // The context must be non-nil and will be used for request cancellation. If
  10025. // the context is nil a panic will occur. In the future the SDK may create
  10026. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10027. // for more information on using Contexts.
  10028. func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
  10029. req, out := c.DescribeSnapshotAttributeRequest(input)
  10030. req.SetContext(ctx)
  10031. req.ApplyOptions(opts...)
  10032. return out, req.Send()
  10033. }
  10034. const opDescribeSnapshots = "DescribeSnapshots"
  10035. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  10036. // client's request for the DescribeSnapshots operation. The "output" return
  10037. // value can be used to capture response data after the request's "Send" method
  10038. // is called.
  10039. //
  10040. // See DescribeSnapshots for usage and error information.
  10041. //
  10042. // Creating a request object using this method should be used when you want to inject
  10043. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10044. // access properties on the request object before or after sending the request. If
  10045. // you just want the service response, call the DescribeSnapshots method directly
  10046. // instead.
  10047. //
  10048. // Note: You must call the "Send" method on the returned request object in order
  10049. // to execute the request.
  10050. //
  10051. // // Example sending a request using the DescribeSnapshotsRequest method.
  10052. // req, resp := client.DescribeSnapshotsRequest(params)
  10053. //
  10054. // err := req.Send()
  10055. // if err == nil { // resp is now filled
  10056. // fmt.Println(resp)
  10057. // }
  10058. //
  10059. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  10060. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  10061. op := &request.Operation{
  10062. Name: opDescribeSnapshots,
  10063. HTTPMethod: "POST",
  10064. HTTPPath: "/",
  10065. Paginator: &request.Paginator{
  10066. InputTokens: []string{"NextToken"},
  10067. OutputTokens: []string{"NextToken"},
  10068. LimitToken: "MaxResults",
  10069. TruncationToken: "",
  10070. },
  10071. }
  10072. if input == nil {
  10073. input = &DescribeSnapshotsInput{}
  10074. }
  10075. output = &DescribeSnapshotsOutput{}
  10076. req = c.newRequest(op, input, output)
  10077. return
  10078. }
  10079. // DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
  10080. //
  10081. // Describes one or more of the EBS snapshots available to you. Available snapshots
  10082. // include public snapshots available for any AWS account to launch, private
  10083. // snapshots that you own, and private snapshots owned by another AWS account
  10084. // but for which you've been given explicit create volume permissions.
  10085. //
  10086. // The create volume permissions fall into the following categories:
  10087. //
  10088. // * public: The owner of the snapshot granted create volume permissions
  10089. // for the snapshot to the all group. All AWS accounts have create volume
  10090. // permissions for these snapshots.
  10091. //
  10092. // * explicit: The owner of the snapshot granted create volume permissions
  10093. // to a specific AWS account.
  10094. //
  10095. // * implicit: An AWS account has implicit create volume permissions for
  10096. // all snapshots it owns.
  10097. //
  10098. // The list of snapshots returned can be modified by specifying snapshot IDs,
  10099. // snapshot owners, or AWS accounts with create volume permissions. If no options
  10100. // are specified, Amazon EC2 returns all snapshots for which you have create
  10101. // volume permissions.
  10102. //
  10103. // If you specify one or more snapshot IDs, only snapshots that have the specified
  10104. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  10105. // If you specify a snapshot ID for which you do not have access, it is not
  10106. // included in the returned results.
  10107. //
  10108. // If you specify one or more snapshot owners using the OwnerIds option, only
  10109. // snapshots from the specified owners and for which you have access are returned.
  10110. // The results can include the AWS account IDs of the specified owners, amazon
  10111. // for snapshots owned by Amazon, or self for snapshots that you own.
  10112. //
  10113. // If you specify a list of restorable users, only snapshots with create snapshot
  10114. // permissions for those users are returned. You can specify AWS account IDs
  10115. // (if you own the snapshots), self for snapshots for which you own or have
  10116. // explicit permissions, or all for public snapshots.
  10117. //
  10118. // If you are describing a long list of snapshots, you can paginate the output
  10119. // to make the list more manageable. The MaxResults parameter sets the maximum
  10120. // number of results returned in a single page. If the list of results exceeds
  10121. // your MaxResults value, then that number of results is returned along with
  10122. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  10123. // to retrieve the remaining results.
  10124. //
  10125. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  10126. // in the Amazon Elastic Compute Cloud User Guide.
  10127. //
  10128. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10129. // with awserr.Error's Code and Message methods to get detailed information about
  10130. // the error.
  10131. //
  10132. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10133. // API operation DescribeSnapshots for usage and error information.
  10134. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  10135. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  10136. req, out := c.DescribeSnapshotsRequest(input)
  10137. return out, req.Send()
  10138. }
  10139. // DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
  10140. // the ability to pass a context and additional request options.
  10141. //
  10142. // See DescribeSnapshots for details on how to use this API operation.
  10143. //
  10144. // The context must be non-nil and will be used for request cancellation. If
  10145. // the context is nil a panic will occur. In the future the SDK may create
  10146. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10147. // for more information on using Contexts.
  10148. func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
  10149. req, out := c.DescribeSnapshotsRequest(input)
  10150. req.SetContext(ctx)
  10151. req.ApplyOptions(opts...)
  10152. return out, req.Send()
  10153. }
  10154. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  10155. // calling the "fn" function with the response data for each page. To stop
  10156. // iterating, return false from the fn function.
  10157. //
  10158. // See DescribeSnapshots method for more information on how to use this operation.
  10159. //
  10160. // Note: This operation can generate multiple requests to a service.
  10161. //
  10162. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  10163. // pageNum := 0
  10164. // err := client.DescribeSnapshotsPages(params,
  10165. // func(page *DescribeSnapshotsOutput, lastPage bool) bool {
  10166. // pageNum++
  10167. // fmt.Println(page)
  10168. // return pageNum <= 3
  10169. // })
  10170. //
  10171. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
  10172. return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  10173. }
  10174. // DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
  10175. // it takes a Context and allows setting request options on the pages.
  10176. //
  10177. // The context must be non-nil and will be used for request cancellation. If
  10178. // the context is nil a panic will occur. In the future the SDK may create
  10179. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10180. // for more information on using Contexts.
  10181. func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
  10182. p := request.Pagination{
  10183. NewRequest: func() (*request.Request, error) {
  10184. var inCpy *DescribeSnapshotsInput
  10185. if input != nil {
  10186. tmp := *input
  10187. inCpy = &tmp
  10188. }
  10189. req, _ := c.DescribeSnapshotsRequest(inCpy)
  10190. req.SetContext(ctx)
  10191. req.ApplyOptions(opts...)
  10192. return req, nil
  10193. },
  10194. }
  10195. cont := true
  10196. for p.Next() && cont {
  10197. cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage())
  10198. }
  10199. return p.Err()
  10200. }
  10201. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  10202. // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  10203. // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
  10204. // value can be used to capture response data after the request's "Send" method
  10205. // is called.
  10206. //
  10207. // See DescribeSpotDatafeedSubscription for usage and error information.
  10208. //
  10209. // Creating a request object using this method should be used when you want to inject
  10210. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10211. // access properties on the request object before or after sending the request. If
  10212. // you just want the service response, call the DescribeSpotDatafeedSubscription method directly
  10213. // instead.
  10214. //
  10215. // Note: You must call the "Send" method on the returned request object in order
  10216. // to execute the request.
  10217. //
  10218. // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
  10219. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
  10220. //
  10221. // err := req.Send()
  10222. // if err == nil { // resp is now filled
  10223. // fmt.Println(resp)
  10224. // }
  10225. //
  10226. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  10227. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  10228. op := &request.Operation{
  10229. Name: opDescribeSpotDatafeedSubscription,
  10230. HTTPMethod: "POST",
  10231. HTTPPath: "/",
  10232. }
  10233. if input == nil {
  10234. input = &DescribeSpotDatafeedSubscriptionInput{}
  10235. }
  10236. output = &DescribeSpotDatafeedSubscriptionOutput{}
  10237. req = c.newRequest(op, input, output)
  10238. return
  10239. }
  10240. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  10241. //
  10242. // Describes the data feed for Spot instances. For more information, see Spot
  10243. // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  10244. // in the Amazon Elastic Compute Cloud User Guide.
  10245. //
  10246. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10247. // with awserr.Error's Code and Message methods to get detailed information about
  10248. // the error.
  10249. //
  10250. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10251. // API operation DescribeSpotDatafeedSubscription for usage and error information.
  10252. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  10253. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  10254. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  10255. return out, req.Send()
  10256. }
  10257. // DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
  10258. // the ability to pass a context and additional request options.
  10259. //
  10260. // See DescribeSpotDatafeedSubscription for details on how to use this API operation.
  10261. //
  10262. // The context must be non-nil and will be used for request cancellation. If
  10263. // the context is nil a panic will occur. In the future the SDK may create
  10264. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10265. // for more information on using Contexts.
  10266. func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  10267. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  10268. req.SetContext(ctx)
  10269. req.ApplyOptions(opts...)
  10270. return out, req.Send()
  10271. }
  10272. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  10273. // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
  10274. // client's request for the DescribeSpotFleetInstances operation. The "output" return
  10275. // value can be used to capture response data after the request's "Send" method
  10276. // is called.
  10277. //
  10278. // See DescribeSpotFleetInstances for usage and error information.
  10279. //
  10280. // Creating a request object using this method should be used when you want to inject
  10281. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10282. // access properties on the request object before or after sending the request. If
  10283. // you just want the service response, call the DescribeSpotFleetInstances method directly
  10284. // instead.
  10285. //
  10286. // Note: You must call the "Send" method on the returned request object in order
  10287. // to execute the request.
  10288. //
  10289. // // Example sending a request using the DescribeSpotFleetInstancesRequest method.
  10290. // req, resp := client.DescribeSpotFleetInstancesRequest(params)
  10291. //
  10292. // err := req.Send()
  10293. // if err == nil { // resp is now filled
  10294. // fmt.Println(resp)
  10295. // }
  10296. //
  10297. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  10298. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  10299. op := &request.Operation{
  10300. Name: opDescribeSpotFleetInstances,
  10301. HTTPMethod: "POST",
  10302. HTTPPath: "/",
  10303. }
  10304. if input == nil {
  10305. input = &DescribeSpotFleetInstancesInput{}
  10306. }
  10307. output = &DescribeSpotFleetInstancesOutput{}
  10308. req = c.newRequest(op, input, output)
  10309. return
  10310. }
  10311. // DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
  10312. //
  10313. // Describes the running instances for the specified Spot fleet.
  10314. //
  10315. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10316. // with awserr.Error's Code and Message methods to get detailed information about
  10317. // the error.
  10318. //
  10319. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10320. // API operation DescribeSpotFleetInstances for usage and error information.
  10321. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  10322. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  10323. req, out := c.DescribeSpotFleetInstancesRequest(input)
  10324. return out, req.Send()
  10325. }
  10326. // DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
  10327. // the ability to pass a context and additional request options.
  10328. //
  10329. // See DescribeSpotFleetInstances for details on how to use this API operation.
  10330. //
  10331. // The context must be non-nil and will be used for request cancellation. If
  10332. // the context is nil a panic will occur. In the future the SDK may create
  10333. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10334. // for more information on using Contexts.
  10335. func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
  10336. req, out := c.DescribeSpotFleetInstancesRequest(input)
  10337. req.SetContext(ctx)
  10338. req.ApplyOptions(opts...)
  10339. return out, req.Send()
  10340. }
  10341. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  10342. // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
  10343. // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
  10344. // value can be used to capture response data after the request's "Send" method
  10345. // is called.
  10346. //
  10347. // See DescribeSpotFleetRequestHistory for usage and error information.
  10348. //
  10349. // Creating a request object using this method should be used when you want to inject
  10350. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10351. // access properties on the request object before or after sending the request. If
  10352. // you just want the service response, call the DescribeSpotFleetRequestHistory method directly
  10353. // instead.
  10354. //
  10355. // Note: You must call the "Send" method on the returned request object in order
  10356. // to execute the request.
  10357. //
  10358. // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
  10359. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
  10360. //
  10361. // err := req.Send()
  10362. // if err == nil { // resp is now filled
  10363. // fmt.Println(resp)
  10364. // }
  10365. //
  10366. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  10367. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  10368. op := &request.Operation{
  10369. Name: opDescribeSpotFleetRequestHistory,
  10370. HTTPMethod: "POST",
  10371. HTTPPath: "/",
  10372. }
  10373. if input == nil {
  10374. input = &DescribeSpotFleetRequestHistoryInput{}
  10375. }
  10376. output = &DescribeSpotFleetRequestHistoryOutput{}
  10377. req = c.newRequest(op, input, output)
  10378. return
  10379. }
  10380. // DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
  10381. //
  10382. // Describes the events for the specified Spot fleet request during the specified
  10383. // time.
  10384. //
  10385. // Spot fleet events are delayed by up to 30 seconds before they can be described.
  10386. // This ensures that you can query by the last evaluated time and not miss a
  10387. // recorded event.
  10388. //
  10389. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10390. // with awserr.Error's Code and Message methods to get detailed information about
  10391. // the error.
  10392. //
  10393. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10394. // API operation DescribeSpotFleetRequestHistory for usage and error information.
  10395. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  10396. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  10397. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  10398. return out, req.Send()
  10399. }
  10400. // DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
  10401. // the ability to pass a context and additional request options.
  10402. //
  10403. // See DescribeSpotFleetRequestHistory for details on how to use this API operation.
  10404. //
  10405. // The context must be non-nil and will be used for request cancellation. If
  10406. // the context is nil a panic will occur. In the future the SDK may create
  10407. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10408. // for more information on using Contexts.
  10409. func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
  10410. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  10411. req.SetContext(ctx)
  10412. req.ApplyOptions(opts...)
  10413. return out, req.Send()
  10414. }
  10415. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  10416. // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  10417. // client's request for the DescribeSpotFleetRequests operation. The "output" return
  10418. // value can be used to capture response data after the request's "Send" method
  10419. // is called.
  10420. //
  10421. // See DescribeSpotFleetRequests for usage and error information.
  10422. //
  10423. // Creating a request object using this method should be used when you want to inject
  10424. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10425. // access properties on the request object before or after sending the request. If
  10426. // you just want the service response, call the DescribeSpotFleetRequests method directly
  10427. // instead.
  10428. //
  10429. // Note: You must call the "Send" method on the returned request object in order
  10430. // to execute the request.
  10431. //
  10432. // // Example sending a request using the DescribeSpotFleetRequestsRequest method.
  10433. // req, resp := client.DescribeSpotFleetRequestsRequest(params)
  10434. //
  10435. // err := req.Send()
  10436. // if err == nil { // resp is now filled
  10437. // fmt.Println(resp)
  10438. // }
  10439. //
  10440. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  10441. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  10442. op := &request.Operation{
  10443. Name: opDescribeSpotFleetRequests,
  10444. HTTPMethod: "POST",
  10445. HTTPPath: "/",
  10446. Paginator: &request.Paginator{
  10447. InputTokens: []string{"NextToken"},
  10448. OutputTokens: []string{"NextToken"},
  10449. LimitToken: "MaxResults",
  10450. TruncationToken: "",
  10451. },
  10452. }
  10453. if input == nil {
  10454. input = &DescribeSpotFleetRequestsInput{}
  10455. }
  10456. output = &DescribeSpotFleetRequestsOutput{}
  10457. req = c.newRequest(op, input, output)
  10458. return
  10459. }
  10460. // DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  10461. //
  10462. // Describes your Spot fleet requests.
  10463. //
  10464. // Spot fleet requests are deleted 48 hours after they are canceled and their
  10465. // instances are terminated.
  10466. //
  10467. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10468. // with awserr.Error's Code and Message methods to get detailed information about
  10469. // the error.
  10470. //
  10471. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10472. // API operation DescribeSpotFleetRequests for usage and error information.
  10473. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  10474. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  10475. req, out := c.DescribeSpotFleetRequestsRequest(input)
  10476. return out, req.Send()
  10477. }
  10478. // DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
  10479. // the ability to pass a context and additional request options.
  10480. //
  10481. // See DescribeSpotFleetRequests for details on how to use this API operation.
  10482. //
  10483. // The context must be non-nil and will be used for request cancellation. If
  10484. // the context is nil a panic will occur. In the future the SDK may create
  10485. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10486. // for more information on using Contexts.
  10487. func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
  10488. req, out := c.DescribeSpotFleetRequestsRequest(input)
  10489. req.SetContext(ctx)
  10490. req.ApplyOptions(opts...)
  10491. return out, req.Send()
  10492. }
  10493. // DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
  10494. // calling the "fn" function with the response data for each page. To stop
  10495. // iterating, return false from the fn function.
  10496. //
  10497. // See DescribeSpotFleetRequests method for more information on how to use this operation.
  10498. //
  10499. // Note: This operation can generate multiple requests to a service.
  10500. //
  10501. // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
  10502. // pageNum := 0
  10503. // err := client.DescribeSpotFleetRequestsPages(params,
  10504. // func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool {
  10505. // pageNum++
  10506. // fmt.Println(page)
  10507. // return pageNum <= 3
  10508. // })
  10509. //
  10510. func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
  10511. return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  10512. }
  10513. // DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
  10514. // it takes a Context and allows setting request options on the pages.
  10515. //
  10516. // The context must be non-nil and will be used for request cancellation. If
  10517. // the context is nil a panic will occur. In the future the SDK may create
  10518. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10519. // for more information on using Contexts.
  10520. func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
  10521. p := request.Pagination{
  10522. NewRequest: func() (*request.Request, error) {
  10523. var inCpy *DescribeSpotFleetRequestsInput
  10524. if input != nil {
  10525. tmp := *input
  10526. inCpy = &tmp
  10527. }
  10528. req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
  10529. req.SetContext(ctx)
  10530. req.ApplyOptions(opts...)
  10531. return req, nil
  10532. },
  10533. }
  10534. cont := true
  10535. for p.Next() && cont {
  10536. cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage())
  10537. }
  10538. return p.Err()
  10539. }
  10540. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  10541. // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  10542. // client's request for the DescribeSpotInstanceRequests operation. The "output" return
  10543. // value can be used to capture response data after the request's "Send" method
  10544. // is called.
  10545. //
  10546. // See DescribeSpotInstanceRequests for usage and error information.
  10547. //
  10548. // Creating a request object using this method should be used when you want to inject
  10549. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10550. // access properties on the request object before or after sending the request. If
  10551. // you just want the service response, call the DescribeSpotInstanceRequests method directly
  10552. // instead.
  10553. //
  10554. // Note: You must call the "Send" method on the returned request object in order
  10555. // to execute the request.
  10556. //
  10557. // // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
  10558. // req, resp := client.DescribeSpotInstanceRequestsRequest(params)
  10559. //
  10560. // err := req.Send()
  10561. // if err == nil { // resp is now filled
  10562. // fmt.Println(resp)
  10563. // }
  10564. //
  10565. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  10566. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  10567. op := &request.Operation{
  10568. Name: opDescribeSpotInstanceRequests,
  10569. HTTPMethod: "POST",
  10570. HTTPPath: "/",
  10571. }
  10572. if input == nil {
  10573. input = &DescribeSpotInstanceRequestsInput{}
  10574. }
  10575. output = &DescribeSpotInstanceRequestsOutput{}
  10576. req = c.newRequest(op, input, output)
  10577. return
  10578. }
  10579. // DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  10580. //
  10581. // Describes the Spot instance requests that belong to your account. Spot instances
  10582. // are instances that Amazon EC2 launches when the bid price that you specify
  10583. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  10584. // based on available Spot instance capacity and current Spot instance requests.
  10585. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  10586. // in the Amazon Elastic Compute Cloud User Guide.
  10587. //
  10588. // You can use DescribeSpotInstanceRequests to find a running Spot instance
  10589. // by examining the response. If the status of the Spot instance is fulfilled,
  10590. // the instance ID appears in the response and contains the identifier of the
  10591. // instance. Alternatively, you can use DescribeInstances with a filter to look
  10592. // for instances where the instance lifecycle is spot.
  10593. //
  10594. // Spot instance requests are deleted 4 hours after they are canceled and their
  10595. // instances are terminated.
  10596. //
  10597. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10598. // with awserr.Error's Code and Message methods to get detailed information about
  10599. // the error.
  10600. //
  10601. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10602. // API operation DescribeSpotInstanceRequests for usage and error information.
  10603. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  10604. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  10605. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  10606. return out, req.Send()
  10607. }
  10608. // DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
  10609. // the ability to pass a context and additional request options.
  10610. //
  10611. // See DescribeSpotInstanceRequests for details on how to use this API operation.
  10612. //
  10613. // The context must be non-nil and will be used for request cancellation. If
  10614. // the context is nil a panic will occur. In the future the SDK may create
  10615. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10616. // for more information on using Contexts.
  10617. func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
  10618. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  10619. req.SetContext(ctx)
  10620. req.ApplyOptions(opts...)
  10621. return out, req.Send()
  10622. }
  10623. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  10624. // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
  10625. // client's request for the DescribeSpotPriceHistory operation. The "output" return
  10626. // value can be used to capture response data after the request's "Send" method
  10627. // is called.
  10628. //
  10629. // See DescribeSpotPriceHistory for usage and error information.
  10630. //
  10631. // Creating a request object using this method should be used when you want to inject
  10632. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10633. // access properties on the request object before or after sending the request. If
  10634. // you just want the service response, call the DescribeSpotPriceHistory method directly
  10635. // instead.
  10636. //
  10637. // Note: You must call the "Send" method on the returned request object in order
  10638. // to execute the request.
  10639. //
  10640. // // Example sending a request using the DescribeSpotPriceHistoryRequest method.
  10641. // req, resp := client.DescribeSpotPriceHistoryRequest(params)
  10642. //
  10643. // err := req.Send()
  10644. // if err == nil { // resp is now filled
  10645. // fmt.Println(resp)
  10646. // }
  10647. //
  10648. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  10649. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  10650. op := &request.Operation{
  10651. Name: opDescribeSpotPriceHistory,
  10652. HTTPMethod: "POST",
  10653. HTTPPath: "/",
  10654. Paginator: &request.Paginator{
  10655. InputTokens: []string{"NextToken"},
  10656. OutputTokens: []string{"NextToken"},
  10657. LimitToken: "MaxResults",
  10658. TruncationToken: "",
  10659. },
  10660. }
  10661. if input == nil {
  10662. input = &DescribeSpotPriceHistoryInput{}
  10663. }
  10664. output = &DescribeSpotPriceHistoryOutput{}
  10665. req = c.newRequest(op, input, output)
  10666. return
  10667. }
  10668. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
  10669. //
  10670. // Describes the Spot price history. For more information, see Spot Instance
  10671. // Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  10672. // in the Amazon Elastic Compute Cloud User Guide.
  10673. //
  10674. // When you specify a start and end time, this operation returns the prices
  10675. // of the instance types within the time range that you specified and the time
  10676. // when the price changed. The price is valid within the time period that you
  10677. // specified; the response merely indicates the last time that the price changed.
  10678. //
  10679. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10680. // with awserr.Error's Code and Message methods to get detailed information about
  10681. // the error.
  10682. //
  10683. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10684. // API operation DescribeSpotPriceHistory for usage and error information.
  10685. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  10686. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  10687. req, out := c.DescribeSpotPriceHistoryRequest(input)
  10688. return out, req.Send()
  10689. }
  10690. // DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
  10691. // the ability to pass a context and additional request options.
  10692. //
  10693. // See DescribeSpotPriceHistory for details on how to use this API operation.
  10694. //
  10695. // The context must be non-nil and will be used for request cancellation. If
  10696. // the context is nil a panic will occur. In the future the SDK may create
  10697. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10698. // for more information on using Contexts.
  10699. func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
  10700. req, out := c.DescribeSpotPriceHistoryRequest(input)
  10701. req.SetContext(ctx)
  10702. req.ApplyOptions(opts...)
  10703. return out, req.Send()
  10704. }
  10705. // DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
  10706. // calling the "fn" function with the response data for each page. To stop
  10707. // iterating, return false from the fn function.
  10708. //
  10709. // See DescribeSpotPriceHistory method for more information on how to use this operation.
  10710. //
  10711. // Note: This operation can generate multiple requests to a service.
  10712. //
  10713. // // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
  10714. // pageNum := 0
  10715. // err := client.DescribeSpotPriceHistoryPages(params,
  10716. // func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool {
  10717. // pageNum++
  10718. // fmt.Println(page)
  10719. // return pageNum <= 3
  10720. // })
  10721. //
  10722. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
  10723. return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  10724. }
  10725. // DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
  10726. // it takes a Context and allows setting request options on the pages.
  10727. //
  10728. // The context must be non-nil and will be used for request cancellation. If
  10729. // the context is nil a panic will occur. In the future the SDK may create
  10730. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10731. // for more information on using Contexts.
  10732. func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
  10733. p := request.Pagination{
  10734. NewRequest: func() (*request.Request, error) {
  10735. var inCpy *DescribeSpotPriceHistoryInput
  10736. if input != nil {
  10737. tmp := *input
  10738. inCpy = &tmp
  10739. }
  10740. req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
  10741. req.SetContext(ctx)
  10742. req.ApplyOptions(opts...)
  10743. return req, nil
  10744. },
  10745. }
  10746. cont := true
  10747. for p.Next() && cont {
  10748. cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage())
  10749. }
  10750. return p.Err()
  10751. }
  10752. const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
  10753. // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
  10754. // client's request for the DescribeStaleSecurityGroups operation. The "output" return
  10755. // value can be used to capture response data after the request's "Send" method
  10756. // is called.
  10757. //
  10758. // See DescribeStaleSecurityGroups for usage and error information.
  10759. //
  10760. // Creating a request object using this method should be used when you want to inject
  10761. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10762. // access properties on the request object before or after sending the request. If
  10763. // you just want the service response, call the DescribeStaleSecurityGroups method directly
  10764. // instead.
  10765. //
  10766. // Note: You must call the "Send" method on the returned request object in order
  10767. // to execute the request.
  10768. //
  10769. // // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
  10770. // req, resp := client.DescribeStaleSecurityGroupsRequest(params)
  10771. //
  10772. // err := req.Send()
  10773. // if err == nil { // resp is now filled
  10774. // fmt.Println(resp)
  10775. // }
  10776. //
  10777. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  10778. func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
  10779. op := &request.Operation{
  10780. Name: opDescribeStaleSecurityGroups,
  10781. HTTPMethod: "POST",
  10782. HTTPPath: "/",
  10783. }
  10784. if input == nil {
  10785. input = &DescribeStaleSecurityGroupsInput{}
  10786. }
  10787. output = &DescribeStaleSecurityGroupsOutput{}
  10788. req = c.newRequest(op, input, output)
  10789. return
  10790. }
  10791. // DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
  10792. //
  10793. // [EC2-VPC only] Describes the stale security group rules for security groups
  10794. // in a specified VPC. Rules are stale when they reference a deleted security
  10795. // group in a peer VPC, or a security group in a peer VPC for which the VPC
  10796. // peering connection has been deleted.
  10797. //
  10798. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10799. // with awserr.Error's Code and Message methods to get detailed information about
  10800. // the error.
  10801. //
  10802. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10803. // API operation DescribeStaleSecurityGroups for usage and error information.
  10804. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  10805. func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
  10806. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  10807. return out, req.Send()
  10808. }
  10809. // DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
  10810. // the ability to pass a context and additional request options.
  10811. //
  10812. // See DescribeStaleSecurityGroups for details on how to use this API operation.
  10813. //
  10814. // The context must be non-nil and will be used for request cancellation. If
  10815. // the context is nil a panic will occur. In the future the SDK may create
  10816. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10817. // for more information on using Contexts.
  10818. func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
  10819. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  10820. req.SetContext(ctx)
  10821. req.ApplyOptions(opts...)
  10822. return out, req.Send()
  10823. }
  10824. const opDescribeSubnets = "DescribeSubnets"
  10825. // DescribeSubnetsRequest generates a "aws/request.Request" representing the
  10826. // client's request for the DescribeSubnets operation. The "output" return
  10827. // value can be used to capture response data after the request's "Send" method
  10828. // is called.
  10829. //
  10830. // See DescribeSubnets for usage and error information.
  10831. //
  10832. // Creating a request object using this method should be used when you want to inject
  10833. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10834. // access properties on the request object before or after sending the request. If
  10835. // you just want the service response, call the DescribeSubnets method directly
  10836. // instead.
  10837. //
  10838. // Note: You must call the "Send" method on the returned request object in order
  10839. // to execute the request.
  10840. //
  10841. // // Example sending a request using the DescribeSubnetsRequest method.
  10842. // req, resp := client.DescribeSubnetsRequest(params)
  10843. //
  10844. // err := req.Send()
  10845. // if err == nil { // resp is now filled
  10846. // fmt.Println(resp)
  10847. // }
  10848. //
  10849. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  10850. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  10851. op := &request.Operation{
  10852. Name: opDescribeSubnets,
  10853. HTTPMethod: "POST",
  10854. HTTPPath: "/",
  10855. }
  10856. if input == nil {
  10857. input = &DescribeSubnetsInput{}
  10858. }
  10859. output = &DescribeSubnetsOutput{}
  10860. req = c.newRequest(op, input, output)
  10861. return
  10862. }
  10863. // DescribeSubnets API operation for Amazon Elastic Compute Cloud.
  10864. //
  10865. // Describes one or more of your subnets.
  10866. //
  10867. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  10868. // in the Amazon Virtual Private Cloud User Guide.
  10869. //
  10870. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10871. // with awserr.Error's Code and Message methods to get detailed information about
  10872. // the error.
  10873. //
  10874. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10875. // API operation DescribeSubnets for usage and error information.
  10876. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  10877. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  10878. req, out := c.DescribeSubnetsRequest(input)
  10879. return out, req.Send()
  10880. }
  10881. // DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
  10882. // the ability to pass a context and additional request options.
  10883. //
  10884. // See DescribeSubnets for details on how to use this API operation.
  10885. //
  10886. // The context must be non-nil and will be used for request cancellation. If
  10887. // the context is nil a panic will occur. In the future the SDK may create
  10888. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10889. // for more information on using Contexts.
  10890. func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
  10891. req, out := c.DescribeSubnetsRequest(input)
  10892. req.SetContext(ctx)
  10893. req.ApplyOptions(opts...)
  10894. return out, req.Send()
  10895. }
  10896. const opDescribeTags = "DescribeTags"
  10897. // DescribeTagsRequest generates a "aws/request.Request" representing the
  10898. // client's request for the DescribeTags operation. The "output" return
  10899. // value can be used to capture response data after the request's "Send" method
  10900. // is called.
  10901. //
  10902. // See DescribeTags for usage and error information.
  10903. //
  10904. // Creating a request object using this method should be used when you want to inject
  10905. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10906. // access properties on the request object before or after sending the request. If
  10907. // you just want the service response, call the DescribeTags method directly
  10908. // instead.
  10909. //
  10910. // Note: You must call the "Send" method on the returned request object in order
  10911. // to execute the request.
  10912. //
  10913. // // Example sending a request using the DescribeTagsRequest method.
  10914. // req, resp := client.DescribeTagsRequest(params)
  10915. //
  10916. // err := req.Send()
  10917. // if err == nil { // resp is now filled
  10918. // fmt.Println(resp)
  10919. // }
  10920. //
  10921. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  10922. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  10923. op := &request.Operation{
  10924. Name: opDescribeTags,
  10925. HTTPMethod: "POST",
  10926. HTTPPath: "/",
  10927. Paginator: &request.Paginator{
  10928. InputTokens: []string{"NextToken"},
  10929. OutputTokens: []string{"NextToken"},
  10930. LimitToken: "MaxResults",
  10931. TruncationToken: "",
  10932. },
  10933. }
  10934. if input == nil {
  10935. input = &DescribeTagsInput{}
  10936. }
  10937. output = &DescribeTagsOutput{}
  10938. req = c.newRequest(op, input, output)
  10939. return
  10940. }
  10941. // DescribeTags API operation for Amazon Elastic Compute Cloud.
  10942. //
  10943. // Describes one or more of the tags for your EC2 resources.
  10944. //
  10945. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  10946. // in the Amazon Elastic Compute Cloud User Guide.
  10947. //
  10948. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10949. // with awserr.Error's Code and Message methods to get detailed information about
  10950. // the error.
  10951. //
  10952. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10953. // API operation DescribeTags for usage and error information.
  10954. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  10955. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  10956. req, out := c.DescribeTagsRequest(input)
  10957. return out, req.Send()
  10958. }
  10959. // DescribeTagsWithContext is the same as DescribeTags with the addition of
  10960. // the ability to pass a context and additional request options.
  10961. //
  10962. // See DescribeTags for details on how to use this API operation.
  10963. //
  10964. // The context must be non-nil and will be used for request cancellation. If
  10965. // the context is nil a panic will occur. In the future the SDK may create
  10966. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10967. // for more information on using Contexts.
  10968. func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  10969. req, out := c.DescribeTagsRequest(input)
  10970. req.SetContext(ctx)
  10971. req.ApplyOptions(opts...)
  10972. return out, req.Send()
  10973. }
  10974. // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  10975. // calling the "fn" function with the response data for each page. To stop
  10976. // iterating, return false from the fn function.
  10977. //
  10978. // See DescribeTags method for more information on how to use this operation.
  10979. //
  10980. // Note: This operation can generate multiple requests to a service.
  10981. //
  10982. // // Example iterating over at most 3 pages of a DescribeTags operation.
  10983. // pageNum := 0
  10984. // err := client.DescribeTagsPages(params,
  10985. // func(page *DescribeTagsOutput, lastPage bool) bool {
  10986. // pageNum++
  10987. // fmt.Println(page)
  10988. // return pageNum <= 3
  10989. // })
  10990. //
  10991. func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
  10992. return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
  10993. }
  10994. // DescribeTagsPagesWithContext same as DescribeTagsPages except
  10995. // it takes a Context and allows setting request options on the pages.
  10996. //
  10997. // The context must be non-nil and will be used for request cancellation. If
  10998. // the context is nil a panic will occur. In the future the SDK may create
  10999. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11000. // for more information on using Contexts.
  11001. func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
  11002. p := request.Pagination{
  11003. NewRequest: func() (*request.Request, error) {
  11004. var inCpy *DescribeTagsInput
  11005. if input != nil {
  11006. tmp := *input
  11007. inCpy = &tmp
  11008. }
  11009. req, _ := c.DescribeTagsRequest(inCpy)
  11010. req.SetContext(ctx)
  11011. req.ApplyOptions(opts...)
  11012. return req, nil
  11013. },
  11014. }
  11015. cont := true
  11016. for p.Next() && cont {
  11017. cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage())
  11018. }
  11019. return p.Err()
  11020. }
  11021. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  11022. // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
  11023. // client's request for the DescribeVolumeAttribute operation. The "output" return
  11024. // value can be used to capture response data after the request's "Send" method
  11025. // is called.
  11026. //
  11027. // See DescribeVolumeAttribute for usage and error information.
  11028. //
  11029. // Creating a request object using this method should be used when you want to inject
  11030. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11031. // access properties on the request object before or after sending the request. If
  11032. // you just want the service response, call the DescribeVolumeAttribute method directly
  11033. // instead.
  11034. //
  11035. // Note: You must call the "Send" method on the returned request object in order
  11036. // to execute the request.
  11037. //
  11038. // // Example sending a request using the DescribeVolumeAttributeRequest method.
  11039. // req, resp := client.DescribeVolumeAttributeRequest(params)
  11040. //
  11041. // err := req.Send()
  11042. // if err == nil { // resp is now filled
  11043. // fmt.Println(resp)
  11044. // }
  11045. //
  11046. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  11047. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  11048. op := &request.Operation{
  11049. Name: opDescribeVolumeAttribute,
  11050. HTTPMethod: "POST",
  11051. HTTPPath: "/",
  11052. }
  11053. if input == nil {
  11054. input = &DescribeVolumeAttributeInput{}
  11055. }
  11056. output = &DescribeVolumeAttributeOutput{}
  11057. req = c.newRequest(op, input, output)
  11058. return
  11059. }
  11060. // DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  11061. //
  11062. // Describes the specified attribute of the specified volume. You can specify
  11063. // only one attribute at a time.
  11064. //
  11065. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  11066. // in the Amazon Elastic Compute Cloud User Guide.
  11067. //
  11068. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11069. // with awserr.Error's Code and Message methods to get detailed information about
  11070. // the error.
  11071. //
  11072. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11073. // API operation DescribeVolumeAttribute for usage and error information.
  11074. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  11075. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  11076. req, out := c.DescribeVolumeAttributeRequest(input)
  11077. return out, req.Send()
  11078. }
  11079. // DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
  11080. // the ability to pass a context and additional request options.
  11081. //
  11082. // See DescribeVolumeAttribute for details on how to use this API operation.
  11083. //
  11084. // The context must be non-nil and will be used for request cancellation. If
  11085. // the context is nil a panic will occur. In the future the SDK may create
  11086. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11087. // for more information on using Contexts.
  11088. func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
  11089. req, out := c.DescribeVolumeAttributeRequest(input)
  11090. req.SetContext(ctx)
  11091. req.ApplyOptions(opts...)
  11092. return out, req.Send()
  11093. }
  11094. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  11095. // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
  11096. // client's request for the DescribeVolumeStatus operation. The "output" return
  11097. // value can be used to capture response data after the request's "Send" method
  11098. // is called.
  11099. //
  11100. // See DescribeVolumeStatus for usage and error information.
  11101. //
  11102. // Creating a request object using this method should be used when you want to inject
  11103. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11104. // access properties on the request object before or after sending the request. If
  11105. // you just want the service response, call the DescribeVolumeStatus method directly
  11106. // instead.
  11107. //
  11108. // Note: You must call the "Send" method on the returned request object in order
  11109. // to execute the request.
  11110. //
  11111. // // Example sending a request using the DescribeVolumeStatusRequest method.
  11112. // req, resp := client.DescribeVolumeStatusRequest(params)
  11113. //
  11114. // err := req.Send()
  11115. // if err == nil { // resp is now filled
  11116. // fmt.Println(resp)
  11117. // }
  11118. //
  11119. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  11120. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  11121. op := &request.Operation{
  11122. Name: opDescribeVolumeStatus,
  11123. HTTPMethod: "POST",
  11124. HTTPPath: "/",
  11125. Paginator: &request.Paginator{
  11126. InputTokens: []string{"NextToken"},
  11127. OutputTokens: []string{"NextToken"},
  11128. LimitToken: "MaxResults",
  11129. TruncationToken: "",
  11130. },
  11131. }
  11132. if input == nil {
  11133. input = &DescribeVolumeStatusInput{}
  11134. }
  11135. output = &DescribeVolumeStatusOutput{}
  11136. req = c.newRequest(op, input, output)
  11137. return
  11138. }
  11139. // DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
  11140. //
  11141. // Describes the status of the specified volumes. Volume status provides the
  11142. // result of the checks performed on your volumes to determine events that can
  11143. // impair the performance of your volumes. The performance of a volume can be
  11144. // affected if an issue occurs on the volume's underlying host. If the volume's
  11145. // underlying host experiences a power outage or system issue, after the system
  11146. // is restored, there could be data inconsistencies on the volume. Volume events
  11147. // notify you if this occurs. Volume actions notify you if any action needs
  11148. // to be taken in response to the event.
  11149. //
  11150. // The DescribeVolumeStatus operation provides the following information about
  11151. // the specified volumes:
  11152. //
  11153. // Status: Reflects the current status of the volume. The possible values are
  11154. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  11155. // status of the volume is ok. If the check fails, the overall status is impaired.
  11156. // If the status is insufficient-data, then the checks may still be taking place
  11157. // on your volume at the time. We recommend that you retry the request. For
  11158. // more information on volume status, see Monitoring the Status of Your Volumes
  11159. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
  11160. //
  11161. // Events: Reflect the cause of a volume status and may require you to take
  11162. // action. For example, if your volume returns an impaired status, then the
  11163. // volume event might be potential-data-inconsistency. This means that your
  11164. // volume has been affected by an issue with the underlying host, has all I/O
  11165. // operations disabled, and may have inconsistent data.
  11166. //
  11167. // Actions: Reflect the actions you may have to take in response to an event.
  11168. // For example, if the status of the volume is impaired and the volume event
  11169. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  11170. // This means that you may want to enable the I/O operations for the volume
  11171. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  11172. //
  11173. // Volume status is based on the volume status checks, and does not reflect
  11174. // the volume state. Therefore, volume status does not indicate volumes in the
  11175. // error state (for example, when a volume is incapable of accepting I/O.)
  11176. //
  11177. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11178. // with awserr.Error's Code and Message methods to get detailed information about
  11179. // the error.
  11180. //
  11181. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11182. // API operation DescribeVolumeStatus for usage and error information.
  11183. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  11184. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  11185. req, out := c.DescribeVolumeStatusRequest(input)
  11186. return out, req.Send()
  11187. }
  11188. // DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
  11189. // the ability to pass a context and additional request options.
  11190. //
  11191. // See DescribeVolumeStatus for details on how to use this API operation.
  11192. //
  11193. // The context must be non-nil and will be used for request cancellation. If
  11194. // the context is nil a panic will occur. In the future the SDK may create
  11195. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11196. // for more information on using Contexts.
  11197. func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
  11198. req, out := c.DescribeVolumeStatusRequest(input)
  11199. req.SetContext(ctx)
  11200. req.ApplyOptions(opts...)
  11201. return out, req.Send()
  11202. }
  11203. // DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
  11204. // calling the "fn" function with the response data for each page. To stop
  11205. // iterating, return false from the fn function.
  11206. //
  11207. // See DescribeVolumeStatus method for more information on how to use this operation.
  11208. //
  11209. // Note: This operation can generate multiple requests to a service.
  11210. //
  11211. // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
  11212. // pageNum := 0
  11213. // err := client.DescribeVolumeStatusPages(params,
  11214. // func(page *DescribeVolumeStatusOutput, lastPage bool) bool {
  11215. // pageNum++
  11216. // fmt.Println(page)
  11217. // return pageNum <= 3
  11218. // })
  11219. //
  11220. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
  11221. return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  11222. }
  11223. // DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
  11224. // it takes a Context and allows setting request options on the pages.
  11225. //
  11226. // The context must be non-nil and will be used for request cancellation. If
  11227. // the context is nil a panic will occur. In the future the SDK may create
  11228. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11229. // for more information on using Contexts.
  11230. func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
  11231. p := request.Pagination{
  11232. NewRequest: func() (*request.Request, error) {
  11233. var inCpy *DescribeVolumeStatusInput
  11234. if input != nil {
  11235. tmp := *input
  11236. inCpy = &tmp
  11237. }
  11238. req, _ := c.DescribeVolumeStatusRequest(inCpy)
  11239. req.SetContext(ctx)
  11240. req.ApplyOptions(opts...)
  11241. return req, nil
  11242. },
  11243. }
  11244. cont := true
  11245. for p.Next() && cont {
  11246. cont = fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage())
  11247. }
  11248. return p.Err()
  11249. }
  11250. const opDescribeVolumes = "DescribeVolumes"
  11251. // DescribeVolumesRequest generates a "aws/request.Request" representing the
  11252. // client's request for the DescribeVolumes operation. The "output" return
  11253. // value can be used to capture response data after the request's "Send" method
  11254. // is called.
  11255. //
  11256. // See DescribeVolumes for usage and error information.
  11257. //
  11258. // Creating a request object using this method should be used when you want to inject
  11259. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11260. // access properties on the request object before or after sending the request. If
  11261. // you just want the service response, call the DescribeVolumes method directly
  11262. // instead.
  11263. //
  11264. // Note: You must call the "Send" method on the returned request object in order
  11265. // to execute the request.
  11266. //
  11267. // // Example sending a request using the DescribeVolumesRequest method.
  11268. // req, resp := client.DescribeVolumesRequest(params)
  11269. //
  11270. // err := req.Send()
  11271. // if err == nil { // resp is now filled
  11272. // fmt.Println(resp)
  11273. // }
  11274. //
  11275. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  11276. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  11277. op := &request.Operation{
  11278. Name: opDescribeVolumes,
  11279. HTTPMethod: "POST",
  11280. HTTPPath: "/",
  11281. Paginator: &request.Paginator{
  11282. InputTokens: []string{"NextToken"},
  11283. OutputTokens: []string{"NextToken"},
  11284. LimitToken: "MaxResults",
  11285. TruncationToken: "",
  11286. },
  11287. }
  11288. if input == nil {
  11289. input = &DescribeVolumesInput{}
  11290. }
  11291. output = &DescribeVolumesOutput{}
  11292. req = c.newRequest(op, input, output)
  11293. return
  11294. }
  11295. // DescribeVolumes API operation for Amazon Elastic Compute Cloud.
  11296. //
  11297. // Describes the specified EBS volumes.
  11298. //
  11299. // If you are describing a long list of volumes, you can paginate the output
  11300. // to make the list more manageable. The MaxResults parameter sets the maximum
  11301. // number of results returned in a single page. If the list of results exceeds
  11302. // your MaxResults value, then that number of results is returned along with
  11303. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  11304. // to retrieve the remaining results.
  11305. //
  11306. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  11307. // in the Amazon Elastic Compute Cloud User Guide.
  11308. //
  11309. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11310. // with awserr.Error's Code and Message methods to get detailed information about
  11311. // the error.
  11312. //
  11313. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11314. // API operation DescribeVolumes for usage and error information.
  11315. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  11316. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  11317. req, out := c.DescribeVolumesRequest(input)
  11318. return out, req.Send()
  11319. }
  11320. // DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
  11321. // the ability to pass a context and additional request options.
  11322. //
  11323. // See DescribeVolumes for details on how to use this API operation.
  11324. //
  11325. // The context must be non-nil and will be used for request cancellation. If
  11326. // the context is nil a panic will occur. In the future the SDK may create
  11327. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11328. // for more information on using Contexts.
  11329. func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
  11330. req, out := c.DescribeVolumesRequest(input)
  11331. req.SetContext(ctx)
  11332. req.ApplyOptions(opts...)
  11333. return out, req.Send()
  11334. }
  11335. // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  11336. // calling the "fn" function with the response data for each page. To stop
  11337. // iterating, return false from the fn function.
  11338. //
  11339. // See DescribeVolumes method for more information on how to use this operation.
  11340. //
  11341. // Note: This operation can generate multiple requests to a service.
  11342. //
  11343. // // Example iterating over at most 3 pages of a DescribeVolumes operation.
  11344. // pageNum := 0
  11345. // err := client.DescribeVolumesPages(params,
  11346. // func(page *DescribeVolumesOutput, lastPage bool) bool {
  11347. // pageNum++
  11348. // fmt.Println(page)
  11349. // return pageNum <= 3
  11350. // })
  11351. //
  11352. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
  11353. return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
  11354. }
  11355. // DescribeVolumesPagesWithContext same as DescribeVolumesPages except
  11356. // it takes a Context and allows setting request options on the pages.
  11357. //
  11358. // The context must be non-nil and will be used for request cancellation. If
  11359. // the context is nil a panic will occur. In the future the SDK may create
  11360. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11361. // for more information on using Contexts.
  11362. func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
  11363. p := request.Pagination{
  11364. NewRequest: func() (*request.Request, error) {
  11365. var inCpy *DescribeVolumesInput
  11366. if input != nil {
  11367. tmp := *input
  11368. inCpy = &tmp
  11369. }
  11370. req, _ := c.DescribeVolumesRequest(inCpy)
  11371. req.SetContext(ctx)
  11372. req.ApplyOptions(opts...)
  11373. return req, nil
  11374. },
  11375. }
  11376. cont := true
  11377. for p.Next() && cont {
  11378. cont = fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage())
  11379. }
  11380. return p.Err()
  11381. }
  11382. const opDescribeVolumesModifications = "DescribeVolumesModifications"
  11383. // DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
  11384. // client's request for the DescribeVolumesModifications operation. The "output" return
  11385. // value can be used to capture response data after the request's "Send" method
  11386. // is called.
  11387. //
  11388. // See DescribeVolumesModifications for usage and error information.
  11389. //
  11390. // Creating a request object using this method should be used when you want to inject
  11391. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11392. // access properties on the request object before or after sending the request. If
  11393. // you just want the service response, call the DescribeVolumesModifications method directly
  11394. // instead.
  11395. //
  11396. // Note: You must call the "Send" method on the returned request object in order
  11397. // to execute the request.
  11398. //
  11399. // // Example sending a request using the DescribeVolumesModificationsRequest method.
  11400. // req, resp := client.DescribeVolumesModificationsRequest(params)
  11401. //
  11402. // err := req.Send()
  11403. // if err == nil { // resp is now filled
  11404. // fmt.Println(resp)
  11405. // }
  11406. //
  11407. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  11408. func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
  11409. op := &request.Operation{
  11410. Name: opDescribeVolumesModifications,
  11411. HTTPMethod: "POST",
  11412. HTTPPath: "/",
  11413. }
  11414. if input == nil {
  11415. input = &DescribeVolumesModificationsInput{}
  11416. }
  11417. output = &DescribeVolumesModificationsOutput{}
  11418. req = c.newRequest(op, input, output)
  11419. return
  11420. }
  11421. // DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
  11422. //
  11423. // Reports the current modification status of EBS volumes.
  11424. //
  11425. // Current-generation EBS volumes support modification of attributes including
  11426. // type, size, and (for io1 volumes) IOPS provisioning while either attached
  11427. // to or detached from an instance. Following an action from the API or the
  11428. // console to modify a volume, the status of the modification may be modifying,
  11429. // optimizing, completed, or failed. If a volume has never been modified, then
  11430. // certain elements of the returned VolumeModification objects are null.
  11431. //
  11432. // You can also use CloudWatch Events to check the status of a modification
  11433. // to an EBS volume. For information about CloudWatch Events, see the Amazon
  11434. // CloudWatch Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  11435. // For more information, see Monitoring Volume Modifications" (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  11436. //
  11437. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11438. // with awserr.Error's Code and Message methods to get detailed information about
  11439. // the error.
  11440. //
  11441. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11442. // API operation DescribeVolumesModifications for usage and error information.
  11443. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  11444. func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
  11445. req, out := c.DescribeVolumesModificationsRequest(input)
  11446. return out, req.Send()
  11447. }
  11448. // DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
  11449. // the ability to pass a context and additional request options.
  11450. //
  11451. // See DescribeVolumesModifications for details on how to use this API operation.
  11452. //
  11453. // The context must be non-nil and will be used for request cancellation. If
  11454. // the context is nil a panic will occur. In the future the SDK may create
  11455. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11456. // for more information on using Contexts.
  11457. func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
  11458. req, out := c.DescribeVolumesModificationsRequest(input)
  11459. req.SetContext(ctx)
  11460. req.ApplyOptions(opts...)
  11461. return out, req.Send()
  11462. }
  11463. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  11464. // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
  11465. // client's request for the DescribeVpcAttribute 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 DescribeVpcAttribute 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 DescribeVpcAttribute 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 DescribeVpcAttributeRequest method.
  11481. // req, resp := client.DescribeVpcAttributeRequest(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/DescribeVpcAttribute
  11489. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  11490. op := &request.Operation{
  11491. Name: opDescribeVpcAttribute,
  11492. HTTPMethod: "POST",
  11493. HTTPPath: "/",
  11494. }
  11495. if input == nil {
  11496. input = &DescribeVpcAttributeInput{}
  11497. }
  11498. output = &DescribeVpcAttributeOutput{}
  11499. req = c.newRequest(op, input, output)
  11500. return
  11501. }
  11502. // DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
  11503. //
  11504. // Describes the specified attribute of the specified VPC. You can specify only
  11505. // one attribute at a time.
  11506. //
  11507. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11508. // with awserr.Error's Code and Message methods to get detailed information about
  11509. // the error.
  11510. //
  11511. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11512. // API operation DescribeVpcAttribute for usage and error information.
  11513. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  11514. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  11515. req, out := c.DescribeVpcAttributeRequest(input)
  11516. return out, req.Send()
  11517. }
  11518. // DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
  11519. // the ability to pass a context and additional request options.
  11520. //
  11521. // See DescribeVpcAttribute for details on how to use this API operation.
  11522. //
  11523. // The context must be non-nil and will be used for request cancellation. If
  11524. // the context is nil a panic will occur. In the future the SDK may create
  11525. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11526. // for more information on using Contexts.
  11527. func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
  11528. req, out := c.DescribeVpcAttributeRequest(input)
  11529. req.SetContext(ctx)
  11530. req.ApplyOptions(opts...)
  11531. return out, req.Send()
  11532. }
  11533. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  11534. // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
  11535. // client's request for the DescribeVpcClassicLink operation. The "output" return
  11536. // value can be used to capture response data after the request's "Send" method
  11537. // is called.
  11538. //
  11539. // See DescribeVpcClassicLink for usage and error information.
  11540. //
  11541. // Creating a request object using this method should be used when you want to inject
  11542. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11543. // access properties on the request object before or after sending the request. If
  11544. // you just want the service response, call the DescribeVpcClassicLink method directly
  11545. // instead.
  11546. //
  11547. // Note: You must call the "Send" method on the returned request object in order
  11548. // to execute the request.
  11549. //
  11550. // // Example sending a request using the DescribeVpcClassicLinkRequest method.
  11551. // req, resp := client.DescribeVpcClassicLinkRequest(params)
  11552. //
  11553. // err := req.Send()
  11554. // if err == nil { // resp is now filled
  11555. // fmt.Println(resp)
  11556. // }
  11557. //
  11558. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  11559. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  11560. op := &request.Operation{
  11561. Name: opDescribeVpcClassicLink,
  11562. HTTPMethod: "POST",
  11563. HTTPPath: "/",
  11564. }
  11565. if input == nil {
  11566. input = &DescribeVpcClassicLinkInput{}
  11567. }
  11568. output = &DescribeVpcClassicLinkOutput{}
  11569. req = c.newRequest(op, input, output)
  11570. return
  11571. }
  11572. // DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  11573. //
  11574. // Describes the ClassicLink status of one or more VPCs.
  11575. //
  11576. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11577. // with awserr.Error's Code and Message methods to get detailed information about
  11578. // the error.
  11579. //
  11580. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11581. // API operation DescribeVpcClassicLink for usage and error information.
  11582. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  11583. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  11584. req, out := c.DescribeVpcClassicLinkRequest(input)
  11585. return out, req.Send()
  11586. }
  11587. // DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
  11588. // the ability to pass a context and additional request options.
  11589. //
  11590. // See DescribeVpcClassicLink for details on how to use this API operation.
  11591. //
  11592. // The context must be non-nil and will be used for request cancellation. If
  11593. // the context is nil a panic will occur. In the future the SDK may create
  11594. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11595. // for more information on using Contexts.
  11596. func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
  11597. req, out := c.DescribeVpcClassicLinkRequest(input)
  11598. req.SetContext(ctx)
  11599. req.ApplyOptions(opts...)
  11600. return out, req.Send()
  11601. }
  11602. const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
  11603. // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  11604. // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
  11605. // value can be used to capture response data after the request's "Send" method
  11606. // is called.
  11607. //
  11608. // See DescribeVpcClassicLinkDnsSupport for usage and error information.
  11609. //
  11610. // Creating a request object using this method should be used when you want to inject
  11611. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11612. // access properties on the request object before or after sending the request. If
  11613. // you just want the service response, call the DescribeVpcClassicLinkDnsSupport method directly
  11614. // instead.
  11615. //
  11616. // Note: You must call the "Send" method on the returned request object in order
  11617. // to execute the request.
  11618. //
  11619. // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
  11620. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
  11621. //
  11622. // err := req.Send()
  11623. // if err == nil { // resp is now filled
  11624. // fmt.Println(resp)
  11625. // }
  11626. //
  11627. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  11628. func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
  11629. op := &request.Operation{
  11630. Name: opDescribeVpcClassicLinkDnsSupport,
  11631. HTTPMethod: "POST",
  11632. HTTPPath: "/",
  11633. }
  11634. if input == nil {
  11635. input = &DescribeVpcClassicLinkDnsSupportInput{}
  11636. }
  11637. output = &DescribeVpcClassicLinkDnsSupportOutput{}
  11638. req = c.newRequest(op, input, output)
  11639. return
  11640. }
  11641. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  11642. //
  11643. // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
  11644. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  11645. // IP address when addressed from an instance in the VPC to which it's linked.
  11646. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  11647. // IP address when addressed from a linked EC2-Classic instance. For more information
  11648. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  11649. // in the Amazon Elastic Compute Cloud User Guide.
  11650. //
  11651. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11652. // with awserr.Error's Code and Message methods to get detailed information about
  11653. // the error.
  11654. //
  11655. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11656. // API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
  11657. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  11658. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  11659. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  11660. return out, req.Send()
  11661. }
  11662. // DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
  11663. // the ability to pass a context and additional request options.
  11664. //
  11665. // See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
  11666. //
  11667. // The context must be non-nil and will be used for request cancellation. If
  11668. // the context is nil a panic will occur. In the future the SDK may create
  11669. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11670. // for more information on using Contexts.
  11671. func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  11672. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  11673. req.SetContext(ctx)
  11674. req.ApplyOptions(opts...)
  11675. return out, req.Send()
  11676. }
  11677. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  11678. // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
  11679. // client's request for the DescribeVpcEndpointServices operation. The "output" return
  11680. // value can be used to capture response data after the request's "Send" method
  11681. // is called.
  11682. //
  11683. // See DescribeVpcEndpointServices for usage and error information.
  11684. //
  11685. // Creating a request object using this method should be used when you want to inject
  11686. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11687. // access properties on the request object before or after sending the request. If
  11688. // you just want the service response, call the DescribeVpcEndpointServices method directly
  11689. // instead.
  11690. //
  11691. // Note: You must call the "Send" method on the returned request object in order
  11692. // to execute the request.
  11693. //
  11694. // // Example sending a request using the DescribeVpcEndpointServicesRequest method.
  11695. // req, resp := client.DescribeVpcEndpointServicesRequest(params)
  11696. //
  11697. // err := req.Send()
  11698. // if err == nil { // resp is now filled
  11699. // fmt.Println(resp)
  11700. // }
  11701. //
  11702. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  11703. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  11704. op := &request.Operation{
  11705. Name: opDescribeVpcEndpointServices,
  11706. HTTPMethod: "POST",
  11707. HTTPPath: "/",
  11708. }
  11709. if input == nil {
  11710. input = &DescribeVpcEndpointServicesInput{}
  11711. }
  11712. output = &DescribeVpcEndpointServicesOutput{}
  11713. req = c.newRequest(op, input, output)
  11714. return
  11715. }
  11716. // DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
  11717. //
  11718. // Describes all supported AWS services that can be specified when creating
  11719. // a VPC endpoint.
  11720. //
  11721. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11722. // with awserr.Error's Code and Message methods to get detailed information about
  11723. // the error.
  11724. //
  11725. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11726. // API operation DescribeVpcEndpointServices for usage and error information.
  11727. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  11728. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  11729. req, out := c.DescribeVpcEndpointServicesRequest(input)
  11730. return out, req.Send()
  11731. }
  11732. // DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
  11733. // the ability to pass a context and additional request options.
  11734. //
  11735. // See DescribeVpcEndpointServices for details on how to use this API operation.
  11736. //
  11737. // The context must be non-nil and will be used for request cancellation. If
  11738. // the context is nil a panic will occur. In the future the SDK may create
  11739. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11740. // for more information on using Contexts.
  11741. func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
  11742. req, out := c.DescribeVpcEndpointServicesRequest(input)
  11743. req.SetContext(ctx)
  11744. req.ApplyOptions(opts...)
  11745. return out, req.Send()
  11746. }
  11747. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  11748. // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
  11749. // client's request for the DescribeVpcEndpoints operation. The "output" return
  11750. // value can be used to capture response data after the request's "Send" method
  11751. // is called.
  11752. //
  11753. // See DescribeVpcEndpoints for usage and error information.
  11754. //
  11755. // Creating a request object using this method should be used when you want to inject
  11756. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11757. // access properties on the request object before or after sending the request. If
  11758. // you just want the service response, call the DescribeVpcEndpoints method directly
  11759. // instead.
  11760. //
  11761. // Note: You must call the "Send" method on the returned request object in order
  11762. // to execute the request.
  11763. //
  11764. // // Example sending a request using the DescribeVpcEndpointsRequest method.
  11765. // req, resp := client.DescribeVpcEndpointsRequest(params)
  11766. //
  11767. // err := req.Send()
  11768. // if err == nil { // resp is now filled
  11769. // fmt.Println(resp)
  11770. // }
  11771. //
  11772. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  11773. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  11774. op := &request.Operation{
  11775. Name: opDescribeVpcEndpoints,
  11776. HTTPMethod: "POST",
  11777. HTTPPath: "/",
  11778. }
  11779. if input == nil {
  11780. input = &DescribeVpcEndpointsInput{}
  11781. }
  11782. output = &DescribeVpcEndpointsOutput{}
  11783. req = c.newRequest(op, input, output)
  11784. return
  11785. }
  11786. // DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  11787. //
  11788. // Describes one or more of your VPC endpoints.
  11789. //
  11790. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11791. // with awserr.Error's Code and Message methods to get detailed information about
  11792. // the error.
  11793. //
  11794. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11795. // API operation DescribeVpcEndpoints for usage and error information.
  11796. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  11797. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  11798. req, out := c.DescribeVpcEndpointsRequest(input)
  11799. return out, req.Send()
  11800. }
  11801. // DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
  11802. // the ability to pass a context and additional request options.
  11803. //
  11804. // See DescribeVpcEndpoints for details on how to use this API operation.
  11805. //
  11806. // The context must be non-nil and will be used for request cancellation. If
  11807. // the context is nil a panic will occur. In the future the SDK may create
  11808. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11809. // for more information on using Contexts.
  11810. func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
  11811. req, out := c.DescribeVpcEndpointsRequest(input)
  11812. req.SetContext(ctx)
  11813. req.ApplyOptions(opts...)
  11814. return out, req.Send()
  11815. }
  11816. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  11817. // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  11818. // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  11819. // value can be used to capture response data after the request's "Send" method
  11820. // is called.
  11821. //
  11822. // See DescribeVpcPeeringConnections for usage and error information.
  11823. //
  11824. // Creating a request object using this method should be used when you want to inject
  11825. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11826. // access properties on the request object before or after sending the request. If
  11827. // you just want the service response, call the DescribeVpcPeeringConnections method directly
  11828. // instead.
  11829. //
  11830. // Note: You must call the "Send" method on the returned request object in order
  11831. // to execute the request.
  11832. //
  11833. // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  11834. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  11835. //
  11836. // err := req.Send()
  11837. // if err == nil { // resp is now filled
  11838. // fmt.Println(resp)
  11839. // }
  11840. //
  11841. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  11842. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  11843. op := &request.Operation{
  11844. Name: opDescribeVpcPeeringConnections,
  11845. HTTPMethod: "POST",
  11846. HTTPPath: "/",
  11847. }
  11848. if input == nil {
  11849. input = &DescribeVpcPeeringConnectionsInput{}
  11850. }
  11851. output = &DescribeVpcPeeringConnectionsOutput{}
  11852. req = c.newRequest(op, input, output)
  11853. return
  11854. }
  11855. // DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
  11856. //
  11857. // Describes one or more of your VPC peering connections.
  11858. //
  11859. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11860. // with awserr.Error's Code and Message methods to get detailed information about
  11861. // the error.
  11862. //
  11863. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11864. // API operation DescribeVpcPeeringConnections for usage and error information.
  11865. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  11866. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  11867. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  11868. return out, req.Send()
  11869. }
  11870. // DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
  11871. // the ability to pass a context and additional request options.
  11872. //
  11873. // See DescribeVpcPeeringConnections for details on how to use this API operation.
  11874. //
  11875. // The context must be non-nil and will be used for request cancellation. If
  11876. // the context is nil a panic will occur. In the future the SDK may create
  11877. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11878. // for more information on using Contexts.
  11879. func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
  11880. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  11881. req.SetContext(ctx)
  11882. req.ApplyOptions(opts...)
  11883. return out, req.Send()
  11884. }
  11885. const opDescribeVpcs = "DescribeVpcs"
  11886. // DescribeVpcsRequest generates a "aws/request.Request" representing the
  11887. // client's request for the DescribeVpcs operation. The "output" return
  11888. // value can be used to capture response data after the request's "Send" method
  11889. // is called.
  11890. //
  11891. // See DescribeVpcs for usage and error information.
  11892. //
  11893. // Creating a request object using this method should be used when you want to inject
  11894. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11895. // access properties on the request object before or after sending the request. If
  11896. // you just want the service response, call the DescribeVpcs method directly
  11897. // instead.
  11898. //
  11899. // Note: You must call the "Send" method on the returned request object in order
  11900. // to execute the request.
  11901. //
  11902. // // Example sending a request using the DescribeVpcsRequest method.
  11903. // req, resp := client.DescribeVpcsRequest(params)
  11904. //
  11905. // err := req.Send()
  11906. // if err == nil { // resp is now filled
  11907. // fmt.Println(resp)
  11908. // }
  11909. //
  11910. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  11911. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  11912. op := &request.Operation{
  11913. Name: opDescribeVpcs,
  11914. HTTPMethod: "POST",
  11915. HTTPPath: "/",
  11916. }
  11917. if input == nil {
  11918. input = &DescribeVpcsInput{}
  11919. }
  11920. output = &DescribeVpcsOutput{}
  11921. req = c.newRequest(op, input, output)
  11922. return
  11923. }
  11924. // DescribeVpcs API operation for Amazon Elastic Compute Cloud.
  11925. //
  11926. // Describes one or more of your VPCs.
  11927. //
  11928. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11929. // with awserr.Error's Code and Message methods to get detailed information about
  11930. // the error.
  11931. //
  11932. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11933. // API operation DescribeVpcs for usage and error information.
  11934. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  11935. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  11936. req, out := c.DescribeVpcsRequest(input)
  11937. return out, req.Send()
  11938. }
  11939. // DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
  11940. // the ability to pass a context and additional request options.
  11941. //
  11942. // See DescribeVpcs for details on how to use this API operation.
  11943. //
  11944. // The context must be non-nil and will be used for request cancellation. If
  11945. // the context is nil a panic will occur. In the future the SDK may create
  11946. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11947. // for more information on using Contexts.
  11948. func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
  11949. req, out := c.DescribeVpcsRequest(input)
  11950. req.SetContext(ctx)
  11951. req.ApplyOptions(opts...)
  11952. return out, req.Send()
  11953. }
  11954. const opDescribeVpnConnections = "DescribeVpnConnections"
  11955. // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
  11956. // client's request for the DescribeVpnConnections operation. The "output" return
  11957. // value can be used to capture response data after the request's "Send" method
  11958. // is called.
  11959. //
  11960. // See DescribeVpnConnections for usage and error information.
  11961. //
  11962. // Creating a request object using this method should be used when you want to inject
  11963. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11964. // access properties on the request object before or after sending the request. If
  11965. // you just want the service response, call the DescribeVpnConnections method directly
  11966. // instead.
  11967. //
  11968. // Note: You must call the "Send" method on the returned request object in order
  11969. // to execute the request.
  11970. //
  11971. // // Example sending a request using the DescribeVpnConnectionsRequest method.
  11972. // req, resp := client.DescribeVpnConnectionsRequest(params)
  11973. //
  11974. // err := req.Send()
  11975. // if err == nil { // resp is now filled
  11976. // fmt.Println(resp)
  11977. // }
  11978. //
  11979. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  11980. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  11981. op := &request.Operation{
  11982. Name: opDescribeVpnConnections,
  11983. HTTPMethod: "POST",
  11984. HTTPPath: "/",
  11985. }
  11986. if input == nil {
  11987. input = &DescribeVpnConnectionsInput{}
  11988. }
  11989. output = &DescribeVpnConnectionsOutput{}
  11990. req = c.newRequest(op, input, output)
  11991. return
  11992. }
  11993. // DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
  11994. //
  11995. // Describes one or more of your VPN connections.
  11996. //
  11997. // For more information about VPN connections, see Adding a Hardware Virtual
  11998. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  11999. // in the Amazon Virtual Private Cloud User Guide.
  12000. //
  12001. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12002. // with awserr.Error's Code and Message methods to get detailed information about
  12003. // the error.
  12004. //
  12005. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12006. // API operation DescribeVpnConnections for usage and error information.
  12007. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  12008. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  12009. req, out := c.DescribeVpnConnectionsRequest(input)
  12010. return out, req.Send()
  12011. }
  12012. // DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
  12013. // the ability to pass a context and additional request options.
  12014. //
  12015. // See DescribeVpnConnections for details on how to use this API operation.
  12016. //
  12017. // The context must be non-nil and will be used for request cancellation. If
  12018. // the context is nil a panic will occur. In the future the SDK may create
  12019. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12020. // for more information on using Contexts.
  12021. func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
  12022. req, out := c.DescribeVpnConnectionsRequest(input)
  12023. req.SetContext(ctx)
  12024. req.ApplyOptions(opts...)
  12025. return out, req.Send()
  12026. }
  12027. const opDescribeVpnGateways = "DescribeVpnGateways"
  12028. // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
  12029. // client's request for the DescribeVpnGateways operation. The "output" return
  12030. // value can be used to capture response data after the request's "Send" method
  12031. // is called.
  12032. //
  12033. // See DescribeVpnGateways for usage and error information.
  12034. //
  12035. // Creating a request object using this method should be used when you want to inject
  12036. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12037. // access properties on the request object before or after sending the request. If
  12038. // you just want the service response, call the DescribeVpnGateways method directly
  12039. // instead.
  12040. //
  12041. // Note: You must call the "Send" method on the returned request object in order
  12042. // to execute the request.
  12043. //
  12044. // // Example sending a request using the DescribeVpnGatewaysRequest method.
  12045. // req, resp := client.DescribeVpnGatewaysRequest(params)
  12046. //
  12047. // err := req.Send()
  12048. // if err == nil { // resp is now filled
  12049. // fmt.Println(resp)
  12050. // }
  12051. //
  12052. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  12053. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  12054. op := &request.Operation{
  12055. Name: opDescribeVpnGateways,
  12056. HTTPMethod: "POST",
  12057. HTTPPath: "/",
  12058. }
  12059. if input == nil {
  12060. input = &DescribeVpnGatewaysInput{}
  12061. }
  12062. output = &DescribeVpnGatewaysOutput{}
  12063. req = c.newRequest(op, input, output)
  12064. return
  12065. }
  12066. // DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
  12067. //
  12068. // Describes one or more of your virtual private gateways.
  12069. //
  12070. // For more information about virtual private gateways, see Adding an IPsec
  12071. // Hardware VPN to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  12072. // in the Amazon Virtual Private Cloud User Guide.
  12073. //
  12074. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12075. // with awserr.Error's Code and Message methods to get detailed information about
  12076. // the error.
  12077. //
  12078. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12079. // API operation DescribeVpnGateways for usage and error information.
  12080. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  12081. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  12082. req, out := c.DescribeVpnGatewaysRequest(input)
  12083. return out, req.Send()
  12084. }
  12085. // DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
  12086. // the ability to pass a context and additional request options.
  12087. //
  12088. // See DescribeVpnGateways for details on how to use this API operation.
  12089. //
  12090. // The context must be non-nil and will be used for request cancellation. If
  12091. // the context is nil a panic will occur. In the future the SDK may create
  12092. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12093. // for more information on using Contexts.
  12094. func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
  12095. req, out := c.DescribeVpnGatewaysRequest(input)
  12096. req.SetContext(ctx)
  12097. req.ApplyOptions(opts...)
  12098. return out, req.Send()
  12099. }
  12100. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  12101. // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  12102. // client's request for the DetachClassicLinkVpc operation. The "output" return
  12103. // value can be used to capture response data after the request's "Send" method
  12104. // is called.
  12105. //
  12106. // See DetachClassicLinkVpc for usage and error information.
  12107. //
  12108. // Creating a request object using this method should be used when you want to inject
  12109. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12110. // access properties on the request object before or after sending the request. If
  12111. // you just want the service response, call the DetachClassicLinkVpc method directly
  12112. // instead.
  12113. //
  12114. // Note: You must call the "Send" method on the returned request object in order
  12115. // to execute the request.
  12116. //
  12117. // // Example sending a request using the DetachClassicLinkVpcRequest method.
  12118. // req, resp := client.DetachClassicLinkVpcRequest(params)
  12119. //
  12120. // err := req.Send()
  12121. // if err == nil { // resp is now filled
  12122. // fmt.Println(resp)
  12123. // }
  12124. //
  12125. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  12126. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  12127. op := &request.Operation{
  12128. Name: opDetachClassicLinkVpc,
  12129. HTTPMethod: "POST",
  12130. HTTPPath: "/",
  12131. }
  12132. if input == nil {
  12133. input = &DetachClassicLinkVpcInput{}
  12134. }
  12135. output = &DetachClassicLinkVpcOutput{}
  12136. req = c.newRequest(op, input, output)
  12137. return
  12138. }
  12139. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  12140. //
  12141. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  12142. // has been unlinked, the VPC security groups are no longer associated with
  12143. // it. An instance is automatically unlinked from a VPC when it's stopped.
  12144. //
  12145. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12146. // with awserr.Error's Code and Message methods to get detailed information about
  12147. // the error.
  12148. //
  12149. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12150. // API operation DetachClassicLinkVpc for usage and error information.
  12151. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  12152. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  12153. req, out := c.DetachClassicLinkVpcRequest(input)
  12154. return out, req.Send()
  12155. }
  12156. // DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
  12157. // the ability to pass a context and additional request options.
  12158. //
  12159. // See DetachClassicLinkVpc for details on how to use this API operation.
  12160. //
  12161. // The context must be non-nil and will be used for request cancellation. If
  12162. // the context is nil a panic will occur. In the future the SDK may create
  12163. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12164. // for more information on using Contexts.
  12165. func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
  12166. req, out := c.DetachClassicLinkVpcRequest(input)
  12167. req.SetContext(ctx)
  12168. req.ApplyOptions(opts...)
  12169. return out, req.Send()
  12170. }
  12171. const opDetachInternetGateway = "DetachInternetGateway"
  12172. // DetachInternetGatewayRequest generates a "aws/request.Request" representing the
  12173. // client's request for the DetachInternetGateway operation. The "output" return
  12174. // value can be used to capture response data after the request's "Send" method
  12175. // is called.
  12176. //
  12177. // See DetachInternetGateway for usage and error information.
  12178. //
  12179. // Creating a request object using this method should be used when you want to inject
  12180. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12181. // access properties on the request object before or after sending the request. If
  12182. // you just want the service response, call the DetachInternetGateway method directly
  12183. // instead.
  12184. //
  12185. // Note: You must call the "Send" method on the returned request object in order
  12186. // to execute the request.
  12187. //
  12188. // // Example sending a request using the DetachInternetGatewayRequest method.
  12189. // req, resp := client.DetachInternetGatewayRequest(params)
  12190. //
  12191. // err := req.Send()
  12192. // if err == nil { // resp is now filled
  12193. // fmt.Println(resp)
  12194. // }
  12195. //
  12196. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  12197. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  12198. op := &request.Operation{
  12199. Name: opDetachInternetGateway,
  12200. HTTPMethod: "POST",
  12201. HTTPPath: "/",
  12202. }
  12203. if input == nil {
  12204. input = &DetachInternetGatewayInput{}
  12205. }
  12206. output = &DetachInternetGatewayOutput{}
  12207. req = c.newRequest(op, input, output)
  12208. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12209. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12210. return
  12211. }
  12212. // DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
  12213. //
  12214. // Detaches an Internet gateway from a VPC, disabling connectivity between the
  12215. // Internet and the VPC. The VPC must not contain any running instances with
  12216. // Elastic IP addresses.
  12217. //
  12218. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12219. // with awserr.Error's Code and Message methods to get detailed information about
  12220. // the error.
  12221. //
  12222. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12223. // API operation DetachInternetGateway for usage and error information.
  12224. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  12225. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  12226. req, out := c.DetachInternetGatewayRequest(input)
  12227. return out, req.Send()
  12228. }
  12229. // DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
  12230. // the ability to pass a context and additional request options.
  12231. //
  12232. // See DetachInternetGateway for details on how to use this API operation.
  12233. //
  12234. // The context must be non-nil and will be used for request cancellation. If
  12235. // the context is nil a panic will occur. In the future the SDK may create
  12236. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12237. // for more information on using Contexts.
  12238. func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
  12239. req, out := c.DetachInternetGatewayRequest(input)
  12240. req.SetContext(ctx)
  12241. req.ApplyOptions(opts...)
  12242. return out, req.Send()
  12243. }
  12244. const opDetachNetworkInterface = "DetachNetworkInterface"
  12245. // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  12246. // client's request for the DetachNetworkInterface operation. The "output" return
  12247. // value can be used to capture response data after the request's "Send" method
  12248. // is called.
  12249. //
  12250. // See DetachNetworkInterface for usage and error information.
  12251. //
  12252. // Creating a request object using this method should be used when you want to inject
  12253. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12254. // access properties on the request object before or after sending the request. If
  12255. // you just want the service response, call the DetachNetworkInterface method directly
  12256. // instead.
  12257. //
  12258. // Note: You must call the "Send" method on the returned request object in order
  12259. // to execute the request.
  12260. //
  12261. // // Example sending a request using the DetachNetworkInterfaceRequest method.
  12262. // req, resp := client.DetachNetworkInterfaceRequest(params)
  12263. //
  12264. // err := req.Send()
  12265. // if err == nil { // resp is now filled
  12266. // fmt.Println(resp)
  12267. // }
  12268. //
  12269. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  12270. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  12271. op := &request.Operation{
  12272. Name: opDetachNetworkInterface,
  12273. HTTPMethod: "POST",
  12274. HTTPPath: "/",
  12275. }
  12276. if input == nil {
  12277. input = &DetachNetworkInterfaceInput{}
  12278. }
  12279. output = &DetachNetworkInterfaceOutput{}
  12280. req = c.newRequest(op, input, output)
  12281. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12282. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12283. return
  12284. }
  12285. // DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  12286. //
  12287. // Detaches a network interface from an instance.
  12288. //
  12289. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12290. // with awserr.Error's Code and Message methods to get detailed information about
  12291. // the error.
  12292. //
  12293. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12294. // API operation DetachNetworkInterface for usage and error information.
  12295. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  12296. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  12297. req, out := c.DetachNetworkInterfaceRequest(input)
  12298. return out, req.Send()
  12299. }
  12300. // DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
  12301. // the ability to pass a context and additional request options.
  12302. //
  12303. // See DetachNetworkInterface for details on how to use this API operation.
  12304. //
  12305. // The context must be non-nil and will be used for request cancellation. If
  12306. // the context is nil a panic will occur. In the future the SDK may create
  12307. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12308. // for more information on using Contexts.
  12309. func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
  12310. req, out := c.DetachNetworkInterfaceRequest(input)
  12311. req.SetContext(ctx)
  12312. req.ApplyOptions(opts...)
  12313. return out, req.Send()
  12314. }
  12315. const opDetachVolume = "DetachVolume"
  12316. // DetachVolumeRequest generates a "aws/request.Request" representing the
  12317. // client's request for the DetachVolume operation. The "output" return
  12318. // value can be used to capture response data after the request's "Send" method
  12319. // is called.
  12320. //
  12321. // See DetachVolume for usage and error information.
  12322. //
  12323. // Creating a request object using this method should be used when you want to inject
  12324. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12325. // access properties on the request object before or after sending the request. If
  12326. // you just want the service response, call the DetachVolume method directly
  12327. // instead.
  12328. //
  12329. // Note: You must call the "Send" method on the returned request object in order
  12330. // to execute the request.
  12331. //
  12332. // // Example sending a request using the DetachVolumeRequest method.
  12333. // req, resp := client.DetachVolumeRequest(params)
  12334. //
  12335. // err := req.Send()
  12336. // if err == nil { // resp is now filled
  12337. // fmt.Println(resp)
  12338. // }
  12339. //
  12340. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  12341. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  12342. op := &request.Operation{
  12343. Name: opDetachVolume,
  12344. HTTPMethod: "POST",
  12345. HTTPPath: "/",
  12346. }
  12347. if input == nil {
  12348. input = &DetachVolumeInput{}
  12349. }
  12350. output = &VolumeAttachment{}
  12351. req = c.newRequest(op, input, output)
  12352. return
  12353. }
  12354. // DetachVolume API operation for Amazon Elastic Compute Cloud.
  12355. //
  12356. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  12357. // on the device within your operating system before detaching the volume. Failure
  12358. // to do so can result in the volume becoming stuck in the busy state while
  12359. // detaching. If this happens, detachment can be delayed indefinitely until
  12360. // you unmount the volume, force detachment, reboot the instance, or all three.
  12361. // If an EBS volume is the root device of an instance, it can't be detached
  12362. // while the instance is running. To detach the root volume, stop the instance
  12363. // first.
  12364. //
  12365. // When a volume with an AWS Marketplace product code is detached from an instance,
  12366. // the product code is no longer associated with the instance.
  12367. //
  12368. // For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  12369. // in the Amazon Elastic Compute Cloud User Guide.
  12370. //
  12371. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12372. // with awserr.Error's Code and Message methods to get detailed information about
  12373. // the error.
  12374. //
  12375. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12376. // API operation DetachVolume for usage and error information.
  12377. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  12378. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  12379. req, out := c.DetachVolumeRequest(input)
  12380. return out, req.Send()
  12381. }
  12382. // DetachVolumeWithContext is the same as DetachVolume with the addition of
  12383. // the ability to pass a context and additional request options.
  12384. //
  12385. // See DetachVolume for details on how to use this API operation.
  12386. //
  12387. // The context must be non-nil and will be used for request cancellation. If
  12388. // the context is nil a panic will occur. In the future the SDK may create
  12389. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12390. // for more information on using Contexts.
  12391. func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  12392. req, out := c.DetachVolumeRequest(input)
  12393. req.SetContext(ctx)
  12394. req.ApplyOptions(opts...)
  12395. return out, req.Send()
  12396. }
  12397. const opDetachVpnGateway = "DetachVpnGateway"
  12398. // DetachVpnGatewayRequest generates a "aws/request.Request" representing the
  12399. // client's request for the DetachVpnGateway operation. The "output" return
  12400. // value can be used to capture response data after the request's "Send" method
  12401. // is called.
  12402. //
  12403. // See DetachVpnGateway for usage and error information.
  12404. //
  12405. // Creating a request object using this method should be used when you want to inject
  12406. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12407. // access properties on the request object before or after sending the request. If
  12408. // you just want the service response, call the DetachVpnGateway method directly
  12409. // instead.
  12410. //
  12411. // Note: You must call the "Send" method on the returned request object in order
  12412. // to execute the request.
  12413. //
  12414. // // Example sending a request using the DetachVpnGatewayRequest method.
  12415. // req, resp := client.DetachVpnGatewayRequest(params)
  12416. //
  12417. // err := req.Send()
  12418. // if err == nil { // resp is now filled
  12419. // fmt.Println(resp)
  12420. // }
  12421. //
  12422. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  12423. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  12424. op := &request.Operation{
  12425. Name: opDetachVpnGateway,
  12426. HTTPMethod: "POST",
  12427. HTTPPath: "/",
  12428. }
  12429. if input == nil {
  12430. input = &DetachVpnGatewayInput{}
  12431. }
  12432. output = &DetachVpnGatewayOutput{}
  12433. req = c.newRequest(op, input, output)
  12434. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12435. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12436. return
  12437. }
  12438. // DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
  12439. //
  12440. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  12441. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  12442. // gateway has been completely detached from a VPC by describing the virtual
  12443. // private gateway (any attachments to the virtual private gateway are also
  12444. // described).
  12445. //
  12446. // You must wait for the attachment's state to switch to detached before you
  12447. // can delete the VPC or attach a different VPC to the virtual private gateway.
  12448. //
  12449. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12450. // with awserr.Error's Code and Message methods to get detailed information about
  12451. // the error.
  12452. //
  12453. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12454. // API operation DetachVpnGateway for usage and error information.
  12455. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  12456. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  12457. req, out := c.DetachVpnGatewayRequest(input)
  12458. return out, req.Send()
  12459. }
  12460. // DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
  12461. // the ability to pass a context and additional request options.
  12462. //
  12463. // See DetachVpnGateway for details on how to use this API operation.
  12464. //
  12465. // The context must be non-nil and will be used for request cancellation. If
  12466. // the context is nil a panic will occur. In the future the SDK may create
  12467. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12468. // for more information on using Contexts.
  12469. func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
  12470. req, out := c.DetachVpnGatewayRequest(input)
  12471. req.SetContext(ctx)
  12472. req.ApplyOptions(opts...)
  12473. return out, req.Send()
  12474. }
  12475. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  12476. // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  12477. // client's request for the DisableVgwRoutePropagation operation. The "output" return
  12478. // value can be used to capture response data after the request's "Send" method
  12479. // is called.
  12480. //
  12481. // See DisableVgwRoutePropagation for usage and error information.
  12482. //
  12483. // Creating a request object using this method should be used when you want to inject
  12484. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12485. // access properties on the request object before or after sending the request. If
  12486. // you just want the service response, call the DisableVgwRoutePropagation method directly
  12487. // instead.
  12488. //
  12489. // Note: You must call the "Send" method on the returned request object in order
  12490. // to execute the request.
  12491. //
  12492. // // Example sending a request using the DisableVgwRoutePropagationRequest method.
  12493. // req, resp := client.DisableVgwRoutePropagationRequest(params)
  12494. //
  12495. // err := req.Send()
  12496. // if err == nil { // resp is now filled
  12497. // fmt.Println(resp)
  12498. // }
  12499. //
  12500. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  12501. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  12502. op := &request.Operation{
  12503. Name: opDisableVgwRoutePropagation,
  12504. HTTPMethod: "POST",
  12505. HTTPPath: "/",
  12506. }
  12507. if input == nil {
  12508. input = &DisableVgwRoutePropagationInput{}
  12509. }
  12510. output = &DisableVgwRoutePropagationOutput{}
  12511. req = c.newRequest(op, input, output)
  12512. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12513. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12514. return
  12515. }
  12516. // DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  12517. //
  12518. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  12519. // route table of a VPC.
  12520. //
  12521. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12522. // with awserr.Error's Code and Message methods to get detailed information about
  12523. // the error.
  12524. //
  12525. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12526. // API operation DisableVgwRoutePropagation for usage and error information.
  12527. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  12528. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  12529. req, out := c.DisableVgwRoutePropagationRequest(input)
  12530. return out, req.Send()
  12531. }
  12532. // DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
  12533. // the ability to pass a context and additional request options.
  12534. //
  12535. // See DisableVgwRoutePropagation for details on how to use this API operation.
  12536. //
  12537. // The context must be non-nil and will be used for request cancellation. If
  12538. // the context is nil a panic will occur. In the future the SDK may create
  12539. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12540. // for more information on using Contexts.
  12541. func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
  12542. req, out := c.DisableVgwRoutePropagationRequest(input)
  12543. req.SetContext(ctx)
  12544. req.ApplyOptions(opts...)
  12545. return out, req.Send()
  12546. }
  12547. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  12548. // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  12549. // client's request for the DisableVpcClassicLink operation. The "output" return
  12550. // value can be used to capture response data after the request's "Send" method
  12551. // is called.
  12552. //
  12553. // See DisableVpcClassicLink for usage and error information.
  12554. //
  12555. // Creating a request object using this method should be used when you want to inject
  12556. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12557. // access properties on the request object before or after sending the request. If
  12558. // you just want the service response, call the DisableVpcClassicLink method directly
  12559. // instead.
  12560. //
  12561. // Note: You must call the "Send" method on the returned request object in order
  12562. // to execute the request.
  12563. //
  12564. // // Example sending a request using the DisableVpcClassicLinkRequest method.
  12565. // req, resp := client.DisableVpcClassicLinkRequest(params)
  12566. //
  12567. // err := req.Send()
  12568. // if err == nil { // resp is now filled
  12569. // fmt.Println(resp)
  12570. // }
  12571. //
  12572. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  12573. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  12574. op := &request.Operation{
  12575. Name: opDisableVpcClassicLink,
  12576. HTTPMethod: "POST",
  12577. HTTPPath: "/",
  12578. }
  12579. if input == nil {
  12580. input = &DisableVpcClassicLinkInput{}
  12581. }
  12582. output = &DisableVpcClassicLinkOutput{}
  12583. req = c.newRequest(op, input, output)
  12584. return
  12585. }
  12586. // DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  12587. //
  12588. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  12589. // that has EC2-Classic instances linked to it.
  12590. //
  12591. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12592. // with awserr.Error's Code and Message methods to get detailed information about
  12593. // the error.
  12594. //
  12595. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12596. // API operation DisableVpcClassicLink for usage and error information.
  12597. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  12598. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  12599. req, out := c.DisableVpcClassicLinkRequest(input)
  12600. return out, req.Send()
  12601. }
  12602. // DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
  12603. // the ability to pass a context and additional request options.
  12604. //
  12605. // See DisableVpcClassicLink for details on how to use this API operation.
  12606. //
  12607. // The context must be non-nil and will be used for request cancellation. If
  12608. // the context is nil a panic will occur. In the future the SDK may create
  12609. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12610. // for more information on using Contexts.
  12611. func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
  12612. req, out := c.DisableVpcClassicLinkRequest(input)
  12613. req.SetContext(ctx)
  12614. req.ApplyOptions(opts...)
  12615. return out, req.Send()
  12616. }
  12617. const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
  12618. // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  12619. // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
  12620. // value can be used to capture response data after the request's "Send" method
  12621. // is called.
  12622. //
  12623. // See DisableVpcClassicLinkDnsSupport for usage and error information.
  12624. //
  12625. // Creating a request object using this method should be used when you want to inject
  12626. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12627. // access properties on the request object before or after sending the request. If
  12628. // you just want the service response, call the DisableVpcClassicLinkDnsSupport method directly
  12629. // instead.
  12630. //
  12631. // Note: You must call the "Send" method on the returned request object in order
  12632. // to execute the request.
  12633. //
  12634. // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
  12635. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
  12636. //
  12637. // err := req.Send()
  12638. // if err == nil { // resp is now filled
  12639. // fmt.Println(resp)
  12640. // }
  12641. //
  12642. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  12643. func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
  12644. op := &request.Operation{
  12645. Name: opDisableVpcClassicLinkDnsSupport,
  12646. HTTPMethod: "POST",
  12647. HTTPPath: "/",
  12648. }
  12649. if input == nil {
  12650. input = &DisableVpcClassicLinkDnsSupportInput{}
  12651. }
  12652. output = &DisableVpcClassicLinkDnsSupportOutput{}
  12653. req = c.newRequest(op, input, output)
  12654. return
  12655. }
  12656. // DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  12657. //
  12658. // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
  12659. // to public IP addresses when addressed between a linked EC2-Classic instance
  12660. // and instances in the VPC to which it's linked. For more information about
  12661. // ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  12662. // in the Amazon Elastic Compute Cloud User Guide.
  12663. //
  12664. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12665. // with awserr.Error's Code and Message methods to get detailed information about
  12666. // the error.
  12667. //
  12668. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12669. // API operation DisableVpcClassicLinkDnsSupport for usage and error information.
  12670. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  12671. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  12672. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  12673. return out, req.Send()
  12674. }
  12675. // DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
  12676. // the ability to pass a context and additional request options.
  12677. //
  12678. // See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
  12679. //
  12680. // The context must be non-nil and will be used for request cancellation. If
  12681. // the context is nil a panic will occur. In the future the SDK may create
  12682. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12683. // for more information on using Contexts.
  12684. func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  12685. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  12686. req.SetContext(ctx)
  12687. req.ApplyOptions(opts...)
  12688. return out, req.Send()
  12689. }
  12690. const opDisassociateAddress = "DisassociateAddress"
  12691. // DisassociateAddressRequest generates a "aws/request.Request" representing the
  12692. // client's request for the DisassociateAddress operation. The "output" return
  12693. // value can be used to capture response data after the request's "Send" method
  12694. // is called.
  12695. //
  12696. // See DisassociateAddress for usage and error information.
  12697. //
  12698. // Creating a request object using this method should be used when you want to inject
  12699. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12700. // access properties on the request object before or after sending the request. If
  12701. // you just want the service response, call the DisassociateAddress method directly
  12702. // instead.
  12703. //
  12704. // Note: You must call the "Send" method on the returned request object in order
  12705. // to execute the request.
  12706. //
  12707. // // Example sending a request using the DisassociateAddressRequest method.
  12708. // req, resp := client.DisassociateAddressRequest(params)
  12709. //
  12710. // err := req.Send()
  12711. // if err == nil { // resp is now filled
  12712. // fmt.Println(resp)
  12713. // }
  12714. //
  12715. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  12716. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  12717. op := &request.Operation{
  12718. Name: opDisassociateAddress,
  12719. HTTPMethod: "POST",
  12720. HTTPPath: "/",
  12721. }
  12722. if input == nil {
  12723. input = &DisassociateAddressInput{}
  12724. }
  12725. output = &DisassociateAddressOutput{}
  12726. req = c.newRequest(op, input, output)
  12727. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12728. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12729. return
  12730. }
  12731. // DisassociateAddress API operation for Amazon Elastic Compute Cloud.
  12732. //
  12733. // Disassociates an Elastic IP address from the instance or network interface
  12734. // it's associated with.
  12735. //
  12736. // An Elastic IP address is for use in either the EC2-Classic platform or in
  12737. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  12738. // in the Amazon Elastic Compute Cloud User Guide.
  12739. //
  12740. // This is an idempotent operation. If you perform the operation more than once,
  12741. // Amazon EC2 doesn't return an error.
  12742. //
  12743. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12744. // with awserr.Error's Code and Message methods to get detailed information about
  12745. // the error.
  12746. //
  12747. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12748. // API operation DisassociateAddress for usage and error information.
  12749. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  12750. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  12751. req, out := c.DisassociateAddressRequest(input)
  12752. return out, req.Send()
  12753. }
  12754. // DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
  12755. // the ability to pass a context and additional request options.
  12756. //
  12757. // See DisassociateAddress for details on how to use this API operation.
  12758. //
  12759. // The context must be non-nil and will be used for request cancellation. If
  12760. // the context is nil a panic will occur. In the future the SDK may create
  12761. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12762. // for more information on using Contexts.
  12763. func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
  12764. req, out := c.DisassociateAddressRequest(input)
  12765. req.SetContext(ctx)
  12766. req.ApplyOptions(opts...)
  12767. return out, req.Send()
  12768. }
  12769. const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
  12770. // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  12771. // client's request for the DisassociateIamInstanceProfile operation. The "output" return
  12772. // value can be used to capture response data after the request's "Send" method
  12773. // is called.
  12774. //
  12775. // See DisassociateIamInstanceProfile for usage and error information.
  12776. //
  12777. // Creating a request object using this method should be used when you want to inject
  12778. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12779. // access properties on the request object before or after sending the request. If
  12780. // you just want the service response, call the DisassociateIamInstanceProfile method directly
  12781. // instead.
  12782. //
  12783. // Note: You must call the "Send" method on the returned request object in order
  12784. // to execute the request.
  12785. //
  12786. // // Example sending a request using the DisassociateIamInstanceProfileRequest method.
  12787. // req, resp := client.DisassociateIamInstanceProfileRequest(params)
  12788. //
  12789. // err := req.Send()
  12790. // if err == nil { // resp is now filled
  12791. // fmt.Println(resp)
  12792. // }
  12793. //
  12794. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  12795. func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
  12796. op := &request.Operation{
  12797. Name: opDisassociateIamInstanceProfile,
  12798. HTTPMethod: "POST",
  12799. HTTPPath: "/",
  12800. }
  12801. if input == nil {
  12802. input = &DisassociateIamInstanceProfileInput{}
  12803. }
  12804. output = &DisassociateIamInstanceProfileOutput{}
  12805. req = c.newRequest(op, input, output)
  12806. return
  12807. }
  12808. // DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  12809. //
  12810. // Disassociates an IAM instance profile from a running or stopped instance.
  12811. //
  12812. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  12813. //
  12814. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12815. // with awserr.Error's Code and Message methods to get detailed information about
  12816. // the error.
  12817. //
  12818. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12819. // API operation DisassociateIamInstanceProfile for usage and error information.
  12820. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  12821. func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
  12822. req, out := c.DisassociateIamInstanceProfileRequest(input)
  12823. return out, req.Send()
  12824. }
  12825. // DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
  12826. // the ability to pass a context and additional request options.
  12827. //
  12828. // See DisassociateIamInstanceProfile for details on how to use this API operation.
  12829. //
  12830. // The context must be non-nil and will be used for request cancellation. If
  12831. // the context is nil a panic will occur. In the future the SDK may create
  12832. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12833. // for more information on using Contexts.
  12834. func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
  12835. req, out := c.DisassociateIamInstanceProfileRequest(input)
  12836. req.SetContext(ctx)
  12837. req.ApplyOptions(opts...)
  12838. return out, req.Send()
  12839. }
  12840. const opDisassociateRouteTable = "DisassociateRouteTable"
  12841. // DisassociateRouteTableRequest generates a "aws/request.Request" representing the
  12842. // client's request for the DisassociateRouteTable operation. The "output" return
  12843. // value can be used to capture response data after the request's "Send" method
  12844. // is called.
  12845. //
  12846. // See DisassociateRouteTable for usage and error information.
  12847. //
  12848. // Creating a request object using this method should be used when you want to inject
  12849. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12850. // access properties on the request object before or after sending the request. If
  12851. // you just want the service response, call the DisassociateRouteTable method directly
  12852. // instead.
  12853. //
  12854. // Note: You must call the "Send" method on the returned request object in order
  12855. // to execute the request.
  12856. //
  12857. // // Example sending a request using the DisassociateRouteTableRequest method.
  12858. // req, resp := client.DisassociateRouteTableRequest(params)
  12859. //
  12860. // err := req.Send()
  12861. // if err == nil { // resp is now filled
  12862. // fmt.Println(resp)
  12863. // }
  12864. //
  12865. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  12866. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  12867. op := &request.Operation{
  12868. Name: opDisassociateRouteTable,
  12869. HTTPMethod: "POST",
  12870. HTTPPath: "/",
  12871. }
  12872. if input == nil {
  12873. input = &DisassociateRouteTableInput{}
  12874. }
  12875. output = &DisassociateRouteTableOutput{}
  12876. req = c.newRequest(op, input, output)
  12877. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12878. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12879. return
  12880. }
  12881. // DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
  12882. //
  12883. // Disassociates a subnet from a route table.
  12884. //
  12885. // After you perform this action, the subnet no longer uses the routes in the
  12886. // route table. Instead, it uses the routes in the VPC's main route table. For
  12887. // more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  12888. // in the Amazon Virtual Private Cloud User Guide.
  12889. //
  12890. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12891. // with awserr.Error's Code and Message methods to get detailed information about
  12892. // the error.
  12893. //
  12894. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12895. // API operation DisassociateRouteTable for usage and error information.
  12896. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  12897. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  12898. req, out := c.DisassociateRouteTableRequest(input)
  12899. return out, req.Send()
  12900. }
  12901. // DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
  12902. // the ability to pass a context and additional request options.
  12903. //
  12904. // See DisassociateRouteTable for details on how to use this API operation.
  12905. //
  12906. // The context must be non-nil and will be used for request cancellation. If
  12907. // the context is nil a panic will occur. In the future the SDK may create
  12908. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12909. // for more information on using Contexts.
  12910. func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
  12911. req, out := c.DisassociateRouteTableRequest(input)
  12912. req.SetContext(ctx)
  12913. req.ApplyOptions(opts...)
  12914. return out, req.Send()
  12915. }
  12916. const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
  12917. // DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  12918. // client's request for the DisassociateSubnetCidrBlock operation. The "output" return
  12919. // value can be used to capture response data after the request's "Send" method
  12920. // is called.
  12921. //
  12922. // See DisassociateSubnetCidrBlock for usage and error information.
  12923. //
  12924. // Creating a request object using this method should be used when you want to inject
  12925. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12926. // access properties on the request object before or after sending the request. If
  12927. // you just want the service response, call the DisassociateSubnetCidrBlock method directly
  12928. // instead.
  12929. //
  12930. // Note: You must call the "Send" method on the returned request object in order
  12931. // to execute the request.
  12932. //
  12933. // // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
  12934. // req, resp := client.DisassociateSubnetCidrBlockRequest(params)
  12935. //
  12936. // err := req.Send()
  12937. // if err == nil { // resp is now filled
  12938. // fmt.Println(resp)
  12939. // }
  12940. //
  12941. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  12942. func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
  12943. op := &request.Operation{
  12944. Name: opDisassociateSubnetCidrBlock,
  12945. HTTPMethod: "POST",
  12946. HTTPPath: "/",
  12947. }
  12948. if input == nil {
  12949. input = &DisassociateSubnetCidrBlockInput{}
  12950. }
  12951. output = &DisassociateSubnetCidrBlockOutput{}
  12952. req = c.newRequest(op, input, output)
  12953. return
  12954. }
  12955. // DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  12956. //
  12957. // Disassociates a CIDR block from a subnet. Currently, you can disassociate
  12958. // an IPv6 CIDR block only. You must detach or delete all gateways and resources
  12959. // that are associated with the CIDR block before you can disassociate it.
  12960. //
  12961. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12962. // with awserr.Error's Code and Message methods to get detailed information about
  12963. // the error.
  12964. //
  12965. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12966. // API operation DisassociateSubnetCidrBlock for usage and error information.
  12967. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  12968. func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
  12969. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  12970. return out, req.Send()
  12971. }
  12972. // DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
  12973. // the ability to pass a context and additional request options.
  12974. //
  12975. // See DisassociateSubnetCidrBlock for details on how to use this API operation.
  12976. //
  12977. // The context must be non-nil and will be used for request cancellation. If
  12978. // the context is nil a panic will occur. In the future the SDK may create
  12979. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12980. // for more information on using Contexts.
  12981. func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
  12982. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  12983. req.SetContext(ctx)
  12984. req.ApplyOptions(opts...)
  12985. return out, req.Send()
  12986. }
  12987. const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
  12988. // DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  12989. // client's request for the DisassociateVpcCidrBlock operation. The "output" return
  12990. // value can be used to capture response data after the request's "Send" method
  12991. // is called.
  12992. //
  12993. // See DisassociateVpcCidrBlock for usage and error information.
  12994. //
  12995. // Creating a request object using this method should be used when you want to inject
  12996. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12997. // access properties on the request object before or after sending the request. If
  12998. // you just want the service response, call the DisassociateVpcCidrBlock method directly
  12999. // instead.
  13000. //
  13001. // Note: You must call the "Send" method on the returned request object in order
  13002. // to execute the request.
  13003. //
  13004. // // Example sending a request using the DisassociateVpcCidrBlockRequest method.
  13005. // req, resp := client.DisassociateVpcCidrBlockRequest(params)
  13006. //
  13007. // err := req.Send()
  13008. // if err == nil { // resp is now filled
  13009. // fmt.Println(resp)
  13010. // }
  13011. //
  13012. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  13013. func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
  13014. op := &request.Operation{
  13015. Name: opDisassociateVpcCidrBlock,
  13016. HTTPMethod: "POST",
  13017. HTTPPath: "/",
  13018. }
  13019. if input == nil {
  13020. input = &DisassociateVpcCidrBlockInput{}
  13021. }
  13022. output = &DisassociateVpcCidrBlockOutput{}
  13023. req = c.newRequest(op, input, output)
  13024. return
  13025. }
  13026. // DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  13027. //
  13028. // Disassociates a CIDR block from a VPC. Currently, you can disassociate an
  13029. // IPv6 CIDR block only. You must detach or delete all gateways and resources
  13030. // that are associated with the CIDR block before you can disassociate it.
  13031. //
  13032. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13033. // with awserr.Error's Code and Message methods to get detailed information about
  13034. // the error.
  13035. //
  13036. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13037. // API operation DisassociateVpcCidrBlock for usage and error information.
  13038. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  13039. func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
  13040. req, out := c.DisassociateVpcCidrBlockRequest(input)
  13041. return out, req.Send()
  13042. }
  13043. // DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
  13044. // the ability to pass a context and additional request options.
  13045. //
  13046. // See DisassociateVpcCidrBlock for details on how to use this API operation.
  13047. //
  13048. // The context must be non-nil and will be used for request cancellation. If
  13049. // the context is nil a panic will occur. In the future the SDK may create
  13050. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13051. // for more information on using Contexts.
  13052. func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
  13053. req, out := c.DisassociateVpcCidrBlockRequest(input)
  13054. req.SetContext(ctx)
  13055. req.ApplyOptions(opts...)
  13056. return out, req.Send()
  13057. }
  13058. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  13059. // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  13060. // client's request for the EnableVgwRoutePropagation operation. The "output" return
  13061. // value can be used to capture response data after the request's "Send" method
  13062. // is called.
  13063. //
  13064. // See EnableVgwRoutePropagation for usage and error information.
  13065. //
  13066. // Creating a request object using this method should be used when you want to inject
  13067. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13068. // access properties on the request object before or after sending the request. If
  13069. // you just want the service response, call the EnableVgwRoutePropagation method directly
  13070. // instead.
  13071. //
  13072. // Note: You must call the "Send" method on the returned request object in order
  13073. // to execute the request.
  13074. //
  13075. // // Example sending a request using the EnableVgwRoutePropagationRequest method.
  13076. // req, resp := client.EnableVgwRoutePropagationRequest(params)
  13077. //
  13078. // err := req.Send()
  13079. // if err == nil { // resp is now filled
  13080. // fmt.Println(resp)
  13081. // }
  13082. //
  13083. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  13084. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  13085. op := &request.Operation{
  13086. Name: opEnableVgwRoutePropagation,
  13087. HTTPMethod: "POST",
  13088. HTTPPath: "/",
  13089. }
  13090. if input == nil {
  13091. input = &EnableVgwRoutePropagationInput{}
  13092. }
  13093. output = &EnableVgwRoutePropagationOutput{}
  13094. req = c.newRequest(op, input, output)
  13095. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13096. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13097. return
  13098. }
  13099. // EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  13100. //
  13101. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  13102. // route table of a VPC.
  13103. //
  13104. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13105. // with awserr.Error's Code and Message methods to get detailed information about
  13106. // the error.
  13107. //
  13108. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13109. // API operation EnableVgwRoutePropagation for usage and error information.
  13110. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  13111. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  13112. req, out := c.EnableVgwRoutePropagationRequest(input)
  13113. return out, req.Send()
  13114. }
  13115. // EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
  13116. // the ability to pass a context and additional request options.
  13117. //
  13118. // See EnableVgwRoutePropagation for details on how to use this API operation.
  13119. //
  13120. // The context must be non-nil and will be used for request cancellation. If
  13121. // the context is nil a panic will occur. In the future the SDK may create
  13122. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13123. // for more information on using Contexts.
  13124. func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
  13125. req, out := c.EnableVgwRoutePropagationRequest(input)
  13126. req.SetContext(ctx)
  13127. req.ApplyOptions(opts...)
  13128. return out, req.Send()
  13129. }
  13130. const opEnableVolumeIO = "EnableVolumeIO"
  13131. // EnableVolumeIORequest generates a "aws/request.Request" representing the
  13132. // client's request for the EnableVolumeIO operation. The "output" return
  13133. // value can be used to capture response data after the request's "Send" method
  13134. // is called.
  13135. //
  13136. // See EnableVolumeIO for usage and error information.
  13137. //
  13138. // Creating a request object using this method should be used when you want to inject
  13139. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13140. // access properties on the request object before or after sending the request. If
  13141. // you just want the service response, call the EnableVolumeIO method directly
  13142. // instead.
  13143. //
  13144. // Note: You must call the "Send" method on the returned request object in order
  13145. // to execute the request.
  13146. //
  13147. // // Example sending a request using the EnableVolumeIORequest method.
  13148. // req, resp := client.EnableVolumeIORequest(params)
  13149. //
  13150. // err := req.Send()
  13151. // if err == nil { // resp is now filled
  13152. // fmt.Println(resp)
  13153. // }
  13154. //
  13155. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  13156. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  13157. op := &request.Operation{
  13158. Name: opEnableVolumeIO,
  13159. HTTPMethod: "POST",
  13160. HTTPPath: "/",
  13161. }
  13162. if input == nil {
  13163. input = &EnableVolumeIOInput{}
  13164. }
  13165. output = &EnableVolumeIOOutput{}
  13166. req = c.newRequest(op, input, output)
  13167. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13168. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13169. return
  13170. }
  13171. // EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
  13172. //
  13173. // Enables I/O operations for a volume that had I/O operations disabled because
  13174. // the data on the volume was potentially inconsistent.
  13175. //
  13176. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13177. // with awserr.Error's Code and Message methods to get detailed information about
  13178. // the error.
  13179. //
  13180. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13181. // API operation EnableVolumeIO for usage and error information.
  13182. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  13183. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  13184. req, out := c.EnableVolumeIORequest(input)
  13185. return out, req.Send()
  13186. }
  13187. // EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
  13188. // the ability to pass a context and additional request options.
  13189. //
  13190. // See EnableVolumeIO for details on how to use this API operation.
  13191. //
  13192. // The context must be non-nil and will be used for request cancellation. If
  13193. // the context is nil a panic will occur. In the future the SDK may create
  13194. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13195. // for more information on using Contexts.
  13196. func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
  13197. req, out := c.EnableVolumeIORequest(input)
  13198. req.SetContext(ctx)
  13199. req.ApplyOptions(opts...)
  13200. return out, req.Send()
  13201. }
  13202. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  13203. // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  13204. // client's request for the EnableVpcClassicLink operation. The "output" return
  13205. // value can be used to capture response data after the request's "Send" method
  13206. // is called.
  13207. //
  13208. // See EnableVpcClassicLink for usage and error information.
  13209. //
  13210. // Creating a request object using this method should be used when you want to inject
  13211. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13212. // access properties on the request object before or after sending the request. If
  13213. // you just want the service response, call the EnableVpcClassicLink method directly
  13214. // instead.
  13215. //
  13216. // Note: You must call the "Send" method on the returned request object in order
  13217. // to execute the request.
  13218. //
  13219. // // Example sending a request using the EnableVpcClassicLinkRequest method.
  13220. // req, resp := client.EnableVpcClassicLinkRequest(params)
  13221. //
  13222. // err := req.Send()
  13223. // if err == nil { // resp is now filled
  13224. // fmt.Println(resp)
  13225. // }
  13226. //
  13227. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  13228. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  13229. op := &request.Operation{
  13230. Name: opEnableVpcClassicLink,
  13231. HTTPMethod: "POST",
  13232. HTTPPath: "/",
  13233. }
  13234. if input == nil {
  13235. input = &EnableVpcClassicLinkInput{}
  13236. }
  13237. output = &EnableVpcClassicLinkOutput{}
  13238. req = c.newRequest(op, input, output)
  13239. return
  13240. }
  13241. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  13242. //
  13243. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  13244. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  13245. // You cannot enable your VPC for ClassicLink if any of your VPC's route tables
  13246. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  13247. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  13248. // IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  13249. // in the Amazon Elastic Compute Cloud User Guide.
  13250. //
  13251. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13252. // with awserr.Error's Code and Message methods to get detailed information about
  13253. // the error.
  13254. //
  13255. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13256. // API operation EnableVpcClassicLink for usage and error information.
  13257. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  13258. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  13259. req, out := c.EnableVpcClassicLinkRequest(input)
  13260. return out, req.Send()
  13261. }
  13262. // EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
  13263. // the ability to pass a context and additional request options.
  13264. //
  13265. // See EnableVpcClassicLink for details on how to use this API operation.
  13266. //
  13267. // The context must be non-nil and will be used for request cancellation. If
  13268. // the context is nil a panic will occur. In the future the SDK may create
  13269. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13270. // for more information on using Contexts.
  13271. func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
  13272. req, out := c.EnableVpcClassicLinkRequest(input)
  13273. req.SetContext(ctx)
  13274. req.ApplyOptions(opts...)
  13275. return out, req.Send()
  13276. }
  13277. const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
  13278. // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  13279. // client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
  13280. // value can be used to capture response data after the request's "Send" method
  13281. // is called.
  13282. //
  13283. // See EnableVpcClassicLinkDnsSupport for usage and error information.
  13284. //
  13285. // Creating a request object using this method should be used when you want to inject
  13286. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13287. // access properties on the request object before or after sending the request. If
  13288. // you just want the service response, call the EnableVpcClassicLinkDnsSupport method directly
  13289. // instead.
  13290. //
  13291. // Note: You must call the "Send" method on the returned request object in order
  13292. // to execute the request.
  13293. //
  13294. // // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
  13295. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
  13296. //
  13297. // err := req.Send()
  13298. // if err == nil { // resp is now filled
  13299. // fmt.Println(resp)
  13300. // }
  13301. //
  13302. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  13303. func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
  13304. op := &request.Operation{
  13305. Name: opEnableVpcClassicLinkDnsSupport,
  13306. HTTPMethod: "POST",
  13307. HTTPPath: "/",
  13308. }
  13309. if input == nil {
  13310. input = &EnableVpcClassicLinkDnsSupportInput{}
  13311. }
  13312. output = &EnableVpcClassicLinkDnsSupportOutput{}
  13313. req = c.newRequest(op, input, output)
  13314. return
  13315. }
  13316. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  13317. //
  13318. // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
  13319. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  13320. // IP address when addressed from an instance in the VPC to which it's linked.
  13321. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  13322. // IP address when addressed from a linked EC2-Classic instance. For more information
  13323. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  13324. // in the Amazon Elastic Compute Cloud User Guide.
  13325. //
  13326. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13327. // with awserr.Error's Code and Message methods to get detailed information about
  13328. // the error.
  13329. //
  13330. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13331. // API operation EnableVpcClassicLinkDnsSupport for usage and error information.
  13332. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  13333. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  13334. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  13335. return out, req.Send()
  13336. }
  13337. // EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
  13338. // the ability to pass a context and additional request options.
  13339. //
  13340. // See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
  13341. //
  13342. // The context must be non-nil and will be used for request cancellation. If
  13343. // the context is nil a panic will occur. In the future the SDK may create
  13344. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13345. // for more information on using Contexts.
  13346. func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  13347. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  13348. req.SetContext(ctx)
  13349. req.ApplyOptions(opts...)
  13350. return out, req.Send()
  13351. }
  13352. const opGetConsoleOutput = "GetConsoleOutput"
  13353. // GetConsoleOutputRequest generates a "aws/request.Request" representing the
  13354. // client's request for the GetConsoleOutput operation. The "output" return
  13355. // value can be used to capture response data after the request's "Send" method
  13356. // is called.
  13357. //
  13358. // See GetConsoleOutput for usage and error information.
  13359. //
  13360. // Creating a request object using this method should be used when you want to inject
  13361. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13362. // access properties on the request object before or after sending the request. If
  13363. // you just want the service response, call the GetConsoleOutput method directly
  13364. // instead.
  13365. //
  13366. // Note: You must call the "Send" method on the returned request object in order
  13367. // to execute the request.
  13368. //
  13369. // // Example sending a request using the GetConsoleOutputRequest method.
  13370. // req, resp := client.GetConsoleOutputRequest(params)
  13371. //
  13372. // err := req.Send()
  13373. // if err == nil { // resp is now filled
  13374. // fmt.Println(resp)
  13375. // }
  13376. //
  13377. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  13378. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  13379. op := &request.Operation{
  13380. Name: opGetConsoleOutput,
  13381. HTTPMethod: "POST",
  13382. HTTPPath: "/",
  13383. }
  13384. if input == nil {
  13385. input = &GetConsoleOutputInput{}
  13386. }
  13387. output = &GetConsoleOutputOutput{}
  13388. req = c.newRequest(op, input, output)
  13389. return
  13390. }
  13391. // GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
  13392. //
  13393. // Gets the console output for the specified instance.
  13394. //
  13395. // Instances do not have a physical monitor through which you can view their
  13396. // console output. They also lack physical controls that allow you to power
  13397. // up, reboot, or shut them down. To allow these actions, we provide them through
  13398. // the Amazon EC2 API and command line interface.
  13399. //
  13400. // Instance console output is buffered and posted shortly after instance boot,
  13401. // reboot, and termination. Amazon EC2 preserves the most recent 64 KB output
  13402. // which is available for at least one hour after the most recent post.
  13403. //
  13404. // For Linux instances, the instance console output displays the exact console
  13405. // output that would normally be displayed on a physical monitor attached to
  13406. // a computer. This output is buffered because the instance produces it and
  13407. // then posts it to a store where the instance's owner can retrieve it.
  13408. //
  13409. // For Windows instances, the instance console output includes output from the
  13410. // EC2Config service.
  13411. //
  13412. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13413. // with awserr.Error's Code and Message methods to get detailed information about
  13414. // the error.
  13415. //
  13416. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13417. // API operation GetConsoleOutput for usage and error information.
  13418. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  13419. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  13420. req, out := c.GetConsoleOutputRequest(input)
  13421. return out, req.Send()
  13422. }
  13423. // GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
  13424. // the ability to pass a context and additional request options.
  13425. //
  13426. // See GetConsoleOutput for details on how to use this API operation.
  13427. //
  13428. // The context must be non-nil and will be used for request cancellation. If
  13429. // the context is nil a panic will occur. In the future the SDK may create
  13430. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13431. // for more information on using Contexts.
  13432. func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
  13433. req, out := c.GetConsoleOutputRequest(input)
  13434. req.SetContext(ctx)
  13435. req.ApplyOptions(opts...)
  13436. return out, req.Send()
  13437. }
  13438. const opGetConsoleScreenshot = "GetConsoleScreenshot"
  13439. // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
  13440. // client's request for the GetConsoleScreenshot operation. The "output" return
  13441. // value can be used to capture response data after the request's "Send" method
  13442. // is called.
  13443. //
  13444. // See GetConsoleScreenshot for usage and error information.
  13445. //
  13446. // Creating a request object using this method should be used when you want to inject
  13447. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13448. // access properties on the request object before or after sending the request. If
  13449. // you just want the service response, call the GetConsoleScreenshot method directly
  13450. // instead.
  13451. //
  13452. // Note: You must call the "Send" method on the returned request object in order
  13453. // to execute the request.
  13454. //
  13455. // // Example sending a request using the GetConsoleScreenshotRequest method.
  13456. // req, resp := client.GetConsoleScreenshotRequest(params)
  13457. //
  13458. // err := req.Send()
  13459. // if err == nil { // resp is now filled
  13460. // fmt.Println(resp)
  13461. // }
  13462. //
  13463. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  13464. func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
  13465. op := &request.Operation{
  13466. Name: opGetConsoleScreenshot,
  13467. HTTPMethod: "POST",
  13468. HTTPPath: "/",
  13469. }
  13470. if input == nil {
  13471. input = &GetConsoleScreenshotInput{}
  13472. }
  13473. output = &GetConsoleScreenshotOutput{}
  13474. req = c.newRequest(op, input, output)
  13475. return
  13476. }
  13477. // GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
  13478. //
  13479. // Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
  13480. //
  13481. // The returned content is Base64-encoded.
  13482. //
  13483. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13484. // with awserr.Error's Code and Message methods to get detailed information about
  13485. // the error.
  13486. //
  13487. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13488. // API operation GetConsoleScreenshot for usage and error information.
  13489. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  13490. func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
  13491. req, out := c.GetConsoleScreenshotRequest(input)
  13492. return out, req.Send()
  13493. }
  13494. // GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
  13495. // the ability to pass a context and additional request options.
  13496. //
  13497. // See GetConsoleScreenshot for details on how to use this API operation.
  13498. //
  13499. // The context must be non-nil and will be used for request cancellation. If
  13500. // the context is nil a panic will occur. In the future the SDK may create
  13501. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13502. // for more information on using Contexts.
  13503. func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
  13504. req, out := c.GetConsoleScreenshotRequest(input)
  13505. req.SetContext(ctx)
  13506. req.ApplyOptions(opts...)
  13507. return out, req.Send()
  13508. }
  13509. const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
  13510. // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
  13511. // client's request for the GetHostReservationPurchasePreview operation. The "output" return
  13512. // value can be used to capture response data after the request's "Send" method
  13513. // is called.
  13514. //
  13515. // See GetHostReservationPurchasePreview for usage and error information.
  13516. //
  13517. // Creating a request object using this method should be used when you want to inject
  13518. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13519. // access properties on the request object before or after sending the request. If
  13520. // you just want the service response, call the GetHostReservationPurchasePreview method directly
  13521. // instead.
  13522. //
  13523. // Note: You must call the "Send" method on the returned request object in order
  13524. // to execute the request.
  13525. //
  13526. // // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
  13527. // req, resp := client.GetHostReservationPurchasePreviewRequest(params)
  13528. //
  13529. // err := req.Send()
  13530. // if err == nil { // resp is now filled
  13531. // fmt.Println(resp)
  13532. // }
  13533. //
  13534. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  13535. func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
  13536. op := &request.Operation{
  13537. Name: opGetHostReservationPurchasePreview,
  13538. HTTPMethod: "POST",
  13539. HTTPPath: "/",
  13540. }
  13541. if input == nil {
  13542. input = &GetHostReservationPurchasePreviewInput{}
  13543. }
  13544. output = &GetHostReservationPurchasePreviewOutput{}
  13545. req = c.newRequest(op, input, output)
  13546. return
  13547. }
  13548. // GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
  13549. //
  13550. // Preview a reservation purchase with configurations that match those of your
  13551. // Dedicated Host. You must have active Dedicated Hosts in your account before
  13552. // you purchase a reservation.
  13553. //
  13554. // This is a preview of the PurchaseHostReservation action and does not result
  13555. // in the offering being purchased.
  13556. //
  13557. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13558. // with awserr.Error's Code and Message methods to get detailed information about
  13559. // the error.
  13560. //
  13561. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13562. // API operation GetHostReservationPurchasePreview for usage and error information.
  13563. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  13564. func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
  13565. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  13566. return out, req.Send()
  13567. }
  13568. // GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
  13569. // the ability to pass a context and additional request options.
  13570. //
  13571. // See GetHostReservationPurchasePreview for details on how to use this API operation.
  13572. //
  13573. // The context must be non-nil and will be used for request cancellation. If
  13574. // the context is nil a panic will occur. In the future the SDK may create
  13575. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13576. // for more information on using Contexts.
  13577. func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
  13578. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  13579. req.SetContext(ctx)
  13580. req.ApplyOptions(opts...)
  13581. return out, req.Send()
  13582. }
  13583. const opGetPasswordData = "GetPasswordData"
  13584. // GetPasswordDataRequest generates a "aws/request.Request" representing the
  13585. // client's request for the GetPasswordData operation. The "output" return
  13586. // value can be used to capture response data after the request's "Send" method
  13587. // is called.
  13588. //
  13589. // See GetPasswordData for usage and error information.
  13590. //
  13591. // Creating a request object using this method should be used when you want to inject
  13592. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13593. // access properties on the request object before or after sending the request. If
  13594. // you just want the service response, call the GetPasswordData method directly
  13595. // instead.
  13596. //
  13597. // Note: You must call the "Send" method on the returned request object in order
  13598. // to execute the request.
  13599. //
  13600. // // Example sending a request using the GetPasswordDataRequest method.
  13601. // req, resp := client.GetPasswordDataRequest(params)
  13602. //
  13603. // err := req.Send()
  13604. // if err == nil { // resp is now filled
  13605. // fmt.Println(resp)
  13606. // }
  13607. //
  13608. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  13609. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  13610. op := &request.Operation{
  13611. Name: opGetPasswordData,
  13612. HTTPMethod: "POST",
  13613. HTTPPath: "/",
  13614. }
  13615. if input == nil {
  13616. input = &GetPasswordDataInput{}
  13617. }
  13618. output = &GetPasswordDataOutput{}
  13619. req = c.newRequest(op, input, output)
  13620. return
  13621. }
  13622. // GetPasswordData API operation for Amazon Elastic Compute Cloud.
  13623. //
  13624. // Retrieves the encrypted administrator password for an instance running Windows.
  13625. //
  13626. // The Windows password is generated at boot if the EC2Config service plugin,
  13627. // Ec2SetPassword, is enabled. This usually only happens the first time an AMI
  13628. // is launched, and then Ec2SetPassword is automatically disabled. The password
  13629. // is not generated for rebundled AMIs unless Ec2SetPassword is enabled before
  13630. // bundling.
  13631. //
  13632. // The password is encrypted using the key pair that you specified when you
  13633. // launched the instance. You must provide the corresponding key pair file.
  13634. //
  13635. // Password generation and encryption takes a few moments. We recommend that
  13636. // you wait up to 15 minutes after launching an instance before trying to retrieve
  13637. // the generated password.
  13638. //
  13639. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13640. // with awserr.Error's Code and Message methods to get detailed information about
  13641. // the error.
  13642. //
  13643. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13644. // API operation GetPasswordData for usage and error information.
  13645. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  13646. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  13647. req, out := c.GetPasswordDataRequest(input)
  13648. return out, req.Send()
  13649. }
  13650. // GetPasswordDataWithContext is the same as GetPasswordData with the addition of
  13651. // the ability to pass a context and additional request options.
  13652. //
  13653. // See GetPasswordData for details on how to use this API operation.
  13654. //
  13655. // The context must be non-nil and will be used for request cancellation. If
  13656. // the context is nil a panic will occur. In the future the SDK may create
  13657. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13658. // for more information on using Contexts.
  13659. func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
  13660. req, out := c.GetPasswordDataRequest(input)
  13661. req.SetContext(ctx)
  13662. req.ApplyOptions(opts...)
  13663. return out, req.Send()
  13664. }
  13665. const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
  13666. // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  13667. // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
  13668. // value can be used to capture response data after the request's "Send" method
  13669. // is called.
  13670. //
  13671. // See GetReservedInstancesExchangeQuote for usage and error information.
  13672. //
  13673. // Creating a request object using this method should be used when you want to inject
  13674. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13675. // access properties on the request object before or after sending the request. If
  13676. // you just want the service response, call the GetReservedInstancesExchangeQuote method directly
  13677. // instead.
  13678. //
  13679. // Note: You must call the "Send" method on the returned request object in order
  13680. // to execute the request.
  13681. //
  13682. // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
  13683. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
  13684. //
  13685. // err := req.Send()
  13686. // if err == nil { // resp is now filled
  13687. // fmt.Println(resp)
  13688. // }
  13689. //
  13690. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  13691. func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
  13692. op := &request.Operation{
  13693. Name: opGetReservedInstancesExchangeQuote,
  13694. HTTPMethod: "POST",
  13695. HTTPPath: "/",
  13696. }
  13697. if input == nil {
  13698. input = &GetReservedInstancesExchangeQuoteInput{}
  13699. }
  13700. output = &GetReservedInstancesExchangeQuoteOutput{}
  13701. req = c.newRequest(op, input, output)
  13702. return
  13703. }
  13704. // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  13705. //
  13706. // Returns details about the values and term of your specified Convertible Reserved
  13707. // Instances. When a target configuration is specified, it returns information
  13708. // about whether the exchange is valid and can be performed.
  13709. //
  13710. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13711. // with awserr.Error's Code and Message methods to get detailed information about
  13712. // the error.
  13713. //
  13714. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13715. // API operation GetReservedInstancesExchangeQuote for usage and error information.
  13716. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  13717. func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
  13718. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  13719. return out, req.Send()
  13720. }
  13721. // GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
  13722. // the ability to pass a context and additional request options.
  13723. //
  13724. // See GetReservedInstancesExchangeQuote for details on how to use this API operation.
  13725. //
  13726. // The context must be non-nil and will be used for request cancellation. If
  13727. // the context is nil a panic will occur. In the future the SDK may create
  13728. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13729. // for more information on using Contexts.
  13730. func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
  13731. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  13732. req.SetContext(ctx)
  13733. req.ApplyOptions(opts...)
  13734. return out, req.Send()
  13735. }
  13736. const opImportImage = "ImportImage"
  13737. // ImportImageRequest generates a "aws/request.Request" representing the
  13738. // client's request for the ImportImage operation. The "output" return
  13739. // value can be used to capture response data after the request's "Send" method
  13740. // is called.
  13741. //
  13742. // See ImportImage for usage and error information.
  13743. //
  13744. // Creating a request object using this method should be used when you want to inject
  13745. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13746. // access properties on the request object before or after sending the request. If
  13747. // you just want the service response, call the ImportImage method directly
  13748. // instead.
  13749. //
  13750. // Note: You must call the "Send" method on the returned request object in order
  13751. // to execute the request.
  13752. //
  13753. // // Example sending a request using the ImportImageRequest method.
  13754. // req, resp := client.ImportImageRequest(params)
  13755. //
  13756. // err := req.Send()
  13757. // if err == nil { // resp is now filled
  13758. // fmt.Println(resp)
  13759. // }
  13760. //
  13761. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  13762. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  13763. op := &request.Operation{
  13764. Name: opImportImage,
  13765. HTTPMethod: "POST",
  13766. HTTPPath: "/",
  13767. }
  13768. if input == nil {
  13769. input = &ImportImageInput{}
  13770. }
  13771. output = &ImportImageOutput{}
  13772. req = c.newRequest(op, input, output)
  13773. return
  13774. }
  13775. // ImportImage API operation for Amazon Elastic Compute Cloud.
  13776. //
  13777. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  13778. // Machine Image (AMI). For more information, see Importing a VM as an Image
  13779. // Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
  13780. // in the VM Import/Export User Guide.
  13781. //
  13782. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13783. // with awserr.Error's Code and Message methods to get detailed information about
  13784. // the error.
  13785. //
  13786. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13787. // API operation ImportImage for usage and error information.
  13788. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  13789. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  13790. req, out := c.ImportImageRequest(input)
  13791. return out, req.Send()
  13792. }
  13793. // ImportImageWithContext is the same as ImportImage with the addition of
  13794. // the ability to pass a context and additional request options.
  13795. //
  13796. // See ImportImage for details on how to use this API operation.
  13797. //
  13798. // The context must be non-nil and will be used for request cancellation. If
  13799. // the context is nil a panic will occur. In the future the SDK may create
  13800. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13801. // for more information on using Contexts.
  13802. func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
  13803. req, out := c.ImportImageRequest(input)
  13804. req.SetContext(ctx)
  13805. req.ApplyOptions(opts...)
  13806. return out, req.Send()
  13807. }
  13808. const opImportInstance = "ImportInstance"
  13809. // ImportInstanceRequest generates a "aws/request.Request" representing the
  13810. // client's request for the ImportInstance operation. The "output" return
  13811. // value can be used to capture response data after the request's "Send" method
  13812. // is called.
  13813. //
  13814. // See ImportInstance for usage and error information.
  13815. //
  13816. // Creating a request object using this method should be used when you want to inject
  13817. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13818. // access properties on the request object before or after sending the request. If
  13819. // you just want the service response, call the ImportInstance method directly
  13820. // instead.
  13821. //
  13822. // Note: You must call the "Send" method on the returned request object in order
  13823. // to execute the request.
  13824. //
  13825. // // Example sending a request using the ImportInstanceRequest method.
  13826. // req, resp := client.ImportInstanceRequest(params)
  13827. //
  13828. // err := req.Send()
  13829. // if err == nil { // resp is now filled
  13830. // fmt.Println(resp)
  13831. // }
  13832. //
  13833. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  13834. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  13835. op := &request.Operation{
  13836. Name: opImportInstance,
  13837. HTTPMethod: "POST",
  13838. HTTPPath: "/",
  13839. }
  13840. if input == nil {
  13841. input = &ImportInstanceInput{}
  13842. }
  13843. output = &ImportInstanceOutput{}
  13844. req = c.newRequest(op, input, output)
  13845. return
  13846. }
  13847. // ImportInstance API operation for Amazon Elastic Compute Cloud.
  13848. //
  13849. // Creates an import instance task using metadata from the specified disk image.
  13850. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  13851. // use ImportImage. For more information, see Importing a Virtual Machine Using
  13852. // the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  13853. //
  13854. // For information about the import manifest referenced by this API action,
  13855. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  13856. //
  13857. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13858. // with awserr.Error's Code and Message methods to get detailed information about
  13859. // the error.
  13860. //
  13861. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13862. // API operation ImportInstance for usage and error information.
  13863. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  13864. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  13865. req, out := c.ImportInstanceRequest(input)
  13866. return out, req.Send()
  13867. }
  13868. // ImportInstanceWithContext is the same as ImportInstance with the addition of
  13869. // the ability to pass a context and additional request options.
  13870. //
  13871. // See ImportInstance for details on how to use this API operation.
  13872. //
  13873. // The context must be non-nil and will be used for request cancellation. If
  13874. // the context is nil a panic will occur. In the future the SDK may create
  13875. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13876. // for more information on using Contexts.
  13877. func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
  13878. req, out := c.ImportInstanceRequest(input)
  13879. req.SetContext(ctx)
  13880. req.ApplyOptions(opts...)
  13881. return out, req.Send()
  13882. }
  13883. const opImportKeyPair = "ImportKeyPair"
  13884. // ImportKeyPairRequest generates a "aws/request.Request" representing the
  13885. // client's request for the ImportKeyPair operation. The "output" return
  13886. // value can be used to capture response data after the request's "Send" method
  13887. // is called.
  13888. //
  13889. // See ImportKeyPair for usage and error information.
  13890. //
  13891. // Creating a request object using this method should be used when you want to inject
  13892. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13893. // access properties on the request object before or after sending the request. If
  13894. // you just want the service response, call the ImportKeyPair method directly
  13895. // instead.
  13896. //
  13897. // Note: You must call the "Send" method on the returned request object in order
  13898. // to execute the request.
  13899. //
  13900. // // Example sending a request using the ImportKeyPairRequest method.
  13901. // req, resp := client.ImportKeyPairRequest(params)
  13902. //
  13903. // err := req.Send()
  13904. // if err == nil { // resp is now filled
  13905. // fmt.Println(resp)
  13906. // }
  13907. //
  13908. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  13909. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  13910. op := &request.Operation{
  13911. Name: opImportKeyPair,
  13912. HTTPMethod: "POST",
  13913. HTTPPath: "/",
  13914. }
  13915. if input == nil {
  13916. input = &ImportKeyPairInput{}
  13917. }
  13918. output = &ImportKeyPairOutput{}
  13919. req = c.newRequest(op, input, output)
  13920. return
  13921. }
  13922. // ImportKeyPair API operation for Amazon Elastic Compute Cloud.
  13923. //
  13924. // Imports the public key from an RSA key pair that you created with a third-party
  13925. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  13926. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  13927. // you create the key pair and give AWS just the public key. The private key
  13928. // is never transferred between you and AWS.
  13929. //
  13930. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  13931. // in the Amazon Elastic Compute Cloud User Guide.
  13932. //
  13933. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13934. // with awserr.Error's Code and Message methods to get detailed information about
  13935. // the error.
  13936. //
  13937. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13938. // API operation ImportKeyPair for usage and error information.
  13939. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  13940. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  13941. req, out := c.ImportKeyPairRequest(input)
  13942. return out, req.Send()
  13943. }
  13944. // ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
  13945. // the ability to pass a context and additional request options.
  13946. //
  13947. // See ImportKeyPair for details on how to use this API operation.
  13948. //
  13949. // The context must be non-nil and will be used for request cancellation. If
  13950. // the context is nil a panic will occur. In the future the SDK may create
  13951. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13952. // for more information on using Contexts.
  13953. func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
  13954. req, out := c.ImportKeyPairRequest(input)
  13955. req.SetContext(ctx)
  13956. req.ApplyOptions(opts...)
  13957. return out, req.Send()
  13958. }
  13959. const opImportSnapshot = "ImportSnapshot"
  13960. // ImportSnapshotRequest generates a "aws/request.Request" representing the
  13961. // client's request for the ImportSnapshot operation. The "output" return
  13962. // value can be used to capture response data after the request's "Send" method
  13963. // is called.
  13964. //
  13965. // See ImportSnapshot for usage and error information.
  13966. //
  13967. // Creating a request object using this method should be used when you want to inject
  13968. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13969. // access properties on the request object before or after sending the request. If
  13970. // you just want the service response, call the ImportSnapshot method directly
  13971. // instead.
  13972. //
  13973. // Note: You must call the "Send" method on the returned request object in order
  13974. // to execute the request.
  13975. //
  13976. // // Example sending a request using the ImportSnapshotRequest method.
  13977. // req, resp := client.ImportSnapshotRequest(params)
  13978. //
  13979. // err := req.Send()
  13980. // if err == nil { // resp is now filled
  13981. // fmt.Println(resp)
  13982. // }
  13983. //
  13984. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  13985. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  13986. op := &request.Operation{
  13987. Name: opImportSnapshot,
  13988. HTTPMethod: "POST",
  13989. HTTPPath: "/",
  13990. }
  13991. if input == nil {
  13992. input = &ImportSnapshotInput{}
  13993. }
  13994. output = &ImportSnapshotOutput{}
  13995. req = c.newRequest(op, input, output)
  13996. return
  13997. }
  13998. // ImportSnapshot API operation for Amazon Elastic Compute Cloud.
  13999. //
  14000. // Imports a disk into an EBS snapshot.
  14001. //
  14002. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14003. // with awserr.Error's Code and Message methods to get detailed information about
  14004. // the error.
  14005. //
  14006. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14007. // API operation ImportSnapshot for usage and error information.
  14008. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  14009. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  14010. req, out := c.ImportSnapshotRequest(input)
  14011. return out, req.Send()
  14012. }
  14013. // ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
  14014. // the ability to pass a context and additional request options.
  14015. //
  14016. // See ImportSnapshot for details on how to use this API operation.
  14017. //
  14018. // The context must be non-nil and will be used for request cancellation. If
  14019. // the context is nil a panic will occur. In the future the SDK may create
  14020. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14021. // for more information on using Contexts.
  14022. func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
  14023. req, out := c.ImportSnapshotRequest(input)
  14024. req.SetContext(ctx)
  14025. req.ApplyOptions(opts...)
  14026. return out, req.Send()
  14027. }
  14028. const opImportVolume = "ImportVolume"
  14029. // ImportVolumeRequest generates a "aws/request.Request" representing the
  14030. // client's request for the ImportVolume operation. The "output" return
  14031. // value can be used to capture response data after the request's "Send" method
  14032. // is called.
  14033. //
  14034. // See ImportVolume for usage and error information.
  14035. //
  14036. // Creating a request object using this method should be used when you want to inject
  14037. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14038. // access properties on the request object before or after sending the request. If
  14039. // you just want the service response, call the ImportVolume method directly
  14040. // instead.
  14041. //
  14042. // Note: You must call the "Send" method on the returned request object in order
  14043. // to execute the request.
  14044. //
  14045. // // Example sending a request using the ImportVolumeRequest method.
  14046. // req, resp := client.ImportVolumeRequest(params)
  14047. //
  14048. // err := req.Send()
  14049. // if err == nil { // resp is now filled
  14050. // fmt.Println(resp)
  14051. // }
  14052. //
  14053. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  14054. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  14055. op := &request.Operation{
  14056. Name: opImportVolume,
  14057. HTTPMethod: "POST",
  14058. HTTPPath: "/",
  14059. }
  14060. if input == nil {
  14061. input = &ImportVolumeInput{}
  14062. }
  14063. output = &ImportVolumeOutput{}
  14064. req = c.newRequest(op, input, output)
  14065. return
  14066. }
  14067. // ImportVolume API operation for Amazon Elastic Compute Cloud.
  14068. //
  14069. // Creates an import volume task using metadata from the specified disk image.For
  14070. // more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
  14071. //
  14072. // For information about the import manifest referenced by this API action,
  14073. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  14074. //
  14075. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14076. // with awserr.Error's Code and Message methods to get detailed information about
  14077. // the error.
  14078. //
  14079. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14080. // API operation ImportVolume for usage and error information.
  14081. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  14082. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  14083. req, out := c.ImportVolumeRequest(input)
  14084. return out, req.Send()
  14085. }
  14086. // ImportVolumeWithContext is the same as ImportVolume with the addition of
  14087. // the ability to pass a context and additional request options.
  14088. //
  14089. // See ImportVolume for details on how to use this API operation.
  14090. //
  14091. // The context must be non-nil and will be used for request cancellation. If
  14092. // the context is nil a panic will occur. In the future the SDK may create
  14093. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14094. // for more information on using Contexts.
  14095. func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
  14096. req, out := c.ImportVolumeRequest(input)
  14097. req.SetContext(ctx)
  14098. req.ApplyOptions(opts...)
  14099. return out, req.Send()
  14100. }
  14101. const opModifyHosts = "ModifyHosts"
  14102. // ModifyHostsRequest generates a "aws/request.Request" representing the
  14103. // client's request for the ModifyHosts operation. The "output" return
  14104. // value can be used to capture response data after the request's "Send" method
  14105. // is called.
  14106. //
  14107. // See ModifyHosts for usage and error information.
  14108. //
  14109. // Creating a request object using this method should be used when you want to inject
  14110. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14111. // access properties on the request object before or after sending the request. If
  14112. // you just want the service response, call the ModifyHosts method directly
  14113. // instead.
  14114. //
  14115. // Note: You must call the "Send" method on the returned request object in order
  14116. // to execute the request.
  14117. //
  14118. // // Example sending a request using the ModifyHostsRequest method.
  14119. // req, resp := client.ModifyHostsRequest(params)
  14120. //
  14121. // err := req.Send()
  14122. // if err == nil { // resp is now filled
  14123. // fmt.Println(resp)
  14124. // }
  14125. //
  14126. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  14127. func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
  14128. op := &request.Operation{
  14129. Name: opModifyHosts,
  14130. HTTPMethod: "POST",
  14131. HTTPPath: "/",
  14132. }
  14133. if input == nil {
  14134. input = &ModifyHostsInput{}
  14135. }
  14136. output = &ModifyHostsOutput{}
  14137. req = c.newRequest(op, input, output)
  14138. return
  14139. }
  14140. // ModifyHosts API operation for Amazon Elastic Compute Cloud.
  14141. //
  14142. // Modify the auto-placement setting of a Dedicated Host. When auto-placement
  14143. // is enabled, AWS will place instances that you launch with a tenancy of host,
  14144. // but without targeting a specific host ID, onto any available Dedicated Host
  14145. // in your account which has auto-placement enabled. When auto-placement is
  14146. // disabled, you need to provide a host ID if you want the instance to launch
  14147. // onto a specific host. If no host ID is provided, the instance will be launched
  14148. // onto a suitable host which has auto-placement enabled.
  14149. //
  14150. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14151. // with awserr.Error's Code and Message methods to get detailed information about
  14152. // the error.
  14153. //
  14154. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14155. // API operation ModifyHosts for usage and error information.
  14156. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  14157. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
  14158. req, out := c.ModifyHostsRequest(input)
  14159. return out, req.Send()
  14160. }
  14161. // ModifyHostsWithContext is the same as ModifyHosts with the addition of
  14162. // the ability to pass a context and additional request options.
  14163. //
  14164. // See ModifyHosts for details on how to use this API operation.
  14165. //
  14166. // The context must be non-nil and will be used for request cancellation. If
  14167. // the context is nil a panic will occur. In the future the SDK may create
  14168. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14169. // for more information on using Contexts.
  14170. func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
  14171. req, out := c.ModifyHostsRequest(input)
  14172. req.SetContext(ctx)
  14173. req.ApplyOptions(opts...)
  14174. return out, req.Send()
  14175. }
  14176. const opModifyIdFormat = "ModifyIdFormat"
  14177. // ModifyIdFormatRequest generates a "aws/request.Request" representing the
  14178. // client's request for the ModifyIdFormat operation. The "output" return
  14179. // value can be used to capture response data after the request's "Send" method
  14180. // is called.
  14181. //
  14182. // See ModifyIdFormat for usage and error information.
  14183. //
  14184. // Creating a request object using this method should be used when you want to inject
  14185. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14186. // access properties on the request object before or after sending the request. If
  14187. // you just want the service response, call the ModifyIdFormat method directly
  14188. // instead.
  14189. //
  14190. // Note: You must call the "Send" method on the returned request object in order
  14191. // to execute the request.
  14192. //
  14193. // // Example sending a request using the ModifyIdFormatRequest method.
  14194. // req, resp := client.ModifyIdFormatRequest(params)
  14195. //
  14196. // err := req.Send()
  14197. // if err == nil { // resp is now filled
  14198. // fmt.Println(resp)
  14199. // }
  14200. //
  14201. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  14202. func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
  14203. op := &request.Operation{
  14204. Name: opModifyIdFormat,
  14205. HTTPMethod: "POST",
  14206. HTTPPath: "/",
  14207. }
  14208. if input == nil {
  14209. input = &ModifyIdFormatInput{}
  14210. }
  14211. output = &ModifyIdFormatOutput{}
  14212. req = c.newRequest(op, input, output)
  14213. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14214. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14215. return
  14216. }
  14217. // ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
  14218. //
  14219. // Modifies the ID format for the specified resource on a per-region basis.
  14220. // You can specify that resources should receive longer IDs (17-character IDs)
  14221. // when they are created. The following resource types support longer IDs: instance
  14222. // | reservation | snapshot | volume.
  14223. //
  14224. // This setting applies to the IAM user who makes the request; it does not apply
  14225. // to the entire AWS account. By default, an IAM user defaults to the same settings
  14226. // as the root user. If you're using this action as the root user, then these
  14227. // settings apply to the entire account, unless an IAM user explicitly overrides
  14228. // these settings for themselves. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  14229. // in the Amazon Elastic Compute Cloud User Guide.
  14230. //
  14231. // Resources created with longer IDs are visible to all IAM roles and users,
  14232. // regardless of these settings and provided that they have permission to use
  14233. // the relevant Describe command for the resource type.
  14234. //
  14235. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14236. // with awserr.Error's Code and Message methods to get detailed information about
  14237. // the error.
  14238. //
  14239. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14240. // API operation ModifyIdFormat for usage and error information.
  14241. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  14242. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
  14243. req, out := c.ModifyIdFormatRequest(input)
  14244. return out, req.Send()
  14245. }
  14246. // ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
  14247. // the ability to pass a context and additional request options.
  14248. //
  14249. // See ModifyIdFormat for details on how to use this API operation.
  14250. //
  14251. // The context must be non-nil and will be used for request cancellation. If
  14252. // the context is nil a panic will occur. In the future the SDK may create
  14253. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14254. // for more information on using Contexts.
  14255. func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
  14256. req, out := c.ModifyIdFormatRequest(input)
  14257. req.SetContext(ctx)
  14258. req.ApplyOptions(opts...)
  14259. return out, req.Send()
  14260. }
  14261. const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
  14262. // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
  14263. // client's request for the ModifyIdentityIdFormat operation. The "output" return
  14264. // value can be used to capture response data after the request's "Send" method
  14265. // is called.
  14266. //
  14267. // See ModifyIdentityIdFormat for usage and error information.
  14268. //
  14269. // Creating a request object using this method should be used when you want to inject
  14270. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14271. // access properties on the request object before or after sending the request. If
  14272. // you just want the service response, call the ModifyIdentityIdFormat method directly
  14273. // instead.
  14274. //
  14275. // Note: You must call the "Send" method on the returned request object in order
  14276. // to execute the request.
  14277. //
  14278. // // Example sending a request using the ModifyIdentityIdFormatRequest method.
  14279. // req, resp := client.ModifyIdentityIdFormatRequest(params)
  14280. //
  14281. // err := req.Send()
  14282. // if err == nil { // resp is now filled
  14283. // fmt.Println(resp)
  14284. // }
  14285. //
  14286. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  14287. func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
  14288. op := &request.Operation{
  14289. Name: opModifyIdentityIdFormat,
  14290. HTTPMethod: "POST",
  14291. HTTPPath: "/",
  14292. }
  14293. if input == nil {
  14294. input = &ModifyIdentityIdFormatInput{}
  14295. }
  14296. output = &ModifyIdentityIdFormatOutput{}
  14297. req = c.newRequest(op, input, output)
  14298. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14299. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14300. return
  14301. }
  14302. // ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  14303. //
  14304. // Modifies the ID format of a resource for a specified IAM user, IAM role,
  14305. // or the root user for an account; or all IAM users, IAM roles, and the root
  14306. // user for an account. You can specify that resources should receive longer
  14307. // IDs (17-character IDs) when they are created.
  14308. //
  14309. // The following resource types support longer IDs: instance | reservation |
  14310. // snapshot | volume. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  14311. // in the Amazon Elastic Compute Cloud User Guide.
  14312. //
  14313. // This setting applies to the principal specified in the request; it does not
  14314. // apply to the principal that makes the request.
  14315. //
  14316. // Resources created with longer IDs are visible to all IAM roles and users,
  14317. // regardless of these settings and provided that they have permission to use
  14318. // the relevant Describe command for the resource type.
  14319. //
  14320. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14321. // with awserr.Error's Code and Message methods to get detailed information about
  14322. // the error.
  14323. //
  14324. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14325. // API operation ModifyIdentityIdFormat for usage and error information.
  14326. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  14327. func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
  14328. req, out := c.ModifyIdentityIdFormatRequest(input)
  14329. return out, req.Send()
  14330. }
  14331. // ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
  14332. // the ability to pass a context and additional request options.
  14333. //
  14334. // See ModifyIdentityIdFormat for details on how to use this API operation.
  14335. //
  14336. // The context must be non-nil and will be used for request cancellation. If
  14337. // the context is nil a panic will occur. In the future the SDK may create
  14338. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14339. // for more information on using Contexts.
  14340. func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
  14341. req, out := c.ModifyIdentityIdFormatRequest(input)
  14342. req.SetContext(ctx)
  14343. req.ApplyOptions(opts...)
  14344. return out, req.Send()
  14345. }
  14346. const opModifyImageAttribute = "ModifyImageAttribute"
  14347. // ModifyImageAttributeRequest generates a "aws/request.Request" representing the
  14348. // client's request for the ModifyImageAttribute operation. The "output" return
  14349. // value can be used to capture response data after the request's "Send" method
  14350. // is called.
  14351. //
  14352. // See ModifyImageAttribute for usage and error information.
  14353. //
  14354. // Creating a request object using this method should be used when you want to inject
  14355. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14356. // access properties on the request object before or after sending the request. If
  14357. // you just want the service response, call the ModifyImageAttribute method directly
  14358. // instead.
  14359. //
  14360. // Note: You must call the "Send" method on the returned request object in order
  14361. // to execute the request.
  14362. //
  14363. // // Example sending a request using the ModifyImageAttributeRequest method.
  14364. // req, resp := client.ModifyImageAttributeRequest(params)
  14365. //
  14366. // err := req.Send()
  14367. // if err == nil { // resp is now filled
  14368. // fmt.Println(resp)
  14369. // }
  14370. //
  14371. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  14372. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  14373. op := &request.Operation{
  14374. Name: opModifyImageAttribute,
  14375. HTTPMethod: "POST",
  14376. HTTPPath: "/",
  14377. }
  14378. if input == nil {
  14379. input = &ModifyImageAttributeInput{}
  14380. }
  14381. output = &ModifyImageAttributeOutput{}
  14382. req = c.newRequest(op, input, output)
  14383. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14384. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14385. return
  14386. }
  14387. // ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
  14388. //
  14389. // Modifies the specified attribute of the specified AMI. You can specify only
  14390. // one attribute at a time.
  14391. //
  14392. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  14393. // product code cannot be made public.
  14394. //
  14395. // The SriovNetSupport enhanced networking attribute cannot be changed using
  14396. // this command. Instead, enable SriovNetSupport on an instance and create an
  14397. // AMI from the instance. This will result in an image with SriovNetSupport
  14398. // enabled.
  14399. //
  14400. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14401. // with awserr.Error's Code and Message methods to get detailed information about
  14402. // the error.
  14403. //
  14404. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14405. // API operation ModifyImageAttribute for usage and error information.
  14406. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  14407. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  14408. req, out := c.ModifyImageAttributeRequest(input)
  14409. return out, req.Send()
  14410. }
  14411. // ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
  14412. // the ability to pass a context and additional request options.
  14413. //
  14414. // See ModifyImageAttribute for details on how to use this API operation.
  14415. //
  14416. // The context must be non-nil and will be used for request cancellation. If
  14417. // the context is nil a panic will occur. In the future the SDK may create
  14418. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14419. // for more information on using Contexts.
  14420. func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
  14421. req, out := c.ModifyImageAttributeRequest(input)
  14422. req.SetContext(ctx)
  14423. req.ApplyOptions(opts...)
  14424. return out, req.Send()
  14425. }
  14426. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  14427. // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
  14428. // client's request for the ModifyInstanceAttribute operation. The "output" return
  14429. // value can be used to capture response data after the request's "Send" method
  14430. // is called.
  14431. //
  14432. // See ModifyInstanceAttribute for usage and error information.
  14433. //
  14434. // Creating a request object using this method should be used when you want to inject
  14435. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14436. // access properties on the request object before or after sending the request. If
  14437. // you just want the service response, call the ModifyInstanceAttribute method directly
  14438. // instead.
  14439. //
  14440. // Note: You must call the "Send" method on the returned request object in order
  14441. // to execute the request.
  14442. //
  14443. // // Example sending a request using the ModifyInstanceAttributeRequest method.
  14444. // req, resp := client.ModifyInstanceAttributeRequest(params)
  14445. //
  14446. // err := req.Send()
  14447. // if err == nil { // resp is now filled
  14448. // fmt.Println(resp)
  14449. // }
  14450. //
  14451. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  14452. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  14453. op := &request.Operation{
  14454. Name: opModifyInstanceAttribute,
  14455. HTTPMethod: "POST",
  14456. HTTPPath: "/",
  14457. }
  14458. if input == nil {
  14459. input = &ModifyInstanceAttributeInput{}
  14460. }
  14461. output = &ModifyInstanceAttributeOutput{}
  14462. req = c.newRequest(op, input, output)
  14463. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14464. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14465. return
  14466. }
  14467. // ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  14468. //
  14469. // Modifies the specified attribute of the specified instance. You can specify
  14470. // only one attribute at a time.
  14471. //
  14472. // To modify some attributes, the instance must be stopped. For more information,
  14473. // see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  14474. // in the Amazon Elastic Compute Cloud User Guide.
  14475. //
  14476. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14477. // with awserr.Error's Code and Message methods to get detailed information about
  14478. // the error.
  14479. //
  14480. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14481. // API operation ModifyInstanceAttribute for usage and error information.
  14482. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  14483. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  14484. req, out := c.ModifyInstanceAttributeRequest(input)
  14485. return out, req.Send()
  14486. }
  14487. // ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
  14488. // the ability to pass a context and additional request options.
  14489. //
  14490. // See ModifyInstanceAttribute for details on how to use this API operation.
  14491. //
  14492. // The context must be non-nil and will be used for request cancellation. If
  14493. // the context is nil a panic will occur. In the future the SDK may create
  14494. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14495. // for more information on using Contexts.
  14496. func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
  14497. req, out := c.ModifyInstanceAttributeRequest(input)
  14498. req.SetContext(ctx)
  14499. req.ApplyOptions(opts...)
  14500. return out, req.Send()
  14501. }
  14502. const opModifyInstancePlacement = "ModifyInstancePlacement"
  14503. // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
  14504. // client's request for the ModifyInstancePlacement operation. The "output" return
  14505. // value can be used to capture response data after the request's "Send" method
  14506. // is called.
  14507. //
  14508. // See ModifyInstancePlacement for usage and error information.
  14509. //
  14510. // Creating a request object using this method should be used when you want to inject
  14511. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14512. // access properties on the request object before or after sending the request. If
  14513. // you just want the service response, call the ModifyInstancePlacement method directly
  14514. // instead.
  14515. //
  14516. // Note: You must call the "Send" method on the returned request object in order
  14517. // to execute the request.
  14518. //
  14519. // // Example sending a request using the ModifyInstancePlacementRequest method.
  14520. // req, resp := client.ModifyInstancePlacementRequest(params)
  14521. //
  14522. // err := req.Send()
  14523. // if err == nil { // resp is now filled
  14524. // fmt.Println(resp)
  14525. // }
  14526. //
  14527. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  14528. func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
  14529. op := &request.Operation{
  14530. Name: opModifyInstancePlacement,
  14531. HTTPMethod: "POST",
  14532. HTTPPath: "/",
  14533. }
  14534. if input == nil {
  14535. input = &ModifyInstancePlacementInput{}
  14536. }
  14537. output = &ModifyInstancePlacementOutput{}
  14538. req = c.newRequest(op, input, output)
  14539. return
  14540. }
  14541. // ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
  14542. //
  14543. // Set the instance affinity value for a specific stopped instance and modify
  14544. // the instance tenancy setting.
  14545. //
  14546. // Instance affinity is disabled by default. When instance affinity is host
  14547. // and it is not associated with a specific Dedicated Host, the next time it
  14548. // is launched it will automatically be associated with the host it lands on.
  14549. // This relationship will persist if the instance is stopped/started, or rebooted.
  14550. //
  14551. // You can modify the host ID associated with a stopped instance. If a stopped
  14552. // instance has a new host ID association, the instance will target that host
  14553. // when restarted.
  14554. //
  14555. // You can modify the tenancy of a stopped instance with a tenancy of host or
  14556. // dedicated.
  14557. //
  14558. // Affinity, hostID, and tenancy are not required parameters, but at least one
  14559. // of them must be specified in the request. Affinity and tenancy can be modified
  14560. // in the same request, but tenancy can only be modified on instances that are
  14561. // stopped.
  14562. //
  14563. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14564. // with awserr.Error's Code and Message methods to get detailed information about
  14565. // the error.
  14566. //
  14567. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14568. // API operation ModifyInstancePlacement for usage and error information.
  14569. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  14570. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
  14571. req, out := c.ModifyInstancePlacementRequest(input)
  14572. return out, req.Send()
  14573. }
  14574. // ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
  14575. // the ability to pass a context and additional request options.
  14576. //
  14577. // See ModifyInstancePlacement for details on how to use this API operation.
  14578. //
  14579. // The context must be non-nil and will be used for request cancellation. If
  14580. // the context is nil a panic will occur. In the future the SDK may create
  14581. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14582. // for more information on using Contexts.
  14583. func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
  14584. req, out := c.ModifyInstancePlacementRequest(input)
  14585. req.SetContext(ctx)
  14586. req.ApplyOptions(opts...)
  14587. return out, req.Send()
  14588. }
  14589. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  14590. // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  14591. // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
  14592. // value can be used to capture response data after the request's "Send" method
  14593. // is called.
  14594. //
  14595. // See ModifyNetworkInterfaceAttribute for usage and error information.
  14596. //
  14597. // Creating a request object using this method should be used when you want to inject
  14598. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14599. // access properties on the request object before or after sending the request. If
  14600. // you just want the service response, call the ModifyNetworkInterfaceAttribute method directly
  14601. // instead.
  14602. //
  14603. // Note: You must call the "Send" method on the returned request object in order
  14604. // to execute the request.
  14605. //
  14606. // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
  14607. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
  14608. //
  14609. // err := req.Send()
  14610. // if err == nil { // resp is now filled
  14611. // fmt.Println(resp)
  14612. // }
  14613. //
  14614. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  14615. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  14616. op := &request.Operation{
  14617. Name: opModifyNetworkInterfaceAttribute,
  14618. HTTPMethod: "POST",
  14619. HTTPPath: "/",
  14620. }
  14621. if input == nil {
  14622. input = &ModifyNetworkInterfaceAttributeInput{}
  14623. }
  14624. output = &ModifyNetworkInterfaceAttributeOutput{}
  14625. req = c.newRequest(op, input, output)
  14626. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14627. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14628. return
  14629. }
  14630. // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  14631. //
  14632. // Modifies the specified network interface attribute. You can specify only
  14633. // one attribute at a time.
  14634. //
  14635. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14636. // with awserr.Error's Code and Message methods to get detailed information about
  14637. // the error.
  14638. //
  14639. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14640. // API operation ModifyNetworkInterfaceAttribute for usage and error information.
  14641. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  14642. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  14643. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  14644. return out, req.Send()
  14645. }
  14646. // ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
  14647. // the ability to pass a context and additional request options.
  14648. //
  14649. // See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
  14650. //
  14651. // The context must be non-nil and will be used for request cancellation. If
  14652. // the context is nil a panic will occur. In the future the SDK may create
  14653. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14654. // for more information on using Contexts.
  14655. func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
  14656. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  14657. req.SetContext(ctx)
  14658. req.ApplyOptions(opts...)
  14659. return out, req.Send()
  14660. }
  14661. const opModifyReservedInstances = "ModifyReservedInstances"
  14662. // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
  14663. // client's request for the ModifyReservedInstances operation. The "output" return
  14664. // value can be used to capture response data after the request's "Send" method
  14665. // is called.
  14666. //
  14667. // See ModifyReservedInstances for usage and error information.
  14668. //
  14669. // Creating a request object using this method should be used when you want to inject
  14670. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14671. // access properties on the request object before or after sending the request. If
  14672. // you just want the service response, call the ModifyReservedInstances method directly
  14673. // instead.
  14674. //
  14675. // Note: You must call the "Send" method on the returned request object in order
  14676. // to execute the request.
  14677. //
  14678. // // Example sending a request using the ModifyReservedInstancesRequest method.
  14679. // req, resp := client.ModifyReservedInstancesRequest(params)
  14680. //
  14681. // err := req.Send()
  14682. // if err == nil { // resp is now filled
  14683. // fmt.Println(resp)
  14684. // }
  14685. //
  14686. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  14687. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  14688. op := &request.Operation{
  14689. Name: opModifyReservedInstances,
  14690. HTTPMethod: "POST",
  14691. HTTPPath: "/",
  14692. }
  14693. if input == nil {
  14694. input = &ModifyReservedInstancesInput{}
  14695. }
  14696. output = &ModifyReservedInstancesOutput{}
  14697. req = c.newRequest(op, input, output)
  14698. return
  14699. }
  14700. // ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
  14701. //
  14702. // Modifies the Availability Zone, instance count, instance type, or network
  14703. // platform (EC2-Classic or EC2-VPC) of your Standard Reserved Instances. The
  14704. // Reserved Instances to be modified must be identical, except for Availability
  14705. // Zone, network platform, and instance type.
  14706. //
  14707. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  14708. // in the Amazon Elastic Compute Cloud User Guide.
  14709. //
  14710. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14711. // with awserr.Error's Code and Message methods to get detailed information about
  14712. // the error.
  14713. //
  14714. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14715. // API operation ModifyReservedInstances for usage and error information.
  14716. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  14717. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  14718. req, out := c.ModifyReservedInstancesRequest(input)
  14719. return out, req.Send()
  14720. }
  14721. // ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
  14722. // the ability to pass a context and additional request options.
  14723. //
  14724. // See ModifyReservedInstances for details on how to use this API operation.
  14725. //
  14726. // The context must be non-nil and will be used for request cancellation. If
  14727. // the context is nil a panic will occur. In the future the SDK may create
  14728. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14729. // for more information on using Contexts.
  14730. func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
  14731. req, out := c.ModifyReservedInstancesRequest(input)
  14732. req.SetContext(ctx)
  14733. req.ApplyOptions(opts...)
  14734. return out, req.Send()
  14735. }
  14736. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  14737. // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
  14738. // client's request for the ModifySnapshotAttribute operation. The "output" return
  14739. // value can be used to capture response data after the request's "Send" method
  14740. // is called.
  14741. //
  14742. // See ModifySnapshotAttribute for usage and error information.
  14743. //
  14744. // Creating a request object using this method should be used when you want to inject
  14745. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14746. // access properties on the request object before or after sending the request. If
  14747. // you just want the service response, call the ModifySnapshotAttribute method directly
  14748. // instead.
  14749. //
  14750. // Note: You must call the "Send" method on the returned request object in order
  14751. // to execute the request.
  14752. //
  14753. // // Example sending a request using the ModifySnapshotAttributeRequest method.
  14754. // req, resp := client.ModifySnapshotAttributeRequest(params)
  14755. //
  14756. // err := req.Send()
  14757. // if err == nil { // resp is now filled
  14758. // fmt.Println(resp)
  14759. // }
  14760. //
  14761. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  14762. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  14763. op := &request.Operation{
  14764. Name: opModifySnapshotAttribute,
  14765. HTTPMethod: "POST",
  14766. HTTPPath: "/",
  14767. }
  14768. if input == nil {
  14769. input = &ModifySnapshotAttributeInput{}
  14770. }
  14771. output = &ModifySnapshotAttributeOutput{}
  14772. req = c.newRequest(op, input, output)
  14773. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14774. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14775. return
  14776. }
  14777. // ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  14778. //
  14779. // Adds or removes permission settings for the specified snapshot. You may add
  14780. // or remove specified AWS account IDs from a snapshot's list of create volume
  14781. // permissions, but you cannot do both in a single API call. If you need to
  14782. // both add and remove account IDs for a snapshot, you must use multiple API
  14783. // calls.
  14784. //
  14785. // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
  14786. // be made public. Snapshots encrypted with your default CMK cannot be shared
  14787. // with other accounts.
  14788. //
  14789. // For more information on modifying snapshot permissions, see Sharing Snapshots
  14790. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  14791. // in the Amazon Elastic Compute Cloud User Guide.
  14792. //
  14793. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14794. // with awserr.Error's Code and Message methods to get detailed information about
  14795. // the error.
  14796. //
  14797. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14798. // API operation ModifySnapshotAttribute for usage and error information.
  14799. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  14800. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  14801. req, out := c.ModifySnapshotAttributeRequest(input)
  14802. return out, req.Send()
  14803. }
  14804. // ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
  14805. // the ability to pass a context and additional request options.
  14806. //
  14807. // See ModifySnapshotAttribute for details on how to use this API operation.
  14808. //
  14809. // The context must be non-nil and will be used for request cancellation. If
  14810. // the context is nil a panic will occur. In the future the SDK may create
  14811. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14812. // for more information on using Contexts.
  14813. func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
  14814. req, out := c.ModifySnapshotAttributeRequest(input)
  14815. req.SetContext(ctx)
  14816. req.ApplyOptions(opts...)
  14817. return out, req.Send()
  14818. }
  14819. const opModifySpotFleetRequest = "ModifySpotFleetRequest"
  14820. // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
  14821. // client's request for the ModifySpotFleetRequest operation. The "output" return
  14822. // value can be used to capture response data after the request's "Send" method
  14823. // is called.
  14824. //
  14825. // See ModifySpotFleetRequest for usage and error information.
  14826. //
  14827. // Creating a request object using this method should be used when you want to inject
  14828. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14829. // access properties on the request object before or after sending the request. If
  14830. // you just want the service response, call the ModifySpotFleetRequest method directly
  14831. // instead.
  14832. //
  14833. // Note: You must call the "Send" method on the returned request object in order
  14834. // to execute the request.
  14835. //
  14836. // // Example sending a request using the ModifySpotFleetRequestRequest method.
  14837. // req, resp := client.ModifySpotFleetRequestRequest(params)
  14838. //
  14839. // err := req.Send()
  14840. // if err == nil { // resp is now filled
  14841. // fmt.Println(resp)
  14842. // }
  14843. //
  14844. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  14845. func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
  14846. op := &request.Operation{
  14847. Name: opModifySpotFleetRequest,
  14848. HTTPMethod: "POST",
  14849. HTTPPath: "/",
  14850. }
  14851. if input == nil {
  14852. input = &ModifySpotFleetRequestInput{}
  14853. }
  14854. output = &ModifySpotFleetRequestOutput{}
  14855. req = c.newRequest(op, input, output)
  14856. return
  14857. }
  14858. // ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
  14859. //
  14860. // Modifies the specified Spot fleet request.
  14861. //
  14862. // While the Spot fleet request is being modified, it is in the modifying state.
  14863. //
  14864. // To scale up your Spot fleet, increase its target capacity. The Spot fleet
  14865. // launches the additional Spot instances according to the allocation strategy
  14866. // for the Spot fleet request. If the allocation strategy is lowestPrice, the
  14867. // Spot fleet launches instances using the Spot pool with the lowest price.
  14868. // If the allocation strategy is diversified, the Spot fleet distributes the
  14869. // instances across the Spot pools.
  14870. //
  14871. // To scale down your Spot fleet, decrease its target capacity. First, the Spot
  14872. // fleet cancels any open bids that exceed the new target capacity. You can
  14873. // request that the Spot fleet terminate Spot instances until the size of the
  14874. // fleet no longer exceeds the new target capacity. If the allocation strategy
  14875. // is lowestPrice, the Spot fleet terminates the instances with the highest
  14876. // price per unit. If the allocation strategy is diversified, the Spot fleet
  14877. // terminates instances across the Spot pools. Alternatively, you can request
  14878. // that the Spot fleet keep the fleet at its current size, but not replace any
  14879. // Spot instances that are interrupted or that you terminate manually.
  14880. //
  14881. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14882. // with awserr.Error's Code and Message methods to get detailed information about
  14883. // the error.
  14884. //
  14885. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14886. // API operation ModifySpotFleetRequest for usage and error information.
  14887. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  14888. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
  14889. req, out := c.ModifySpotFleetRequestRequest(input)
  14890. return out, req.Send()
  14891. }
  14892. // ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
  14893. // the ability to pass a context and additional request options.
  14894. //
  14895. // See ModifySpotFleetRequest for details on how to use this API operation.
  14896. //
  14897. // The context must be non-nil and will be used for request cancellation. If
  14898. // the context is nil a panic will occur. In the future the SDK may create
  14899. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14900. // for more information on using Contexts.
  14901. func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
  14902. req, out := c.ModifySpotFleetRequestRequest(input)
  14903. req.SetContext(ctx)
  14904. req.ApplyOptions(opts...)
  14905. return out, req.Send()
  14906. }
  14907. const opModifySubnetAttribute = "ModifySubnetAttribute"
  14908. // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
  14909. // client's request for the ModifySubnetAttribute operation. The "output" return
  14910. // value can be used to capture response data after the request's "Send" method
  14911. // is called.
  14912. //
  14913. // See ModifySubnetAttribute for usage and error information.
  14914. //
  14915. // Creating a request object using this method should be used when you want to inject
  14916. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14917. // access properties on the request object before or after sending the request. If
  14918. // you just want the service response, call the ModifySubnetAttribute method directly
  14919. // instead.
  14920. //
  14921. // Note: You must call the "Send" method on the returned request object in order
  14922. // to execute the request.
  14923. //
  14924. // // Example sending a request using the ModifySubnetAttributeRequest method.
  14925. // req, resp := client.ModifySubnetAttributeRequest(params)
  14926. //
  14927. // err := req.Send()
  14928. // if err == nil { // resp is now filled
  14929. // fmt.Println(resp)
  14930. // }
  14931. //
  14932. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  14933. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  14934. op := &request.Operation{
  14935. Name: opModifySubnetAttribute,
  14936. HTTPMethod: "POST",
  14937. HTTPPath: "/",
  14938. }
  14939. if input == nil {
  14940. input = &ModifySubnetAttributeInput{}
  14941. }
  14942. output = &ModifySubnetAttributeOutput{}
  14943. req = c.newRequest(op, input, output)
  14944. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14945. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14946. return
  14947. }
  14948. // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
  14949. //
  14950. // Modifies a subnet attribute. You can only modify one attribute at a time.
  14951. //
  14952. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14953. // with awserr.Error's Code and Message methods to get detailed information about
  14954. // the error.
  14955. //
  14956. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14957. // API operation ModifySubnetAttribute for usage and error information.
  14958. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  14959. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  14960. req, out := c.ModifySubnetAttributeRequest(input)
  14961. return out, req.Send()
  14962. }
  14963. // ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
  14964. // the ability to pass a context and additional request options.
  14965. //
  14966. // See ModifySubnetAttribute for details on how to use this API operation.
  14967. //
  14968. // The context must be non-nil and will be used for request cancellation. If
  14969. // the context is nil a panic will occur. In the future the SDK may create
  14970. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14971. // for more information on using Contexts.
  14972. func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
  14973. req, out := c.ModifySubnetAttributeRequest(input)
  14974. req.SetContext(ctx)
  14975. req.ApplyOptions(opts...)
  14976. return out, req.Send()
  14977. }
  14978. const opModifyVolume = "ModifyVolume"
  14979. // ModifyVolumeRequest generates a "aws/request.Request" representing the
  14980. // client's request for the ModifyVolume operation. The "output" return
  14981. // value can be used to capture response data after the request's "Send" method
  14982. // is called.
  14983. //
  14984. // See ModifyVolume for usage and error information.
  14985. //
  14986. // Creating a request object using this method should be used when you want to inject
  14987. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14988. // access properties on the request object before or after sending the request. If
  14989. // you just want the service response, call the ModifyVolume method directly
  14990. // instead.
  14991. //
  14992. // Note: You must call the "Send" method on the returned request object in order
  14993. // to execute the request.
  14994. //
  14995. // // Example sending a request using the ModifyVolumeRequest method.
  14996. // req, resp := client.ModifyVolumeRequest(params)
  14997. //
  14998. // err := req.Send()
  14999. // if err == nil { // resp is now filled
  15000. // fmt.Println(resp)
  15001. // }
  15002. //
  15003. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  15004. func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
  15005. op := &request.Operation{
  15006. Name: opModifyVolume,
  15007. HTTPMethod: "POST",
  15008. HTTPPath: "/",
  15009. }
  15010. if input == nil {
  15011. input = &ModifyVolumeInput{}
  15012. }
  15013. output = &ModifyVolumeOutput{}
  15014. req = c.newRequest(op, input, output)
  15015. return
  15016. }
  15017. // ModifyVolume API operation for Amazon Elastic Compute Cloud.
  15018. //
  15019. // You can modify several parameters of an existing EBS volume, including volume
  15020. // size, volume type, and IOPS capacity. If your EBS volume is attached to a
  15021. // current-generation EC2 instance type, you may be able to apply these changes
  15022. // without stopping the instance or detaching the volume from it. For more information
  15023. // about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
  15024. // or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  15025. // For more information about modifying an EBS volume running Windows, see Modifying
  15026. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  15027. //
  15028. // When you complete a resize operation on your volume, you need to extend the
  15029. // volume's file-system size to take advantage of the new storage capacity.
  15030. // For information about extending a Linux file system, see Extending a Linux
  15031. // File System (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
  15032. // For information about extending a Windows file system, see Extending a Windows
  15033. // File System (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
  15034. //
  15035. // You can use CloudWatch Events to check the status of a modification to an
  15036. // EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
  15037. // Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  15038. // You can also track the status of a modification using the DescribeVolumesModifications
  15039. // API. For information about tracking status changes using either method, see
  15040. // Monitoring Volume Modifications (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  15041. //
  15042. // With previous-generation instance types, resizing an EBS volume may require
  15043. // detaching and reattaching the volume or stopping and restarting the instance.
  15044. // For more information about modifying an EBS volume running Linux, see Modifying
  15045. // the Size, IOPS, or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  15046. // For more information about modifying an EBS volume running Windows, see Modifying
  15047. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  15048. //
  15049. // If you reach the maximum volume modification rate per volume limit, you will
  15050. // need to wait at least six hours before applying further modifications to
  15051. // the affected EBS volume.
  15052. //
  15053. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15054. // with awserr.Error's Code and Message methods to get detailed information about
  15055. // the error.
  15056. //
  15057. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15058. // API operation ModifyVolume for usage and error information.
  15059. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  15060. func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
  15061. req, out := c.ModifyVolumeRequest(input)
  15062. return out, req.Send()
  15063. }
  15064. // ModifyVolumeWithContext is the same as ModifyVolume with the addition of
  15065. // the ability to pass a context and additional request options.
  15066. //
  15067. // See ModifyVolume for details on how to use this API operation.
  15068. //
  15069. // The context must be non-nil and will be used for request cancellation. If
  15070. // the context is nil a panic will occur. In the future the SDK may create
  15071. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15072. // for more information on using Contexts.
  15073. func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
  15074. req, out := c.ModifyVolumeRequest(input)
  15075. req.SetContext(ctx)
  15076. req.ApplyOptions(opts...)
  15077. return out, req.Send()
  15078. }
  15079. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  15080. // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
  15081. // client's request for the ModifyVolumeAttribute operation. The "output" return
  15082. // value can be used to capture response data after the request's "Send" method
  15083. // is called.
  15084. //
  15085. // See ModifyVolumeAttribute for usage and error information.
  15086. //
  15087. // Creating a request object using this method should be used when you want to inject
  15088. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15089. // access properties on the request object before or after sending the request. If
  15090. // you just want the service response, call the ModifyVolumeAttribute method directly
  15091. // instead.
  15092. //
  15093. // Note: You must call the "Send" method on the returned request object in order
  15094. // to execute the request.
  15095. //
  15096. // // Example sending a request using the ModifyVolumeAttributeRequest method.
  15097. // req, resp := client.ModifyVolumeAttributeRequest(params)
  15098. //
  15099. // err := req.Send()
  15100. // if err == nil { // resp is now filled
  15101. // fmt.Println(resp)
  15102. // }
  15103. //
  15104. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  15105. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  15106. op := &request.Operation{
  15107. Name: opModifyVolumeAttribute,
  15108. HTTPMethod: "POST",
  15109. HTTPPath: "/",
  15110. }
  15111. if input == nil {
  15112. input = &ModifyVolumeAttributeInput{}
  15113. }
  15114. output = &ModifyVolumeAttributeOutput{}
  15115. req = c.newRequest(op, input, output)
  15116. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15117. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15118. return
  15119. }
  15120. // ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  15121. //
  15122. // Modifies a volume attribute.
  15123. //
  15124. // By default, all I/O operations for the volume are suspended when the data
  15125. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  15126. // latent data corruption. The I/O access to the volume can be resumed by first
  15127. // enabling I/O access and then checking the data consistency on your volume.
  15128. //
  15129. // You can change the default behavior to resume I/O operations. We recommend
  15130. // that you change this only for boot volumes or for volumes that are stateless
  15131. // or disposable.
  15132. //
  15133. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15134. // with awserr.Error's Code and Message methods to get detailed information about
  15135. // the error.
  15136. //
  15137. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15138. // API operation ModifyVolumeAttribute for usage and error information.
  15139. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  15140. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  15141. req, out := c.ModifyVolumeAttributeRequest(input)
  15142. return out, req.Send()
  15143. }
  15144. // ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
  15145. // the ability to pass a context and additional request options.
  15146. //
  15147. // See ModifyVolumeAttribute for details on how to use this API operation.
  15148. //
  15149. // The context must be non-nil and will be used for request cancellation. If
  15150. // the context is nil a panic will occur. In the future the SDK may create
  15151. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15152. // for more information on using Contexts.
  15153. func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
  15154. req, out := c.ModifyVolumeAttributeRequest(input)
  15155. req.SetContext(ctx)
  15156. req.ApplyOptions(opts...)
  15157. return out, req.Send()
  15158. }
  15159. const opModifyVpcAttribute = "ModifyVpcAttribute"
  15160. // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
  15161. // client's request for the ModifyVpcAttribute operation. The "output" return
  15162. // value can be used to capture response data after the request's "Send" method
  15163. // is called.
  15164. //
  15165. // See ModifyVpcAttribute for usage and error information.
  15166. //
  15167. // Creating a request object using this method should be used when you want to inject
  15168. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15169. // access properties on the request object before or after sending the request. If
  15170. // you just want the service response, call the ModifyVpcAttribute method directly
  15171. // instead.
  15172. //
  15173. // Note: You must call the "Send" method on the returned request object in order
  15174. // to execute the request.
  15175. //
  15176. // // Example sending a request using the ModifyVpcAttributeRequest method.
  15177. // req, resp := client.ModifyVpcAttributeRequest(params)
  15178. //
  15179. // err := req.Send()
  15180. // if err == nil { // resp is now filled
  15181. // fmt.Println(resp)
  15182. // }
  15183. //
  15184. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  15185. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  15186. op := &request.Operation{
  15187. Name: opModifyVpcAttribute,
  15188. HTTPMethod: "POST",
  15189. HTTPPath: "/",
  15190. }
  15191. if input == nil {
  15192. input = &ModifyVpcAttributeInput{}
  15193. }
  15194. output = &ModifyVpcAttributeOutput{}
  15195. req = c.newRequest(op, input, output)
  15196. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15197. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15198. return
  15199. }
  15200. // ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
  15201. //
  15202. // Modifies the specified attribute of the specified VPC.
  15203. //
  15204. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15205. // with awserr.Error's Code and Message methods to get detailed information about
  15206. // the error.
  15207. //
  15208. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15209. // API operation ModifyVpcAttribute for usage and error information.
  15210. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  15211. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  15212. req, out := c.ModifyVpcAttributeRequest(input)
  15213. return out, req.Send()
  15214. }
  15215. // ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
  15216. // the ability to pass a context and additional request options.
  15217. //
  15218. // See ModifyVpcAttribute for details on how to use this API operation.
  15219. //
  15220. // The context must be non-nil and will be used for request cancellation. If
  15221. // the context is nil a panic will occur. In the future the SDK may create
  15222. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15223. // for more information on using Contexts.
  15224. func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
  15225. req, out := c.ModifyVpcAttributeRequest(input)
  15226. req.SetContext(ctx)
  15227. req.ApplyOptions(opts...)
  15228. return out, req.Send()
  15229. }
  15230. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  15231. // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
  15232. // client's request for the ModifyVpcEndpoint operation. The "output" return
  15233. // value can be used to capture response data after the request's "Send" method
  15234. // is called.
  15235. //
  15236. // See ModifyVpcEndpoint for usage and error information.
  15237. //
  15238. // Creating a request object using this method should be used when you want to inject
  15239. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15240. // access properties on the request object before or after sending the request. If
  15241. // you just want the service response, call the ModifyVpcEndpoint method directly
  15242. // instead.
  15243. //
  15244. // Note: You must call the "Send" method on the returned request object in order
  15245. // to execute the request.
  15246. //
  15247. // // Example sending a request using the ModifyVpcEndpointRequest method.
  15248. // req, resp := client.ModifyVpcEndpointRequest(params)
  15249. //
  15250. // err := req.Send()
  15251. // if err == nil { // resp is now filled
  15252. // fmt.Println(resp)
  15253. // }
  15254. //
  15255. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  15256. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  15257. op := &request.Operation{
  15258. Name: opModifyVpcEndpoint,
  15259. HTTPMethod: "POST",
  15260. HTTPPath: "/",
  15261. }
  15262. if input == nil {
  15263. input = &ModifyVpcEndpointInput{}
  15264. }
  15265. output = &ModifyVpcEndpointOutput{}
  15266. req = c.newRequest(op, input, output)
  15267. return
  15268. }
  15269. // ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  15270. //
  15271. // Modifies attributes of a specified VPC endpoint. You can modify the policy
  15272. // associated with the endpoint, and you can add and remove route tables associated
  15273. // with the endpoint.
  15274. //
  15275. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15276. // with awserr.Error's Code and Message methods to get detailed information about
  15277. // the error.
  15278. //
  15279. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15280. // API operation ModifyVpcEndpoint for usage and error information.
  15281. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  15282. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  15283. req, out := c.ModifyVpcEndpointRequest(input)
  15284. return out, req.Send()
  15285. }
  15286. // ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
  15287. // the ability to pass a context and additional request options.
  15288. //
  15289. // See ModifyVpcEndpoint for details on how to use this API operation.
  15290. //
  15291. // The context must be non-nil and will be used for request cancellation. If
  15292. // the context is nil a panic will occur. In the future the SDK may create
  15293. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15294. // for more information on using Contexts.
  15295. func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
  15296. req, out := c.ModifyVpcEndpointRequest(input)
  15297. req.SetContext(ctx)
  15298. req.ApplyOptions(opts...)
  15299. return out, req.Send()
  15300. }
  15301. const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
  15302. // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
  15303. // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
  15304. // value can be used to capture response data after the request's "Send" method
  15305. // is called.
  15306. //
  15307. // See ModifyVpcPeeringConnectionOptions for usage and error information.
  15308. //
  15309. // Creating a request object using this method should be used when you want to inject
  15310. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15311. // access properties on the request object before or after sending the request. If
  15312. // you just want the service response, call the ModifyVpcPeeringConnectionOptions method directly
  15313. // instead.
  15314. //
  15315. // Note: You must call the "Send" method on the returned request object in order
  15316. // to execute the request.
  15317. //
  15318. // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
  15319. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
  15320. //
  15321. // err := req.Send()
  15322. // if err == nil { // resp is now filled
  15323. // fmt.Println(resp)
  15324. // }
  15325. //
  15326. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  15327. func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
  15328. op := &request.Operation{
  15329. Name: opModifyVpcPeeringConnectionOptions,
  15330. HTTPMethod: "POST",
  15331. HTTPPath: "/",
  15332. }
  15333. if input == nil {
  15334. input = &ModifyVpcPeeringConnectionOptionsInput{}
  15335. }
  15336. output = &ModifyVpcPeeringConnectionOptionsOutput{}
  15337. req = c.newRequest(op, input, output)
  15338. return
  15339. }
  15340. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
  15341. //
  15342. // Modifies the VPC peering connection options on one side of a VPC peering
  15343. // connection. You can do the following:
  15344. //
  15345. // * Enable/disable communication over the peering connection between an
  15346. // EC2-Classic instance that's linked to your VPC (using ClassicLink) and
  15347. // instances in the peer VPC.
  15348. //
  15349. // * Enable/disable communication over the peering connection between instances
  15350. // in your VPC and an EC2-Classic instance that's linked to the peer VPC.
  15351. //
  15352. // * Enable/disable a local VPC to resolve public DNS hostnames to private
  15353. // IP addresses when queried from instances in the peer VPC.
  15354. //
  15355. // If the peered VPCs are in different accounts, each owner must initiate a
  15356. // separate request to modify the peering connection options, depending on whether
  15357. // their VPC was the requester or accepter for the VPC peering connection. If
  15358. // the peered VPCs are in the same account, you can modify the requester and
  15359. // accepter options in the same request. To confirm which VPC is the accepter
  15360. // and requester for a VPC peering connection, use the DescribeVpcPeeringConnections
  15361. // command.
  15362. //
  15363. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15364. // with awserr.Error's Code and Message methods to get detailed information about
  15365. // the error.
  15366. //
  15367. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15368. // API operation ModifyVpcPeeringConnectionOptions for usage and error information.
  15369. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  15370. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  15371. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  15372. return out, req.Send()
  15373. }
  15374. // ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
  15375. // the ability to pass a context and additional request options.
  15376. //
  15377. // See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
  15378. //
  15379. // The context must be non-nil and will be used for request cancellation. If
  15380. // the context is nil a panic will occur. In the future the SDK may create
  15381. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15382. // for more information on using Contexts.
  15383. func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  15384. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  15385. req.SetContext(ctx)
  15386. req.ApplyOptions(opts...)
  15387. return out, req.Send()
  15388. }
  15389. const opMonitorInstances = "MonitorInstances"
  15390. // MonitorInstancesRequest generates a "aws/request.Request" representing the
  15391. // client's request for the MonitorInstances operation. The "output" return
  15392. // value can be used to capture response data after the request's "Send" method
  15393. // is called.
  15394. //
  15395. // See MonitorInstances for usage and error information.
  15396. //
  15397. // Creating a request object using this method should be used when you want to inject
  15398. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15399. // access properties on the request object before or after sending the request. If
  15400. // you just want the service response, call the MonitorInstances method directly
  15401. // instead.
  15402. //
  15403. // Note: You must call the "Send" method on the returned request object in order
  15404. // to execute the request.
  15405. //
  15406. // // Example sending a request using the MonitorInstancesRequest method.
  15407. // req, resp := client.MonitorInstancesRequest(params)
  15408. //
  15409. // err := req.Send()
  15410. // if err == nil { // resp is now filled
  15411. // fmt.Println(resp)
  15412. // }
  15413. //
  15414. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  15415. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  15416. op := &request.Operation{
  15417. Name: opMonitorInstances,
  15418. HTTPMethod: "POST",
  15419. HTTPPath: "/",
  15420. }
  15421. if input == nil {
  15422. input = &MonitorInstancesInput{}
  15423. }
  15424. output = &MonitorInstancesOutput{}
  15425. req = c.newRequest(op, input, output)
  15426. return
  15427. }
  15428. // MonitorInstances API operation for Amazon Elastic Compute Cloud.
  15429. //
  15430. // Enables detailed monitoring for a running instance. Otherwise, basic monitoring
  15431. // is enabled. For more information, see Monitoring Your Instances and Volumes
  15432. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  15433. // in the Amazon Elastic Compute Cloud User Guide.
  15434. //
  15435. // To disable detailed monitoring, see .
  15436. //
  15437. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15438. // with awserr.Error's Code and Message methods to get detailed information about
  15439. // the error.
  15440. //
  15441. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15442. // API operation MonitorInstances for usage and error information.
  15443. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  15444. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  15445. req, out := c.MonitorInstancesRequest(input)
  15446. return out, req.Send()
  15447. }
  15448. // MonitorInstancesWithContext is the same as MonitorInstances with the addition of
  15449. // the ability to pass a context and additional request options.
  15450. //
  15451. // See MonitorInstances for details on how to use this API operation.
  15452. //
  15453. // The context must be non-nil and will be used for request cancellation. If
  15454. // the context is nil a panic will occur. In the future the SDK may create
  15455. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15456. // for more information on using Contexts.
  15457. func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
  15458. req, out := c.MonitorInstancesRequest(input)
  15459. req.SetContext(ctx)
  15460. req.ApplyOptions(opts...)
  15461. return out, req.Send()
  15462. }
  15463. const opMoveAddressToVpc = "MoveAddressToVpc"
  15464. // MoveAddressToVpcRequest generates a "aws/request.Request" representing the
  15465. // client's request for the MoveAddressToVpc operation. The "output" return
  15466. // value can be used to capture response data after the request's "Send" method
  15467. // is called.
  15468. //
  15469. // See MoveAddressToVpc for usage and error information.
  15470. //
  15471. // Creating a request object using this method should be used when you want to inject
  15472. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15473. // access properties on the request object before or after sending the request. If
  15474. // you just want the service response, call the MoveAddressToVpc method directly
  15475. // instead.
  15476. //
  15477. // Note: You must call the "Send" method on the returned request object in order
  15478. // to execute the request.
  15479. //
  15480. // // Example sending a request using the MoveAddressToVpcRequest method.
  15481. // req, resp := client.MoveAddressToVpcRequest(params)
  15482. //
  15483. // err := req.Send()
  15484. // if err == nil { // resp is now filled
  15485. // fmt.Println(resp)
  15486. // }
  15487. //
  15488. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  15489. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  15490. op := &request.Operation{
  15491. Name: opMoveAddressToVpc,
  15492. HTTPMethod: "POST",
  15493. HTTPPath: "/",
  15494. }
  15495. if input == nil {
  15496. input = &MoveAddressToVpcInput{}
  15497. }
  15498. output = &MoveAddressToVpcOutput{}
  15499. req = c.newRequest(op, input, output)
  15500. return
  15501. }
  15502. // MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
  15503. //
  15504. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  15505. // platform. The Elastic IP address must be allocated to your account for more
  15506. // than 24 hours, and it must not be associated with an instance. After the
  15507. // Elastic IP address is moved, it is no longer available for use in the EC2-Classic
  15508. // platform, unless you move it back using the RestoreAddressToClassic request.
  15509. // You cannot move an Elastic IP address that was originally allocated for use
  15510. // in the EC2-VPC platform to the EC2-Classic platform.
  15511. //
  15512. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15513. // with awserr.Error's Code and Message methods to get detailed information about
  15514. // the error.
  15515. //
  15516. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15517. // API operation MoveAddressToVpc for usage and error information.
  15518. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  15519. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  15520. req, out := c.MoveAddressToVpcRequest(input)
  15521. return out, req.Send()
  15522. }
  15523. // MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
  15524. // the ability to pass a context and additional request options.
  15525. //
  15526. // See MoveAddressToVpc for details on how to use this API operation.
  15527. //
  15528. // The context must be non-nil and will be used for request cancellation. If
  15529. // the context is nil a panic will occur. In the future the SDK may create
  15530. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15531. // for more information on using Contexts.
  15532. func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
  15533. req, out := c.MoveAddressToVpcRequest(input)
  15534. req.SetContext(ctx)
  15535. req.ApplyOptions(opts...)
  15536. return out, req.Send()
  15537. }
  15538. const opPurchaseHostReservation = "PurchaseHostReservation"
  15539. // PurchaseHostReservationRequest generates a "aws/request.Request" representing the
  15540. // client's request for the PurchaseHostReservation operation. The "output" return
  15541. // value can be used to capture response data after the request's "Send" method
  15542. // is called.
  15543. //
  15544. // See PurchaseHostReservation for usage and error information.
  15545. //
  15546. // Creating a request object using this method should be used when you want to inject
  15547. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15548. // access properties on the request object before or after sending the request. If
  15549. // you just want the service response, call the PurchaseHostReservation method directly
  15550. // instead.
  15551. //
  15552. // Note: You must call the "Send" method on the returned request object in order
  15553. // to execute the request.
  15554. //
  15555. // // Example sending a request using the PurchaseHostReservationRequest method.
  15556. // req, resp := client.PurchaseHostReservationRequest(params)
  15557. //
  15558. // err := req.Send()
  15559. // if err == nil { // resp is now filled
  15560. // fmt.Println(resp)
  15561. // }
  15562. //
  15563. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  15564. func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
  15565. op := &request.Operation{
  15566. Name: opPurchaseHostReservation,
  15567. HTTPMethod: "POST",
  15568. HTTPPath: "/",
  15569. }
  15570. if input == nil {
  15571. input = &PurchaseHostReservationInput{}
  15572. }
  15573. output = &PurchaseHostReservationOutput{}
  15574. req = c.newRequest(op, input, output)
  15575. return
  15576. }
  15577. // PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
  15578. //
  15579. // Purchase a reservation with configurations that match those of your Dedicated
  15580. // Host. You must have active Dedicated Hosts in your account before you purchase
  15581. // a reservation. This action results in the specified reservation being purchased
  15582. // and charged to your account.
  15583. //
  15584. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15585. // with awserr.Error's Code and Message methods to get detailed information about
  15586. // the error.
  15587. //
  15588. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15589. // API operation PurchaseHostReservation for usage and error information.
  15590. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  15591. func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
  15592. req, out := c.PurchaseHostReservationRequest(input)
  15593. return out, req.Send()
  15594. }
  15595. // PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
  15596. // the ability to pass a context and additional request options.
  15597. //
  15598. // See PurchaseHostReservation for details on how to use this API operation.
  15599. //
  15600. // The context must be non-nil and will be used for request cancellation. If
  15601. // the context is nil a panic will occur. In the future the SDK may create
  15602. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15603. // for more information on using Contexts.
  15604. func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
  15605. req, out := c.PurchaseHostReservationRequest(input)
  15606. req.SetContext(ctx)
  15607. req.ApplyOptions(opts...)
  15608. return out, req.Send()
  15609. }
  15610. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  15611. // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
  15612. // client's request for the PurchaseReservedInstancesOffering operation. The "output" return
  15613. // value can be used to capture response data after the request's "Send" method
  15614. // is called.
  15615. //
  15616. // See PurchaseReservedInstancesOffering for usage and error information.
  15617. //
  15618. // Creating a request object using this method should be used when you want to inject
  15619. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15620. // access properties on the request object before or after sending the request. If
  15621. // you just want the service response, call the PurchaseReservedInstancesOffering method directly
  15622. // instead.
  15623. //
  15624. // Note: You must call the "Send" method on the returned request object in order
  15625. // to execute the request.
  15626. //
  15627. // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
  15628. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
  15629. //
  15630. // err := req.Send()
  15631. // if err == nil { // resp is now filled
  15632. // fmt.Println(resp)
  15633. // }
  15634. //
  15635. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  15636. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  15637. op := &request.Operation{
  15638. Name: opPurchaseReservedInstancesOffering,
  15639. HTTPMethod: "POST",
  15640. HTTPPath: "/",
  15641. }
  15642. if input == nil {
  15643. input = &PurchaseReservedInstancesOfferingInput{}
  15644. }
  15645. output = &PurchaseReservedInstancesOfferingOutput{}
  15646. req = c.newRequest(op, input, output)
  15647. return
  15648. }
  15649. // PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
  15650. //
  15651. // Purchases a Reserved Instance for use with your account. With Reserved Instances,
  15652. // you pay a lower hourly rate compared to On-Demand instance pricing.
  15653. //
  15654. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  15655. // offerings that match your specifications. After you've purchased a Reserved
  15656. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  15657. //
  15658. // For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  15659. // and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  15660. // in the Amazon Elastic Compute Cloud User Guide.
  15661. //
  15662. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15663. // with awserr.Error's Code and Message methods to get detailed information about
  15664. // the error.
  15665. //
  15666. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15667. // API operation PurchaseReservedInstancesOffering for usage and error information.
  15668. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  15669. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  15670. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  15671. return out, req.Send()
  15672. }
  15673. // PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
  15674. // the ability to pass a context and additional request options.
  15675. //
  15676. // See PurchaseReservedInstancesOffering for details on how to use this API operation.
  15677. //
  15678. // The context must be non-nil and will be used for request cancellation. If
  15679. // the context is nil a panic will occur. In the future the SDK may create
  15680. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15681. // for more information on using Contexts.
  15682. func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
  15683. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  15684. req.SetContext(ctx)
  15685. req.ApplyOptions(opts...)
  15686. return out, req.Send()
  15687. }
  15688. const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
  15689. // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
  15690. // client's request for the PurchaseScheduledInstances operation. The "output" return
  15691. // value can be used to capture response data after the request's "Send" method
  15692. // is called.
  15693. //
  15694. // See PurchaseScheduledInstances for usage and error information.
  15695. //
  15696. // Creating a request object using this method should be used when you want to inject
  15697. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15698. // access properties on the request object before or after sending the request. If
  15699. // you just want the service response, call the PurchaseScheduledInstances method directly
  15700. // instead.
  15701. //
  15702. // Note: You must call the "Send" method on the returned request object in order
  15703. // to execute the request.
  15704. //
  15705. // // Example sending a request using the PurchaseScheduledInstancesRequest method.
  15706. // req, resp := client.PurchaseScheduledInstancesRequest(params)
  15707. //
  15708. // err := req.Send()
  15709. // if err == nil { // resp is now filled
  15710. // fmt.Println(resp)
  15711. // }
  15712. //
  15713. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  15714. func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
  15715. op := &request.Operation{
  15716. Name: opPurchaseScheduledInstances,
  15717. HTTPMethod: "POST",
  15718. HTTPPath: "/",
  15719. }
  15720. if input == nil {
  15721. input = &PurchaseScheduledInstancesInput{}
  15722. }
  15723. output = &PurchaseScheduledInstancesOutput{}
  15724. req = c.newRequest(op, input, output)
  15725. return
  15726. }
  15727. // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
  15728. //
  15729. // Purchases one or more Scheduled Instances with the specified schedule.
  15730. //
  15731. // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
  15732. // the hour for a one-year term. Before you can purchase a Scheduled Instance,
  15733. // you must call DescribeScheduledInstanceAvailability to check for available
  15734. // schedules and obtain a purchase token. After you purchase a Scheduled Instance,
  15735. // you must call RunScheduledInstances during each scheduled time period.
  15736. //
  15737. // After you purchase a Scheduled Instance, you can't cancel, modify, or resell
  15738. // your purchase.
  15739. //
  15740. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15741. // with awserr.Error's Code and Message methods to get detailed information about
  15742. // the error.
  15743. //
  15744. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15745. // API operation PurchaseScheduledInstances for usage and error information.
  15746. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  15747. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
  15748. req, out := c.PurchaseScheduledInstancesRequest(input)
  15749. return out, req.Send()
  15750. }
  15751. // PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
  15752. // the ability to pass a context and additional request options.
  15753. //
  15754. // See PurchaseScheduledInstances for details on how to use this API operation.
  15755. //
  15756. // The context must be non-nil and will be used for request cancellation. If
  15757. // the context is nil a panic will occur. In the future the SDK may create
  15758. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15759. // for more information on using Contexts.
  15760. func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
  15761. req, out := c.PurchaseScheduledInstancesRequest(input)
  15762. req.SetContext(ctx)
  15763. req.ApplyOptions(opts...)
  15764. return out, req.Send()
  15765. }
  15766. const opRebootInstances = "RebootInstances"
  15767. // RebootInstancesRequest generates a "aws/request.Request" representing the
  15768. // client's request for the RebootInstances operation. The "output" return
  15769. // value can be used to capture response data after the request's "Send" method
  15770. // is called.
  15771. //
  15772. // See RebootInstances for usage and error information.
  15773. //
  15774. // Creating a request object using this method should be used when you want to inject
  15775. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15776. // access properties on the request object before or after sending the request. If
  15777. // you just want the service response, call the RebootInstances method directly
  15778. // instead.
  15779. //
  15780. // Note: You must call the "Send" method on the returned request object in order
  15781. // to execute the request.
  15782. //
  15783. // // Example sending a request using the RebootInstancesRequest method.
  15784. // req, resp := client.RebootInstancesRequest(params)
  15785. //
  15786. // err := req.Send()
  15787. // if err == nil { // resp is now filled
  15788. // fmt.Println(resp)
  15789. // }
  15790. //
  15791. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  15792. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  15793. op := &request.Operation{
  15794. Name: opRebootInstances,
  15795. HTTPMethod: "POST",
  15796. HTTPPath: "/",
  15797. }
  15798. if input == nil {
  15799. input = &RebootInstancesInput{}
  15800. }
  15801. output = &RebootInstancesOutput{}
  15802. req = c.newRequest(op, input, output)
  15803. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15804. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15805. return
  15806. }
  15807. // RebootInstances API operation for Amazon Elastic Compute Cloud.
  15808. //
  15809. // Requests a reboot of one or more instances. This operation is asynchronous;
  15810. // it only queues a request to reboot the specified instances. The operation
  15811. // succeeds if the instances are valid and belong to you. Requests to reboot
  15812. // terminated instances are ignored.
  15813. //
  15814. // If an instance does not cleanly shut down within four minutes, Amazon EC2
  15815. // performs a hard reboot.
  15816. //
  15817. // For more information about troubleshooting, see Getting Console Output and
  15818. // Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  15819. // in the Amazon Elastic Compute Cloud User Guide.
  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 RebootInstances for usage and error information.
  15827. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  15828. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  15829. req, out := c.RebootInstancesRequest(input)
  15830. return out, req.Send()
  15831. }
  15832. // RebootInstancesWithContext is the same as RebootInstances with the addition of
  15833. // the ability to pass a context and additional request options.
  15834. //
  15835. // See RebootInstances 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) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
  15842. req, out := c.RebootInstancesRequest(input)
  15843. req.SetContext(ctx)
  15844. req.ApplyOptions(opts...)
  15845. return out, req.Send()
  15846. }
  15847. const opRegisterImage = "RegisterImage"
  15848. // RegisterImageRequest generates a "aws/request.Request" representing the
  15849. // client's request for the RegisterImage 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 RegisterImage 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 RegisterImage 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 RegisterImageRequest method.
  15865. // req, resp := client.RegisterImageRequest(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/RegisterImage
  15873. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  15874. op := &request.Operation{
  15875. Name: opRegisterImage,
  15876. HTTPMethod: "POST",
  15877. HTTPPath: "/",
  15878. }
  15879. if input == nil {
  15880. input = &RegisterImageInput{}
  15881. }
  15882. output = &RegisterImageOutput{}
  15883. req = c.newRequest(op, input, output)
  15884. return
  15885. }
  15886. // RegisterImage API operation for Amazon Elastic Compute Cloud.
  15887. //
  15888. // Registers an AMI. When you're creating an AMI, this is the final step you
  15889. // must complete before you can launch an instance from the AMI. For more information
  15890. // about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  15891. // in the Amazon Elastic Compute Cloud User Guide.
  15892. //
  15893. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  15894. // in a single request, so you don't have to register the AMI yourself.
  15895. //
  15896. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
  15897. // a snapshot of a root device volume. You specify the snapshot using the block
  15898. // device mapping. For more information, see Launching a Linux Instance from
  15899. // a Backup (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
  15900. // in the Amazon Elastic Compute Cloud User Guide.
  15901. //
  15902. // You can't register an image where a secondary (non-root) snapshot has AWS
  15903. // Marketplace product codes.
  15904. //
  15905. // Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
  15906. // Linux Enterprise Server (SLES), use the EC2 billing product code associated
  15907. // with an AMI to verify the subscription status for package updates. Creating
  15908. // an AMI from an EBS snapshot does not maintain this billing code, and subsequent
  15909. // instances launched from such an AMI will not be able to connect to package
  15910. // update infrastructure. To create an AMI that must retain billing codes, see
  15911. // CreateImage.
  15912. //
  15913. // If needed, you can deregister an AMI at any time. Any modifications you make
  15914. // to an AMI backed by an instance store volume invalidates its registration.
  15915. // If you make changes to an image, deregister the previous image and register
  15916. // the new image.
  15917. //
  15918. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15919. // with awserr.Error's Code and Message methods to get detailed information about
  15920. // the error.
  15921. //
  15922. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15923. // API operation RegisterImage for usage and error information.
  15924. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  15925. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  15926. req, out := c.RegisterImageRequest(input)
  15927. return out, req.Send()
  15928. }
  15929. // RegisterImageWithContext is the same as RegisterImage with the addition of
  15930. // the ability to pass a context and additional request options.
  15931. //
  15932. // See RegisterImage for details on how to use this API operation.
  15933. //
  15934. // The context must be non-nil and will be used for request cancellation. If
  15935. // the context is nil a panic will occur. In the future the SDK may create
  15936. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15937. // for more information on using Contexts.
  15938. func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
  15939. req, out := c.RegisterImageRequest(input)
  15940. req.SetContext(ctx)
  15941. req.ApplyOptions(opts...)
  15942. return out, req.Send()
  15943. }
  15944. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  15945. // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  15946. // client's request for the RejectVpcPeeringConnection operation. The "output" return
  15947. // value can be used to capture response data after the request's "Send" method
  15948. // is called.
  15949. //
  15950. // See RejectVpcPeeringConnection for usage and error information.
  15951. //
  15952. // Creating a request object using this method should be used when you want to inject
  15953. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15954. // access properties on the request object before or after sending the request. If
  15955. // you just want the service response, call the RejectVpcPeeringConnection method directly
  15956. // instead.
  15957. //
  15958. // Note: You must call the "Send" method on the returned request object in order
  15959. // to execute the request.
  15960. //
  15961. // // Example sending a request using the RejectVpcPeeringConnectionRequest method.
  15962. // req, resp := client.RejectVpcPeeringConnectionRequest(params)
  15963. //
  15964. // err := req.Send()
  15965. // if err == nil { // resp is now filled
  15966. // fmt.Println(resp)
  15967. // }
  15968. //
  15969. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  15970. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  15971. op := &request.Operation{
  15972. Name: opRejectVpcPeeringConnection,
  15973. HTTPMethod: "POST",
  15974. HTTPPath: "/",
  15975. }
  15976. if input == nil {
  15977. input = &RejectVpcPeeringConnectionInput{}
  15978. }
  15979. output = &RejectVpcPeeringConnectionOutput{}
  15980. req = c.newRequest(op, input, output)
  15981. return
  15982. }
  15983. // RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  15984. //
  15985. // Rejects a VPC peering connection request. The VPC peering connection must
  15986. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  15987. // request to view your outstanding VPC peering connection requests. To delete
  15988. // an active VPC peering connection, or to delete a VPC peering connection request
  15989. // that you initiated, use DeleteVpcPeeringConnection.
  15990. //
  15991. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15992. // with awserr.Error's Code and Message methods to get detailed information about
  15993. // the error.
  15994. //
  15995. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15996. // API operation RejectVpcPeeringConnection for usage and error information.
  15997. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  15998. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  15999. req, out := c.RejectVpcPeeringConnectionRequest(input)
  16000. return out, req.Send()
  16001. }
  16002. // RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
  16003. // the ability to pass a context and additional request options.
  16004. //
  16005. // See RejectVpcPeeringConnection for details on how to use this API operation.
  16006. //
  16007. // The context must be non-nil and will be used for request cancellation. If
  16008. // the context is nil a panic will occur. In the future the SDK may create
  16009. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16010. // for more information on using Contexts.
  16011. func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
  16012. req, out := c.RejectVpcPeeringConnectionRequest(input)
  16013. req.SetContext(ctx)
  16014. req.ApplyOptions(opts...)
  16015. return out, req.Send()
  16016. }
  16017. const opReleaseAddress = "ReleaseAddress"
  16018. // ReleaseAddressRequest generates a "aws/request.Request" representing the
  16019. // client's request for the ReleaseAddress operation. The "output" return
  16020. // value can be used to capture response data after the request's "Send" method
  16021. // is called.
  16022. //
  16023. // See ReleaseAddress for usage and error information.
  16024. //
  16025. // Creating a request object using this method should be used when you want to inject
  16026. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16027. // access properties on the request object before or after sending the request. If
  16028. // you just want the service response, call the ReleaseAddress method directly
  16029. // instead.
  16030. //
  16031. // Note: You must call the "Send" method on the returned request object in order
  16032. // to execute the request.
  16033. //
  16034. // // Example sending a request using the ReleaseAddressRequest method.
  16035. // req, resp := client.ReleaseAddressRequest(params)
  16036. //
  16037. // err := req.Send()
  16038. // if err == nil { // resp is now filled
  16039. // fmt.Println(resp)
  16040. // }
  16041. //
  16042. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  16043. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  16044. op := &request.Operation{
  16045. Name: opReleaseAddress,
  16046. HTTPMethod: "POST",
  16047. HTTPPath: "/",
  16048. }
  16049. if input == nil {
  16050. input = &ReleaseAddressInput{}
  16051. }
  16052. output = &ReleaseAddressOutput{}
  16053. req = c.newRequest(op, input, output)
  16054. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16055. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16056. return
  16057. }
  16058. // ReleaseAddress API operation for Amazon Elastic Compute Cloud.
  16059. //
  16060. // Releases the specified Elastic IP address.
  16061. //
  16062. // After releasing an Elastic IP address, it is released to the IP address pool
  16063. // and might be unavailable to you. Be sure to update your DNS records and any
  16064. // servers or devices that communicate with the address. If you attempt to release
  16065. // an Elastic IP address that you already released, you'll get an AuthFailure
  16066. // error if the address is already allocated to another AWS account.
  16067. //
  16068. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  16069. // disassociates it from any instance that it's associated with. To disassociate
  16070. // an Elastic IP address without releasing it, use DisassociateAddress.
  16071. //
  16072. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  16073. // IP address before you try to release it. Otherwise, Amazon EC2 returns an
  16074. // error (InvalidIPAddress.InUse).
  16075. //
  16076. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16077. // with awserr.Error's Code and Message methods to get detailed information about
  16078. // the error.
  16079. //
  16080. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16081. // API operation ReleaseAddress for usage and error information.
  16082. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  16083. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  16084. req, out := c.ReleaseAddressRequest(input)
  16085. return out, req.Send()
  16086. }
  16087. // ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
  16088. // the ability to pass a context and additional request options.
  16089. //
  16090. // See ReleaseAddress for details on how to use this API operation.
  16091. //
  16092. // The context must be non-nil and will be used for request cancellation. If
  16093. // the context is nil a panic will occur. In the future the SDK may create
  16094. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16095. // for more information on using Contexts.
  16096. func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
  16097. req, out := c.ReleaseAddressRequest(input)
  16098. req.SetContext(ctx)
  16099. req.ApplyOptions(opts...)
  16100. return out, req.Send()
  16101. }
  16102. const opReleaseHosts = "ReleaseHosts"
  16103. // ReleaseHostsRequest generates a "aws/request.Request" representing the
  16104. // client's request for the ReleaseHosts operation. The "output" return
  16105. // value can be used to capture response data after the request's "Send" method
  16106. // is called.
  16107. //
  16108. // See ReleaseHosts for usage and error information.
  16109. //
  16110. // Creating a request object using this method should be used when you want to inject
  16111. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16112. // access properties on the request object before or after sending the request. If
  16113. // you just want the service response, call the ReleaseHosts method directly
  16114. // instead.
  16115. //
  16116. // Note: You must call the "Send" method on the returned request object in order
  16117. // to execute the request.
  16118. //
  16119. // // Example sending a request using the ReleaseHostsRequest method.
  16120. // req, resp := client.ReleaseHostsRequest(params)
  16121. //
  16122. // err := req.Send()
  16123. // if err == nil { // resp is now filled
  16124. // fmt.Println(resp)
  16125. // }
  16126. //
  16127. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  16128. func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
  16129. op := &request.Operation{
  16130. Name: opReleaseHosts,
  16131. HTTPMethod: "POST",
  16132. HTTPPath: "/",
  16133. }
  16134. if input == nil {
  16135. input = &ReleaseHostsInput{}
  16136. }
  16137. output = &ReleaseHostsOutput{}
  16138. req = c.newRequest(op, input, output)
  16139. return
  16140. }
  16141. // ReleaseHosts API operation for Amazon Elastic Compute Cloud.
  16142. //
  16143. // When you no longer want to use an On-Demand Dedicated Host it can be released.
  16144. // On-Demand billing is stopped and the host goes into released state. The host
  16145. // ID of Dedicated Hosts that have been released can no longer be specified
  16146. // in another request, e.g., ModifyHosts. You must stop or terminate all instances
  16147. // on a host before it can be released.
  16148. //
  16149. // When Dedicated Hosts are released, it make take some time for them to stop
  16150. // counting toward your limit and you may receive capacity errors when trying
  16151. // to allocate new Dedicated hosts. Try waiting a few minutes, and then try
  16152. // again.
  16153. //
  16154. // Released hosts will still appear in a DescribeHosts response.
  16155. //
  16156. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16157. // with awserr.Error's Code and Message methods to get detailed information about
  16158. // the error.
  16159. //
  16160. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16161. // API operation ReleaseHosts for usage and error information.
  16162. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  16163. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
  16164. req, out := c.ReleaseHostsRequest(input)
  16165. return out, req.Send()
  16166. }
  16167. // ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
  16168. // the ability to pass a context and additional request options.
  16169. //
  16170. // See ReleaseHosts for details on how to use this API operation.
  16171. //
  16172. // The context must be non-nil and will be used for request cancellation. If
  16173. // the context is nil a panic will occur. In the future the SDK may create
  16174. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16175. // for more information on using Contexts.
  16176. func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
  16177. req, out := c.ReleaseHostsRequest(input)
  16178. req.SetContext(ctx)
  16179. req.ApplyOptions(opts...)
  16180. return out, req.Send()
  16181. }
  16182. const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
  16183. // ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
  16184. // client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
  16185. // value can be used to capture response data after the request's "Send" method
  16186. // is called.
  16187. //
  16188. // See ReplaceIamInstanceProfileAssociation for usage and error information.
  16189. //
  16190. // Creating a request object using this method should be used when you want to inject
  16191. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16192. // access properties on the request object before or after sending the request. If
  16193. // you just want the service response, call the ReplaceIamInstanceProfileAssociation method directly
  16194. // instead.
  16195. //
  16196. // Note: You must call the "Send" method on the returned request object in order
  16197. // to execute the request.
  16198. //
  16199. // // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
  16200. // req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
  16201. //
  16202. // err := req.Send()
  16203. // if err == nil { // resp is now filled
  16204. // fmt.Println(resp)
  16205. // }
  16206. //
  16207. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  16208. func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
  16209. op := &request.Operation{
  16210. Name: opReplaceIamInstanceProfileAssociation,
  16211. HTTPMethod: "POST",
  16212. HTTPPath: "/",
  16213. }
  16214. if input == nil {
  16215. input = &ReplaceIamInstanceProfileAssociationInput{}
  16216. }
  16217. output = &ReplaceIamInstanceProfileAssociationOutput{}
  16218. req = c.newRequest(op, input, output)
  16219. return
  16220. }
  16221. // ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
  16222. //
  16223. // Replaces an IAM instance profile for the specified running instance. You
  16224. // can use this action to change the IAM instance profile that's associated
  16225. // with an instance without having to disassociate the existing IAM instance
  16226. // profile first.
  16227. //
  16228. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  16229. //
  16230. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16231. // with awserr.Error's Code and Message methods to get detailed information about
  16232. // the error.
  16233. //
  16234. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16235. // API operation ReplaceIamInstanceProfileAssociation for usage and error information.
  16236. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  16237. func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  16238. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  16239. return out, req.Send()
  16240. }
  16241. // ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
  16242. // the ability to pass a context and additional request options.
  16243. //
  16244. // See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
  16245. //
  16246. // The context must be non-nil and will be used for request cancellation. If
  16247. // the context is nil a panic will occur. In the future the SDK may create
  16248. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16249. // for more information on using Contexts.
  16250. func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  16251. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  16252. req.SetContext(ctx)
  16253. req.ApplyOptions(opts...)
  16254. return out, req.Send()
  16255. }
  16256. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  16257. // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
  16258. // client's request for the ReplaceNetworkAclAssociation operation. The "output" return
  16259. // value can be used to capture response data after the request's "Send" method
  16260. // is called.
  16261. //
  16262. // See ReplaceNetworkAclAssociation for usage and error information.
  16263. //
  16264. // Creating a request object using this method should be used when you want to inject
  16265. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16266. // access properties on the request object before or after sending the request. If
  16267. // you just want the service response, call the ReplaceNetworkAclAssociation method directly
  16268. // instead.
  16269. //
  16270. // Note: You must call the "Send" method on the returned request object in order
  16271. // to execute the request.
  16272. //
  16273. // // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
  16274. // req, resp := client.ReplaceNetworkAclAssociationRequest(params)
  16275. //
  16276. // err := req.Send()
  16277. // if err == nil { // resp is now filled
  16278. // fmt.Println(resp)
  16279. // }
  16280. //
  16281. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  16282. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  16283. op := &request.Operation{
  16284. Name: opReplaceNetworkAclAssociation,
  16285. HTTPMethod: "POST",
  16286. HTTPPath: "/",
  16287. }
  16288. if input == nil {
  16289. input = &ReplaceNetworkAclAssociationInput{}
  16290. }
  16291. output = &ReplaceNetworkAclAssociationOutput{}
  16292. req = c.newRequest(op, input, output)
  16293. return
  16294. }
  16295. // ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
  16296. //
  16297. // Changes which network ACL a subnet is associated with. By default when you
  16298. // create a subnet, it's automatically associated with the default network ACL.
  16299. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  16300. // in the Amazon Virtual Private Cloud User Guide.
  16301. //
  16302. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16303. // with awserr.Error's Code and Message methods to get detailed information about
  16304. // the error.
  16305. //
  16306. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16307. // API operation ReplaceNetworkAclAssociation for usage and error information.
  16308. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  16309. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  16310. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  16311. return out, req.Send()
  16312. }
  16313. // ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
  16314. // the ability to pass a context and additional request options.
  16315. //
  16316. // See ReplaceNetworkAclAssociation for details on how to use this API operation.
  16317. //
  16318. // The context must be non-nil and will be used for request cancellation. If
  16319. // the context is nil a panic will occur. In the future the SDK may create
  16320. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16321. // for more information on using Contexts.
  16322. func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
  16323. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  16324. req.SetContext(ctx)
  16325. req.ApplyOptions(opts...)
  16326. return out, req.Send()
  16327. }
  16328. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  16329. // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
  16330. // client's request for the ReplaceNetworkAclEntry operation. The "output" return
  16331. // value can be used to capture response data after the request's "Send" method
  16332. // is called.
  16333. //
  16334. // See ReplaceNetworkAclEntry for usage and error information.
  16335. //
  16336. // Creating a request object using this method should be used when you want to inject
  16337. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16338. // access properties on the request object before or after sending the request. If
  16339. // you just want the service response, call the ReplaceNetworkAclEntry method directly
  16340. // instead.
  16341. //
  16342. // Note: You must call the "Send" method on the returned request object in order
  16343. // to execute the request.
  16344. //
  16345. // // Example sending a request using the ReplaceNetworkAclEntryRequest method.
  16346. // req, resp := client.ReplaceNetworkAclEntryRequest(params)
  16347. //
  16348. // err := req.Send()
  16349. // if err == nil { // resp is now filled
  16350. // fmt.Println(resp)
  16351. // }
  16352. //
  16353. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  16354. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  16355. op := &request.Operation{
  16356. Name: opReplaceNetworkAclEntry,
  16357. HTTPMethod: "POST",
  16358. HTTPPath: "/",
  16359. }
  16360. if input == nil {
  16361. input = &ReplaceNetworkAclEntryInput{}
  16362. }
  16363. output = &ReplaceNetworkAclEntryOutput{}
  16364. req = c.newRequest(op, input, output)
  16365. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16366. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16367. return
  16368. }
  16369. // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  16370. //
  16371. // Replaces an entry (rule) in a network ACL. For more information about network
  16372. // ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  16373. // in the Amazon Virtual Private Cloud User Guide.
  16374. //
  16375. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16376. // with awserr.Error's Code and Message methods to get detailed information about
  16377. // the error.
  16378. //
  16379. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16380. // API operation ReplaceNetworkAclEntry for usage and error information.
  16381. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  16382. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  16383. req, out := c.ReplaceNetworkAclEntryRequest(input)
  16384. return out, req.Send()
  16385. }
  16386. // ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
  16387. // the ability to pass a context and additional request options.
  16388. //
  16389. // See ReplaceNetworkAclEntry for details on how to use this API operation.
  16390. //
  16391. // The context must be non-nil and will be used for request cancellation. If
  16392. // the context is nil a panic will occur. In the future the SDK may create
  16393. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16394. // for more information on using Contexts.
  16395. func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
  16396. req, out := c.ReplaceNetworkAclEntryRequest(input)
  16397. req.SetContext(ctx)
  16398. req.ApplyOptions(opts...)
  16399. return out, req.Send()
  16400. }
  16401. const opReplaceRoute = "ReplaceRoute"
  16402. // ReplaceRouteRequest generates a "aws/request.Request" representing the
  16403. // client's request for the ReplaceRoute operation. The "output" return
  16404. // value can be used to capture response data after the request's "Send" method
  16405. // is called.
  16406. //
  16407. // See ReplaceRoute for usage and error information.
  16408. //
  16409. // Creating a request object using this method should be used when you want to inject
  16410. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16411. // access properties on the request object before or after sending the request. If
  16412. // you just want the service response, call the ReplaceRoute method directly
  16413. // instead.
  16414. //
  16415. // Note: You must call the "Send" method on the returned request object in order
  16416. // to execute the request.
  16417. //
  16418. // // Example sending a request using the ReplaceRouteRequest method.
  16419. // req, resp := client.ReplaceRouteRequest(params)
  16420. //
  16421. // err := req.Send()
  16422. // if err == nil { // resp is now filled
  16423. // fmt.Println(resp)
  16424. // }
  16425. //
  16426. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  16427. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  16428. op := &request.Operation{
  16429. Name: opReplaceRoute,
  16430. HTTPMethod: "POST",
  16431. HTTPPath: "/",
  16432. }
  16433. if input == nil {
  16434. input = &ReplaceRouteInput{}
  16435. }
  16436. output = &ReplaceRouteOutput{}
  16437. req = c.newRequest(op, input, output)
  16438. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16439. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16440. return
  16441. }
  16442. // ReplaceRoute API operation for Amazon Elastic Compute Cloud.
  16443. //
  16444. // Replaces an existing route within a route table in a VPC. You must provide
  16445. // only one of the following: Internet gateway or virtual private gateway, NAT
  16446. // instance, NAT gateway, VPC peering connection, network interface, or egress-only
  16447. // Internet gateway.
  16448. //
  16449. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  16450. // in the Amazon Virtual Private Cloud User Guide.
  16451. //
  16452. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16453. // with awserr.Error's Code and Message methods to get detailed information about
  16454. // the error.
  16455. //
  16456. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16457. // API operation ReplaceRoute for usage and error information.
  16458. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  16459. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  16460. req, out := c.ReplaceRouteRequest(input)
  16461. return out, req.Send()
  16462. }
  16463. // ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
  16464. // the ability to pass a context and additional request options.
  16465. //
  16466. // See ReplaceRoute for details on how to use this API operation.
  16467. //
  16468. // The context must be non-nil and will be used for request cancellation. If
  16469. // the context is nil a panic will occur. In the future the SDK may create
  16470. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16471. // for more information on using Contexts.
  16472. func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
  16473. req, out := c.ReplaceRouteRequest(input)
  16474. req.SetContext(ctx)
  16475. req.ApplyOptions(opts...)
  16476. return out, req.Send()
  16477. }
  16478. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  16479. // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
  16480. // client's request for the ReplaceRouteTableAssociation operation. The "output" return
  16481. // value can be used to capture response data after the request's "Send" method
  16482. // is called.
  16483. //
  16484. // See ReplaceRouteTableAssociation for usage and error information.
  16485. //
  16486. // Creating a request object using this method should be used when you want to inject
  16487. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16488. // access properties on the request object before or after sending the request. If
  16489. // you just want the service response, call the ReplaceRouteTableAssociation method directly
  16490. // instead.
  16491. //
  16492. // Note: You must call the "Send" method on the returned request object in order
  16493. // to execute the request.
  16494. //
  16495. // // Example sending a request using the ReplaceRouteTableAssociationRequest method.
  16496. // req, resp := client.ReplaceRouteTableAssociationRequest(params)
  16497. //
  16498. // err := req.Send()
  16499. // if err == nil { // resp is now filled
  16500. // fmt.Println(resp)
  16501. // }
  16502. //
  16503. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  16504. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  16505. op := &request.Operation{
  16506. Name: opReplaceRouteTableAssociation,
  16507. HTTPMethod: "POST",
  16508. HTTPPath: "/",
  16509. }
  16510. if input == nil {
  16511. input = &ReplaceRouteTableAssociationInput{}
  16512. }
  16513. output = &ReplaceRouteTableAssociationOutput{}
  16514. req = c.newRequest(op, input, output)
  16515. return
  16516. }
  16517. // ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
  16518. //
  16519. // Changes the route table associated with a given subnet in a VPC. After the
  16520. // operation completes, the subnet uses the routes in the new route table it's
  16521. // associated with. For more information about route tables, see Route Tables
  16522. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  16523. // in the Amazon Virtual Private Cloud User Guide.
  16524. //
  16525. // You can also use ReplaceRouteTableAssociation to change which table is the
  16526. // main route table in the VPC. You just specify the main route table's association
  16527. // ID and the route table to be the new main route table.
  16528. //
  16529. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16530. // with awserr.Error's Code and Message methods to get detailed information about
  16531. // the error.
  16532. //
  16533. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16534. // API operation ReplaceRouteTableAssociation for usage and error information.
  16535. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  16536. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  16537. req, out := c.ReplaceRouteTableAssociationRequest(input)
  16538. return out, req.Send()
  16539. }
  16540. // ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
  16541. // the ability to pass a context and additional request options.
  16542. //
  16543. // See ReplaceRouteTableAssociation for details on how to use this API operation.
  16544. //
  16545. // The context must be non-nil and will be used for request cancellation. If
  16546. // the context is nil a panic will occur. In the future the SDK may create
  16547. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16548. // for more information on using Contexts.
  16549. func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
  16550. req, out := c.ReplaceRouteTableAssociationRequest(input)
  16551. req.SetContext(ctx)
  16552. req.ApplyOptions(opts...)
  16553. return out, req.Send()
  16554. }
  16555. const opReportInstanceStatus = "ReportInstanceStatus"
  16556. // ReportInstanceStatusRequest generates a "aws/request.Request" representing the
  16557. // client's request for the ReportInstanceStatus operation. The "output" return
  16558. // value can be used to capture response data after the request's "Send" method
  16559. // is called.
  16560. //
  16561. // See ReportInstanceStatus for usage and error information.
  16562. //
  16563. // Creating a request object using this method should be used when you want to inject
  16564. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16565. // access properties on the request object before or after sending the request. If
  16566. // you just want the service response, call the ReportInstanceStatus method directly
  16567. // instead.
  16568. //
  16569. // Note: You must call the "Send" method on the returned request object in order
  16570. // to execute the request.
  16571. //
  16572. // // Example sending a request using the ReportInstanceStatusRequest method.
  16573. // req, resp := client.ReportInstanceStatusRequest(params)
  16574. //
  16575. // err := req.Send()
  16576. // if err == nil { // resp is now filled
  16577. // fmt.Println(resp)
  16578. // }
  16579. //
  16580. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  16581. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  16582. op := &request.Operation{
  16583. Name: opReportInstanceStatus,
  16584. HTTPMethod: "POST",
  16585. HTTPPath: "/",
  16586. }
  16587. if input == nil {
  16588. input = &ReportInstanceStatusInput{}
  16589. }
  16590. output = &ReportInstanceStatusOutput{}
  16591. req = c.newRequest(op, input, output)
  16592. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16593. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16594. return
  16595. }
  16596. // ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
  16597. //
  16598. // Submits feedback about the status of an instance. The instance must be in
  16599. // the running state. If your experience with the instance differs from the
  16600. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  16601. // to report your experience with the instance. Amazon EC2 collects this information
  16602. // to improve the accuracy of status checks.
  16603. //
  16604. // Use of this action does not change the value returned by DescribeInstanceStatus.
  16605. //
  16606. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16607. // with awserr.Error's Code and Message methods to get detailed information about
  16608. // the error.
  16609. //
  16610. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16611. // API operation ReportInstanceStatus for usage and error information.
  16612. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  16613. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  16614. req, out := c.ReportInstanceStatusRequest(input)
  16615. return out, req.Send()
  16616. }
  16617. // ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
  16618. // the ability to pass a context and additional request options.
  16619. //
  16620. // See ReportInstanceStatus for details on how to use this API operation.
  16621. //
  16622. // The context must be non-nil and will be used for request cancellation. If
  16623. // the context is nil a panic will occur. In the future the SDK may create
  16624. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16625. // for more information on using Contexts.
  16626. func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
  16627. req, out := c.ReportInstanceStatusRequest(input)
  16628. req.SetContext(ctx)
  16629. req.ApplyOptions(opts...)
  16630. return out, req.Send()
  16631. }
  16632. const opRequestSpotFleet = "RequestSpotFleet"
  16633. // RequestSpotFleetRequest generates a "aws/request.Request" representing the
  16634. // client's request for the RequestSpotFleet operation. The "output" return
  16635. // value can be used to capture response data after the request's "Send" method
  16636. // is called.
  16637. //
  16638. // See RequestSpotFleet for usage and error information.
  16639. //
  16640. // Creating a request object using this method should be used when you want to inject
  16641. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16642. // access properties on the request object before or after sending the request. If
  16643. // you just want the service response, call the RequestSpotFleet method directly
  16644. // instead.
  16645. //
  16646. // Note: You must call the "Send" method on the returned request object in order
  16647. // to execute the request.
  16648. //
  16649. // // Example sending a request using the RequestSpotFleetRequest method.
  16650. // req, resp := client.RequestSpotFleetRequest(params)
  16651. //
  16652. // err := req.Send()
  16653. // if err == nil { // resp is now filled
  16654. // fmt.Println(resp)
  16655. // }
  16656. //
  16657. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  16658. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  16659. op := &request.Operation{
  16660. Name: opRequestSpotFleet,
  16661. HTTPMethod: "POST",
  16662. HTTPPath: "/",
  16663. }
  16664. if input == nil {
  16665. input = &RequestSpotFleetInput{}
  16666. }
  16667. output = &RequestSpotFleetOutput{}
  16668. req = c.newRequest(op, input, output)
  16669. return
  16670. }
  16671. // RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
  16672. //
  16673. // Creates a Spot fleet request.
  16674. //
  16675. // You can submit a single request that includes multiple launch specifications
  16676. // that vary by instance type, AMI, Availability Zone, or subnet.
  16677. //
  16678. // By default, the Spot fleet requests Spot instances in the Spot pool where
  16679. // the price per unit is the lowest. Each launch specification can include its
  16680. // own instance weighting that reflects the value of the instance type to your
  16681. // application workload.
  16682. //
  16683. // Alternatively, you can specify that the Spot fleet distribute the target
  16684. // capacity across the Spot pools included in its launch specifications. By
  16685. // ensuring that the Spot instances in your Spot fleet are in different Spot
  16686. // pools, you can improve the availability of your fleet.
  16687. //
  16688. // For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
  16689. // in the Amazon Elastic Compute Cloud User Guide.
  16690. //
  16691. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16692. // with awserr.Error's Code and Message methods to get detailed information about
  16693. // the error.
  16694. //
  16695. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16696. // API operation RequestSpotFleet for usage and error information.
  16697. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  16698. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  16699. req, out := c.RequestSpotFleetRequest(input)
  16700. return out, req.Send()
  16701. }
  16702. // RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
  16703. // the ability to pass a context and additional request options.
  16704. //
  16705. // See RequestSpotFleet for details on how to use this API operation.
  16706. //
  16707. // The context must be non-nil and will be used for request cancellation. If
  16708. // the context is nil a panic will occur. In the future the SDK may create
  16709. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16710. // for more information on using Contexts.
  16711. func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
  16712. req, out := c.RequestSpotFleetRequest(input)
  16713. req.SetContext(ctx)
  16714. req.ApplyOptions(opts...)
  16715. return out, req.Send()
  16716. }
  16717. const opRequestSpotInstances = "RequestSpotInstances"
  16718. // RequestSpotInstancesRequest generates a "aws/request.Request" representing the
  16719. // client's request for the RequestSpotInstances operation. The "output" return
  16720. // value can be used to capture response data after the request's "Send" method
  16721. // is called.
  16722. //
  16723. // See RequestSpotInstances for usage and error information.
  16724. //
  16725. // Creating a request object using this method should be used when you want to inject
  16726. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16727. // access properties on the request object before or after sending the request. If
  16728. // you just want the service response, call the RequestSpotInstances method directly
  16729. // instead.
  16730. //
  16731. // Note: You must call the "Send" method on the returned request object in order
  16732. // to execute the request.
  16733. //
  16734. // // Example sending a request using the RequestSpotInstancesRequest method.
  16735. // req, resp := client.RequestSpotInstancesRequest(params)
  16736. //
  16737. // err := req.Send()
  16738. // if err == nil { // resp is now filled
  16739. // fmt.Println(resp)
  16740. // }
  16741. //
  16742. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  16743. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  16744. op := &request.Operation{
  16745. Name: opRequestSpotInstances,
  16746. HTTPMethod: "POST",
  16747. HTTPPath: "/",
  16748. }
  16749. if input == nil {
  16750. input = &RequestSpotInstancesInput{}
  16751. }
  16752. output = &RequestSpotInstancesOutput{}
  16753. req = c.newRequest(op, input, output)
  16754. return
  16755. }
  16756. // RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
  16757. //
  16758. // Creates a Spot instance request. Spot instances are instances that Amazon
  16759. // EC2 launches when the bid price that you specify exceeds the current Spot
  16760. // price. Amazon EC2 periodically sets the Spot price based on available Spot
  16761. // Instance capacity and current Spot instance requests. For more information,
  16762. // see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  16763. // in the Amazon Elastic Compute Cloud User Guide.
  16764. //
  16765. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16766. // with awserr.Error's Code and Message methods to get detailed information about
  16767. // the error.
  16768. //
  16769. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16770. // API operation RequestSpotInstances for usage and error information.
  16771. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  16772. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  16773. req, out := c.RequestSpotInstancesRequest(input)
  16774. return out, req.Send()
  16775. }
  16776. // RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
  16777. // the ability to pass a context and additional request options.
  16778. //
  16779. // See RequestSpotInstances for details on how to use this API operation.
  16780. //
  16781. // The context must be non-nil and will be used for request cancellation. If
  16782. // the context is nil a panic will occur. In the future the SDK may create
  16783. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16784. // for more information on using Contexts.
  16785. func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
  16786. req, out := c.RequestSpotInstancesRequest(input)
  16787. req.SetContext(ctx)
  16788. req.ApplyOptions(opts...)
  16789. return out, req.Send()
  16790. }
  16791. const opResetImageAttribute = "ResetImageAttribute"
  16792. // ResetImageAttributeRequest generates a "aws/request.Request" representing the
  16793. // client's request for the ResetImageAttribute operation. The "output" return
  16794. // value can be used to capture response data after the request's "Send" method
  16795. // is called.
  16796. //
  16797. // See ResetImageAttribute for usage and error information.
  16798. //
  16799. // Creating a request object using this method should be used when you want to inject
  16800. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16801. // access properties on the request object before or after sending the request. If
  16802. // you just want the service response, call the ResetImageAttribute method directly
  16803. // instead.
  16804. //
  16805. // Note: You must call the "Send" method on the returned request object in order
  16806. // to execute the request.
  16807. //
  16808. // // Example sending a request using the ResetImageAttributeRequest method.
  16809. // req, resp := client.ResetImageAttributeRequest(params)
  16810. //
  16811. // err := req.Send()
  16812. // if err == nil { // resp is now filled
  16813. // fmt.Println(resp)
  16814. // }
  16815. //
  16816. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  16817. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  16818. op := &request.Operation{
  16819. Name: opResetImageAttribute,
  16820. HTTPMethod: "POST",
  16821. HTTPPath: "/",
  16822. }
  16823. if input == nil {
  16824. input = &ResetImageAttributeInput{}
  16825. }
  16826. output = &ResetImageAttributeOutput{}
  16827. req = c.newRequest(op, input, output)
  16828. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16829. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16830. return
  16831. }
  16832. // ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
  16833. //
  16834. // Resets an attribute of an AMI to its default value.
  16835. //
  16836. // The productCodes attribute can't be reset.
  16837. //
  16838. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16839. // with awserr.Error's Code and Message methods to get detailed information about
  16840. // the error.
  16841. //
  16842. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16843. // API operation ResetImageAttribute for usage and error information.
  16844. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  16845. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  16846. req, out := c.ResetImageAttributeRequest(input)
  16847. return out, req.Send()
  16848. }
  16849. // ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
  16850. // the ability to pass a context and additional request options.
  16851. //
  16852. // See ResetImageAttribute for details on how to use this API operation.
  16853. //
  16854. // The context must be non-nil and will be used for request cancellation. If
  16855. // the context is nil a panic will occur. In the future the SDK may create
  16856. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16857. // for more information on using Contexts.
  16858. func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
  16859. req, out := c.ResetImageAttributeRequest(input)
  16860. req.SetContext(ctx)
  16861. req.ApplyOptions(opts...)
  16862. return out, req.Send()
  16863. }
  16864. const opResetInstanceAttribute = "ResetInstanceAttribute"
  16865. // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
  16866. // client's request for the ResetInstanceAttribute operation. The "output" return
  16867. // value can be used to capture response data after the request's "Send" method
  16868. // is called.
  16869. //
  16870. // See ResetInstanceAttribute for usage and error information.
  16871. //
  16872. // Creating a request object using this method should be used when you want to inject
  16873. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16874. // access properties on the request object before or after sending the request. If
  16875. // you just want the service response, call the ResetInstanceAttribute method directly
  16876. // instead.
  16877. //
  16878. // Note: You must call the "Send" method on the returned request object in order
  16879. // to execute the request.
  16880. //
  16881. // // Example sending a request using the ResetInstanceAttributeRequest method.
  16882. // req, resp := client.ResetInstanceAttributeRequest(params)
  16883. //
  16884. // err := req.Send()
  16885. // if err == nil { // resp is now filled
  16886. // fmt.Println(resp)
  16887. // }
  16888. //
  16889. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  16890. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  16891. op := &request.Operation{
  16892. Name: opResetInstanceAttribute,
  16893. HTTPMethod: "POST",
  16894. HTTPPath: "/",
  16895. }
  16896. if input == nil {
  16897. input = &ResetInstanceAttributeInput{}
  16898. }
  16899. output = &ResetInstanceAttributeOutput{}
  16900. req = c.newRequest(op, input, output)
  16901. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16902. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16903. return
  16904. }
  16905. // ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  16906. //
  16907. // Resets an attribute of an instance to its default value. To reset the kernel
  16908. // or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
  16909. // the instance can be either running or stopped.
  16910. //
  16911. // The sourceDestCheck attribute controls whether source/destination checking
  16912. // is enabled. The default value is true, which means checking is enabled. This
  16913. // value must be false for a NAT instance to perform NAT. For more information,
  16914. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  16915. // in the Amazon Virtual Private Cloud User Guide.
  16916. //
  16917. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16918. // with awserr.Error's Code and Message methods to get detailed information about
  16919. // the error.
  16920. //
  16921. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16922. // API operation ResetInstanceAttribute for usage and error information.
  16923. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  16924. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  16925. req, out := c.ResetInstanceAttributeRequest(input)
  16926. return out, req.Send()
  16927. }
  16928. // ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
  16929. // the ability to pass a context and additional request options.
  16930. //
  16931. // See ResetInstanceAttribute for details on how to use this API operation.
  16932. //
  16933. // The context must be non-nil and will be used for request cancellation. If
  16934. // the context is nil a panic will occur. In the future the SDK may create
  16935. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16936. // for more information on using Contexts.
  16937. func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
  16938. req, out := c.ResetInstanceAttributeRequest(input)
  16939. req.SetContext(ctx)
  16940. req.ApplyOptions(opts...)
  16941. return out, req.Send()
  16942. }
  16943. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  16944. // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  16945. // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
  16946. // value can be used to capture response data after the request's "Send" method
  16947. // is called.
  16948. //
  16949. // See ResetNetworkInterfaceAttribute for usage and error information.
  16950. //
  16951. // Creating a request object using this method should be used when you want to inject
  16952. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16953. // access properties on the request object before or after sending the request. If
  16954. // you just want the service response, call the ResetNetworkInterfaceAttribute method directly
  16955. // instead.
  16956. //
  16957. // Note: You must call the "Send" method on the returned request object in order
  16958. // to execute the request.
  16959. //
  16960. // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
  16961. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
  16962. //
  16963. // err := req.Send()
  16964. // if err == nil { // resp is now filled
  16965. // fmt.Println(resp)
  16966. // }
  16967. //
  16968. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  16969. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  16970. op := &request.Operation{
  16971. Name: opResetNetworkInterfaceAttribute,
  16972. HTTPMethod: "POST",
  16973. HTTPPath: "/",
  16974. }
  16975. if input == nil {
  16976. input = &ResetNetworkInterfaceAttributeInput{}
  16977. }
  16978. output = &ResetNetworkInterfaceAttributeOutput{}
  16979. req = c.newRequest(op, input, output)
  16980. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16981. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16982. return
  16983. }
  16984. // ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  16985. //
  16986. // Resets a network interface attribute. You can specify only one attribute
  16987. // at a time.
  16988. //
  16989. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16990. // with awserr.Error's Code and Message methods to get detailed information about
  16991. // the error.
  16992. //
  16993. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16994. // API operation ResetNetworkInterfaceAttribute for usage and error information.
  16995. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  16996. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  16997. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  16998. return out, req.Send()
  16999. }
  17000. // ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
  17001. // the ability to pass a context and additional request options.
  17002. //
  17003. // See ResetNetworkInterfaceAttribute for details on how to use this API operation.
  17004. //
  17005. // The context must be non-nil and will be used for request cancellation. If
  17006. // the context is nil a panic will occur. In the future the SDK may create
  17007. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17008. // for more information on using Contexts.
  17009. func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
  17010. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  17011. req.SetContext(ctx)
  17012. req.ApplyOptions(opts...)
  17013. return out, req.Send()
  17014. }
  17015. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  17016. // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
  17017. // client's request for the ResetSnapshotAttribute operation. The "output" return
  17018. // value can be used to capture response data after the request's "Send" method
  17019. // is called.
  17020. //
  17021. // See ResetSnapshotAttribute for usage and error information.
  17022. //
  17023. // Creating a request object using this method should be used when you want to inject
  17024. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17025. // access properties on the request object before or after sending the request. If
  17026. // you just want the service response, call the ResetSnapshotAttribute method directly
  17027. // instead.
  17028. //
  17029. // Note: You must call the "Send" method on the returned request object in order
  17030. // to execute the request.
  17031. //
  17032. // // Example sending a request using the ResetSnapshotAttributeRequest method.
  17033. // req, resp := client.ResetSnapshotAttributeRequest(params)
  17034. //
  17035. // err := req.Send()
  17036. // if err == nil { // resp is now filled
  17037. // fmt.Println(resp)
  17038. // }
  17039. //
  17040. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  17041. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  17042. op := &request.Operation{
  17043. Name: opResetSnapshotAttribute,
  17044. HTTPMethod: "POST",
  17045. HTTPPath: "/",
  17046. }
  17047. if input == nil {
  17048. input = &ResetSnapshotAttributeInput{}
  17049. }
  17050. output = &ResetSnapshotAttributeOutput{}
  17051. req = c.newRequest(op, input, output)
  17052. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17053. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17054. return
  17055. }
  17056. // ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  17057. //
  17058. // Resets permission settings for the specified snapshot.
  17059. //
  17060. // For more information on modifying snapshot permissions, see Sharing Snapshots
  17061. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  17062. // in the Amazon Elastic Compute Cloud User Guide.
  17063. //
  17064. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17065. // with awserr.Error's Code and Message methods to get detailed information about
  17066. // the error.
  17067. //
  17068. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17069. // API operation ResetSnapshotAttribute for usage and error information.
  17070. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  17071. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  17072. req, out := c.ResetSnapshotAttributeRequest(input)
  17073. return out, req.Send()
  17074. }
  17075. // ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
  17076. // the ability to pass a context and additional request options.
  17077. //
  17078. // See ResetSnapshotAttribute for details on how to use this API operation.
  17079. //
  17080. // The context must be non-nil and will be used for request cancellation. If
  17081. // the context is nil a panic will occur. In the future the SDK may create
  17082. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17083. // for more information on using Contexts.
  17084. func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
  17085. req, out := c.ResetSnapshotAttributeRequest(input)
  17086. req.SetContext(ctx)
  17087. req.ApplyOptions(opts...)
  17088. return out, req.Send()
  17089. }
  17090. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  17091. // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
  17092. // client's request for the RestoreAddressToClassic operation. The "output" return
  17093. // value can be used to capture response data after the request's "Send" method
  17094. // is called.
  17095. //
  17096. // See RestoreAddressToClassic for usage and error information.
  17097. //
  17098. // Creating a request object using this method should be used when you want to inject
  17099. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17100. // access properties on the request object before or after sending the request. If
  17101. // you just want the service response, call the RestoreAddressToClassic method directly
  17102. // instead.
  17103. //
  17104. // Note: You must call the "Send" method on the returned request object in order
  17105. // to execute the request.
  17106. //
  17107. // // Example sending a request using the RestoreAddressToClassicRequest method.
  17108. // req, resp := client.RestoreAddressToClassicRequest(params)
  17109. //
  17110. // err := req.Send()
  17111. // if err == nil { // resp is now filled
  17112. // fmt.Println(resp)
  17113. // }
  17114. //
  17115. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  17116. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  17117. op := &request.Operation{
  17118. Name: opRestoreAddressToClassic,
  17119. HTTPMethod: "POST",
  17120. HTTPPath: "/",
  17121. }
  17122. if input == nil {
  17123. input = &RestoreAddressToClassicInput{}
  17124. }
  17125. output = &RestoreAddressToClassicOutput{}
  17126. req = c.newRequest(op, input, output)
  17127. return
  17128. }
  17129. // RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
  17130. //
  17131. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  17132. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  17133. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  17134. // not be associated with an instance or network interface.
  17135. //
  17136. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17137. // with awserr.Error's Code and Message methods to get detailed information about
  17138. // the error.
  17139. //
  17140. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17141. // API operation RestoreAddressToClassic for usage and error information.
  17142. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  17143. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  17144. req, out := c.RestoreAddressToClassicRequest(input)
  17145. return out, req.Send()
  17146. }
  17147. // RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
  17148. // the ability to pass a context and additional request options.
  17149. //
  17150. // See RestoreAddressToClassic for details on how to use this API operation.
  17151. //
  17152. // The context must be non-nil and will be used for request cancellation. If
  17153. // the context is nil a panic will occur. In the future the SDK may create
  17154. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17155. // for more information on using Contexts.
  17156. func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
  17157. req, out := c.RestoreAddressToClassicRequest(input)
  17158. req.SetContext(ctx)
  17159. req.ApplyOptions(opts...)
  17160. return out, req.Send()
  17161. }
  17162. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  17163. // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  17164. // client's request for the RevokeSecurityGroupEgress operation. The "output" return
  17165. // value can be used to capture response data after the request's "Send" method
  17166. // is called.
  17167. //
  17168. // See RevokeSecurityGroupEgress for usage and error information.
  17169. //
  17170. // Creating a request object using this method should be used when you want to inject
  17171. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17172. // access properties on the request object before or after sending the request. If
  17173. // you just want the service response, call the RevokeSecurityGroupEgress method directly
  17174. // instead.
  17175. //
  17176. // Note: You must call the "Send" method on the returned request object in order
  17177. // to execute the request.
  17178. //
  17179. // // Example sending a request using the RevokeSecurityGroupEgressRequest method.
  17180. // req, resp := client.RevokeSecurityGroupEgressRequest(params)
  17181. //
  17182. // err := req.Send()
  17183. // if err == nil { // resp is now filled
  17184. // fmt.Println(resp)
  17185. // }
  17186. //
  17187. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  17188. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  17189. op := &request.Operation{
  17190. Name: opRevokeSecurityGroupEgress,
  17191. HTTPMethod: "POST",
  17192. HTTPPath: "/",
  17193. }
  17194. if input == nil {
  17195. input = &RevokeSecurityGroupEgressInput{}
  17196. }
  17197. output = &RevokeSecurityGroupEgressOutput{}
  17198. req = c.newRequest(op, input, output)
  17199. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17200. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17201. return
  17202. }
  17203. // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  17204. //
  17205. // [EC2-VPC only] Removes one or more egress rules from a security group for
  17206. // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic.
  17207. // The values that you specify in the revoke request (for example, ports) must
  17208. // match the existing rule's values for the rule to be revoked.
  17209. //
  17210. // Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
  17211. // security group. For the TCP and UDP protocols, you must also specify the
  17212. // destination port or range of ports. For the ICMP protocol, you must also
  17213. // specify the ICMP type and code.
  17214. //
  17215. // Rule changes are propagated to instances within the security group as quickly
  17216. // as possible. However, a small delay might occur.
  17217. //
  17218. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17219. // with awserr.Error's Code and Message methods to get detailed information about
  17220. // the error.
  17221. //
  17222. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17223. // API operation RevokeSecurityGroupEgress for usage and error information.
  17224. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  17225. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  17226. req, out := c.RevokeSecurityGroupEgressRequest(input)
  17227. return out, req.Send()
  17228. }
  17229. // RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
  17230. // the ability to pass a context and additional request options.
  17231. //
  17232. // See RevokeSecurityGroupEgress for details on how to use this API operation.
  17233. //
  17234. // The context must be non-nil and will be used for request cancellation. If
  17235. // the context is nil a panic will occur. In the future the SDK may create
  17236. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17237. // for more information on using Contexts.
  17238. func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
  17239. req, out := c.RevokeSecurityGroupEgressRequest(input)
  17240. req.SetContext(ctx)
  17241. req.ApplyOptions(opts...)
  17242. return out, req.Send()
  17243. }
  17244. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  17245. // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  17246. // client's request for the RevokeSecurityGroupIngress operation. The "output" return
  17247. // value can be used to capture response data after the request's "Send" method
  17248. // is called.
  17249. //
  17250. // See RevokeSecurityGroupIngress for usage and error information.
  17251. //
  17252. // Creating a request object using this method should be used when you want to inject
  17253. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17254. // access properties on the request object before or after sending the request. If
  17255. // you just want the service response, call the RevokeSecurityGroupIngress method directly
  17256. // instead.
  17257. //
  17258. // Note: You must call the "Send" method on the returned request object in order
  17259. // to execute the request.
  17260. //
  17261. // // Example sending a request using the RevokeSecurityGroupIngressRequest method.
  17262. // req, resp := client.RevokeSecurityGroupIngressRequest(params)
  17263. //
  17264. // err := req.Send()
  17265. // if err == nil { // resp is now filled
  17266. // fmt.Println(resp)
  17267. // }
  17268. //
  17269. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  17270. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  17271. op := &request.Operation{
  17272. Name: opRevokeSecurityGroupIngress,
  17273. HTTPMethod: "POST",
  17274. HTTPPath: "/",
  17275. }
  17276. if input == nil {
  17277. input = &RevokeSecurityGroupIngressInput{}
  17278. }
  17279. output = &RevokeSecurityGroupIngressOutput{}
  17280. req = c.newRequest(op, input, output)
  17281. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17282. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17283. return
  17284. }
  17285. // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  17286. //
  17287. // Removes one or more ingress rules from a security group. The values that
  17288. // you specify in the revoke request (for example, ports) must match the existing
  17289. // rule's values for the rule to be removed.
  17290. //
  17291. // Each rule consists of the protocol and the CIDR range or source security
  17292. // group. For the TCP and UDP protocols, you must also specify the destination
  17293. // port or range of ports. For the ICMP protocol, you must also specify the
  17294. // 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 RevokeSecurityGroupIngress for usage and error information.
  17305. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  17306. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  17307. req, out := c.RevokeSecurityGroupIngressRequest(input)
  17308. return out, req.Send()
  17309. }
  17310. // RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
  17311. // the ability to pass a context and additional request options.
  17312. //
  17313. // See RevokeSecurityGroupIngress 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) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
  17320. req, out := c.RevokeSecurityGroupIngressRequest(input)
  17321. req.SetContext(ctx)
  17322. req.ApplyOptions(opts...)
  17323. return out, req.Send()
  17324. }
  17325. const opRunInstances = "RunInstances"
  17326. // RunInstancesRequest generates a "aws/request.Request" representing the
  17327. // client's request for the RunInstances 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 RunInstances 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 RunInstances 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 RunInstancesRequest method.
  17343. // req, resp := client.RunInstancesRequest(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/RunInstances
  17351. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  17352. op := &request.Operation{
  17353. Name: opRunInstances,
  17354. HTTPMethod: "POST",
  17355. HTTPPath: "/",
  17356. }
  17357. if input == nil {
  17358. input = &RunInstancesInput{}
  17359. }
  17360. output = &Reservation{}
  17361. req = c.newRequest(op, input, output)
  17362. return
  17363. }
  17364. // RunInstances API operation for Amazon Elastic Compute Cloud.
  17365. //
  17366. // Launches the specified number of instances using an AMI for which you have
  17367. // permissions.
  17368. //
  17369. // You can specify a number of options, or leave the default options. The following
  17370. // rules apply:
  17371. //
  17372. // * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
  17373. // from your default VPC for you. If you don't have a default VPC, you must
  17374. // specify a subnet ID in the request.
  17375. //
  17376. // * [EC2-Classic] If don't specify an Availability Zone, we choose one for
  17377. // you.
  17378. //
  17379. // * Some instance types must be launched into a VPC. If you do not have
  17380. // a default VPC, or if you do not specify a subnet ID, the request fails.
  17381. // 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).
  17382. //
  17383. // * [EC2-VPC] All instances have a network interface with a primary private
  17384. // IPv4 address. If you don't specify this address, we choose one from the
  17385. // IPv4 range of your subnet.
  17386. //
  17387. // * Not all instance types support IPv6 addresses. For more information,
  17388. // see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  17389. //
  17390. // * If you don't specify a security group ID, we use the default security
  17391. // group. For more information, see Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
  17392. //
  17393. // * If any of the AMIs have a product code attached for which the user has
  17394. // not subscribed, the request fails.
  17395. //
  17396. // To ensure faster instance launches, break up large requests into smaller
  17397. // batches. For example, create 5 separate launch requests for 100 instances
  17398. // each instead of 1 launch request for 500 instances.
  17399. //
  17400. // An instance is ready for you to use when it's in the running state. You can
  17401. // check the state of your instance using DescribeInstances. You can tag instances
  17402. // and EBS volumes during launch, after launch, or both. For more information,
  17403. // see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  17404. //
  17405. // Linux instances have access to the public key of the key pair at boot. You
  17406. // can use this key to provide secure access to the instance. Amazon EC2 public
  17407. // images use this feature to provide secure access without passwords. For more
  17408. // information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  17409. // in the Amazon Elastic Compute Cloud User Guide.
  17410. //
  17411. // For troubleshooting, see What To Do If An Instance Immediately Terminates
  17412. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  17413. // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  17414. // in the Amazon Elastic Compute Cloud User Guide.
  17415. //
  17416. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17417. // with awserr.Error's Code and Message methods to get detailed information about
  17418. // the error.
  17419. //
  17420. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17421. // API operation RunInstances for usage and error information.
  17422. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  17423. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  17424. req, out := c.RunInstancesRequest(input)
  17425. return out, req.Send()
  17426. }
  17427. // RunInstancesWithContext is the same as RunInstances with the addition of
  17428. // the ability to pass a context and additional request options.
  17429. //
  17430. // See RunInstances for details on how to use this API operation.
  17431. //
  17432. // The context must be non-nil and will be used for request cancellation. If
  17433. // the context is nil a panic will occur. In the future the SDK may create
  17434. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17435. // for more information on using Contexts.
  17436. func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
  17437. req, out := c.RunInstancesRequest(input)
  17438. req.SetContext(ctx)
  17439. req.ApplyOptions(opts...)
  17440. return out, req.Send()
  17441. }
  17442. const opRunScheduledInstances = "RunScheduledInstances"
  17443. // RunScheduledInstancesRequest generates a "aws/request.Request" representing the
  17444. // client's request for the RunScheduledInstances operation. The "output" return
  17445. // value can be used to capture response data after the request's "Send" method
  17446. // is called.
  17447. //
  17448. // See RunScheduledInstances for usage and error information.
  17449. //
  17450. // Creating a request object using this method should be used when you want to inject
  17451. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17452. // access properties on the request object before or after sending the request. If
  17453. // you just want the service response, call the RunScheduledInstances method directly
  17454. // instead.
  17455. //
  17456. // Note: You must call the "Send" method on the returned request object in order
  17457. // to execute the request.
  17458. //
  17459. // // Example sending a request using the RunScheduledInstancesRequest method.
  17460. // req, resp := client.RunScheduledInstancesRequest(params)
  17461. //
  17462. // err := req.Send()
  17463. // if err == nil { // resp is now filled
  17464. // fmt.Println(resp)
  17465. // }
  17466. //
  17467. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  17468. func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
  17469. op := &request.Operation{
  17470. Name: opRunScheduledInstances,
  17471. HTTPMethod: "POST",
  17472. HTTPPath: "/",
  17473. }
  17474. if input == nil {
  17475. input = &RunScheduledInstancesInput{}
  17476. }
  17477. output = &RunScheduledInstancesOutput{}
  17478. req = c.newRequest(op, input, output)
  17479. return
  17480. }
  17481. // RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
  17482. //
  17483. // Launches the specified Scheduled Instances.
  17484. //
  17485. // Before you can launch a Scheduled Instance, you must purchase it and obtain
  17486. // an identifier using PurchaseScheduledInstances.
  17487. //
  17488. // You must launch a Scheduled Instance during its scheduled time period. You
  17489. // can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
  17490. // If you terminate a Scheduled Instance before the current scheduled time period
  17491. // ends, you can launch it again after a few minutes. For more information,
  17492. // see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
  17493. // in the Amazon Elastic Compute Cloud User Guide.
  17494. //
  17495. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17496. // with awserr.Error's Code and Message methods to get detailed information about
  17497. // the error.
  17498. //
  17499. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17500. // API operation RunScheduledInstances for usage and error information.
  17501. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  17502. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
  17503. req, out := c.RunScheduledInstancesRequest(input)
  17504. return out, req.Send()
  17505. }
  17506. // RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
  17507. // the ability to pass a context and additional request options.
  17508. //
  17509. // See RunScheduledInstances for details on how to use this API operation.
  17510. //
  17511. // The context must be non-nil and will be used for request cancellation. If
  17512. // the context is nil a panic will occur. In the future the SDK may create
  17513. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17514. // for more information on using Contexts.
  17515. func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
  17516. req, out := c.RunScheduledInstancesRequest(input)
  17517. req.SetContext(ctx)
  17518. req.ApplyOptions(opts...)
  17519. return out, req.Send()
  17520. }
  17521. const opStartInstances = "StartInstances"
  17522. // StartInstancesRequest generates a "aws/request.Request" representing the
  17523. // client's request for the StartInstances operation. The "output" return
  17524. // value can be used to capture response data after the request's "Send" method
  17525. // is called.
  17526. //
  17527. // See StartInstances for usage and error information.
  17528. //
  17529. // Creating a request object using this method should be used when you want to inject
  17530. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17531. // access properties on the request object before or after sending the request. If
  17532. // you just want the service response, call the StartInstances method directly
  17533. // instead.
  17534. //
  17535. // Note: You must call the "Send" method on the returned request object in order
  17536. // to execute the request.
  17537. //
  17538. // // Example sending a request using the StartInstancesRequest method.
  17539. // req, resp := client.StartInstancesRequest(params)
  17540. //
  17541. // err := req.Send()
  17542. // if err == nil { // resp is now filled
  17543. // fmt.Println(resp)
  17544. // }
  17545. //
  17546. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  17547. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  17548. op := &request.Operation{
  17549. Name: opStartInstances,
  17550. HTTPMethod: "POST",
  17551. HTTPPath: "/",
  17552. }
  17553. if input == nil {
  17554. input = &StartInstancesInput{}
  17555. }
  17556. output = &StartInstancesOutput{}
  17557. req = c.newRequest(op, input, output)
  17558. return
  17559. }
  17560. // StartInstances API operation for Amazon Elastic Compute Cloud.
  17561. //
  17562. // Starts an Amazon EBS-backed AMI that you've previously stopped.
  17563. //
  17564. // Instances that use Amazon EBS volumes as their root devices can be quickly
  17565. // stopped and started. When an instance is stopped, the compute resources are
  17566. // released and you are not billed for hourly instance usage. However, your
  17567. // root partition Amazon EBS volume remains, continues to persist your data,
  17568. // and you are charged for Amazon EBS volume usage. You can restart your instance
  17569. // at any time. Each time you transition an instance from stopped to started,
  17570. // Amazon EC2 charges a full instance hour, even if transitions happen multiple
  17571. // times within a single hour.
  17572. //
  17573. // Before stopping an instance, make sure it is in a state from which it can
  17574. // be restarted. Stopping an instance does not preserve data stored in RAM.
  17575. //
  17576. // Performing this operation on an instance that uses an instance store as its
  17577. // root device returns an error.
  17578. //
  17579. // For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  17580. // in the Amazon Elastic Compute Cloud User Guide.
  17581. //
  17582. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17583. // with awserr.Error's Code and Message methods to get detailed information about
  17584. // the error.
  17585. //
  17586. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17587. // API operation StartInstances for usage and error information.
  17588. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  17589. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  17590. req, out := c.StartInstancesRequest(input)
  17591. return out, req.Send()
  17592. }
  17593. // StartInstancesWithContext is the same as StartInstances with the addition of
  17594. // the ability to pass a context and additional request options.
  17595. //
  17596. // See StartInstances for details on how to use this API operation.
  17597. //
  17598. // The context must be non-nil and will be used for request cancellation. If
  17599. // the context is nil a panic will occur. In the future the SDK may create
  17600. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17601. // for more information on using Contexts.
  17602. func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
  17603. req, out := c.StartInstancesRequest(input)
  17604. req.SetContext(ctx)
  17605. req.ApplyOptions(opts...)
  17606. return out, req.Send()
  17607. }
  17608. const opStopInstances = "StopInstances"
  17609. // StopInstancesRequest generates a "aws/request.Request" representing the
  17610. // client's request for the StopInstances operation. The "output" return
  17611. // value can be used to capture response data after the request's "Send" method
  17612. // is called.
  17613. //
  17614. // See StopInstances for usage and error information.
  17615. //
  17616. // Creating a request object using this method should be used when you want to inject
  17617. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17618. // access properties on the request object before or after sending the request. If
  17619. // you just want the service response, call the StopInstances method directly
  17620. // instead.
  17621. //
  17622. // Note: You must call the "Send" method on the returned request object in order
  17623. // to execute the request.
  17624. //
  17625. // // Example sending a request using the StopInstancesRequest method.
  17626. // req, resp := client.StopInstancesRequest(params)
  17627. //
  17628. // err := req.Send()
  17629. // if err == nil { // resp is now filled
  17630. // fmt.Println(resp)
  17631. // }
  17632. //
  17633. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  17634. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  17635. op := &request.Operation{
  17636. Name: opStopInstances,
  17637. HTTPMethod: "POST",
  17638. HTTPPath: "/",
  17639. }
  17640. if input == nil {
  17641. input = &StopInstancesInput{}
  17642. }
  17643. output = &StopInstancesOutput{}
  17644. req = c.newRequest(op, input, output)
  17645. return
  17646. }
  17647. // StopInstances API operation for Amazon Elastic Compute Cloud.
  17648. //
  17649. // Stops an Amazon EBS-backed instance.
  17650. //
  17651. // We don't charge hourly usage for a stopped instance, or data transfer fees;
  17652. // however, your root partition Amazon EBS volume remains, continues to persist
  17653. // your data, and you are charged for Amazon EBS volume usage. Each time you
  17654. // transition an instance from stopped to started, Amazon EC2 charges a full
  17655. // instance hour, even if transitions happen multiple times within a single
  17656. // hour.
  17657. //
  17658. // You can't start or stop Spot instances, and you can't stop instance store-backed
  17659. // instances.
  17660. //
  17661. // When you stop an instance, we shut it down. You can restart your instance
  17662. // at any time. Before stopping an instance, make sure it is in a state from
  17663. // which it can be restarted. Stopping an instance does not preserve data stored
  17664. // in RAM.
  17665. //
  17666. // Stopping an instance is different to rebooting or terminating it. For example,
  17667. // when you stop an instance, the root device and any other devices attached
  17668. // to the instance persist. When you terminate an instance, the root device
  17669. // and any other devices attached during the instance launch are automatically
  17670. // deleted. For more information about the differences between rebooting, stopping,
  17671. // and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  17672. // in the Amazon Elastic Compute Cloud User Guide.
  17673. //
  17674. // When you stop an instance, we attempt to shut it down forcibly after a short
  17675. // while. If your instance appears stuck in the stopping state after a period
  17676. // of time, there may be an issue with the underlying host computer. For more
  17677. // information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  17678. // in the Amazon Elastic Compute Cloud User Guide.
  17679. //
  17680. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17681. // with awserr.Error's Code and Message methods to get detailed information about
  17682. // the error.
  17683. //
  17684. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17685. // API operation StopInstances for usage and error information.
  17686. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  17687. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  17688. req, out := c.StopInstancesRequest(input)
  17689. return out, req.Send()
  17690. }
  17691. // StopInstancesWithContext is the same as StopInstances with the addition of
  17692. // the ability to pass a context and additional request options.
  17693. //
  17694. // See StopInstances for details on how to use this API operation.
  17695. //
  17696. // The context must be non-nil and will be used for request cancellation. If
  17697. // the context is nil a panic will occur. In the future the SDK may create
  17698. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17699. // for more information on using Contexts.
  17700. func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
  17701. req, out := c.StopInstancesRequest(input)
  17702. req.SetContext(ctx)
  17703. req.ApplyOptions(opts...)
  17704. return out, req.Send()
  17705. }
  17706. const opTerminateInstances = "TerminateInstances"
  17707. // TerminateInstancesRequest generates a "aws/request.Request" representing the
  17708. // client's request for the TerminateInstances operation. The "output" return
  17709. // value can be used to capture response data after the request's "Send" method
  17710. // is called.
  17711. //
  17712. // See TerminateInstances for usage and error information.
  17713. //
  17714. // Creating a request object using this method should be used when you want to inject
  17715. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17716. // access properties on the request object before or after sending the request. If
  17717. // you just want the service response, call the TerminateInstances method directly
  17718. // instead.
  17719. //
  17720. // Note: You must call the "Send" method on the returned request object in order
  17721. // to execute the request.
  17722. //
  17723. // // Example sending a request using the TerminateInstancesRequest method.
  17724. // req, resp := client.TerminateInstancesRequest(params)
  17725. //
  17726. // err := req.Send()
  17727. // if err == nil { // resp is now filled
  17728. // fmt.Println(resp)
  17729. // }
  17730. //
  17731. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  17732. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  17733. op := &request.Operation{
  17734. Name: opTerminateInstances,
  17735. HTTPMethod: "POST",
  17736. HTTPPath: "/",
  17737. }
  17738. if input == nil {
  17739. input = &TerminateInstancesInput{}
  17740. }
  17741. output = &TerminateInstancesOutput{}
  17742. req = c.newRequest(op, input, output)
  17743. return
  17744. }
  17745. // TerminateInstances API operation for Amazon Elastic Compute Cloud.
  17746. //
  17747. // Shuts down one or more instances. This operation is idempotent; if you terminate
  17748. // an instance more than once, each call succeeds.
  17749. //
  17750. // If you specify multiple instances and the request fails (for example, because
  17751. // of a single incorrect instance ID), none of the instances are terminated.
  17752. //
  17753. // Terminated instances remain visible after termination (for approximately
  17754. // one hour).
  17755. //
  17756. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  17757. // instance launched. Volumes attached after instance launch continue running.
  17758. //
  17759. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  17760. // instance store-backed instances. What happens to an instance differs if you
  17761. // stop it or terminate it. For example, when you stop an instance, the root
  17762. // device and any other devices attached to the instance persist. When you terminate
  17763. // an instance, any attached EBS volumes with the DeleteOnTermination block
  17764. // device mapping parameter set to true are automatically deleted. For more
  17765. // information about the differences between stopping and terminating instances,
  17766. // see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  17767. // in the Amazon Elastic Compute Cloud User Guide.
  17768. //
  17769. // For more information about troubleshooting, see Troubleshooting Terminating
  17770. // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  17771. // in the Amazon Elastic Compute Cloud User Guide.
  17772. //
  17773. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17774. // with awserr.Error's Code and Message methods to get detailed information about
  17775. // the error.
  17776. //
  17777. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17778. // API operation TerminateInstances for usage and error information.
  17779. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  17780. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  17781. req, out := c.TerminateInstancesRequest(input)
  17782. return out, req.Send()
  17783. }
  17784. // TerminateInstancesWithContext is the same as TerminateInstances with the addition of
  17785. // the ability to pass a context and additional request options.
  17786. //
  17787. // See TerminateInstances for details on how to use this API operation.
  17788. //
  17789. // The context must be non-nil and will be used for request cancellation. If
  17790. // the context is nil a panic will occur. In the future the SDK may create
  17791. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17792. // for more information on using Contexts.
  17793. func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
  17794. req, out := c.TerminateInstancesRequest(input)
  17795. req.SetContext(ctx)
  17796. req.ApplyOptions(opts...)
  17797. return out, req.Send()
  17798. }
  17799. const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
  17800. // UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
  17801. // client's request for the UnassignIpv6Addresses operation. The "output" return
  17802. // value can be used to capture response data after the request's "Send" method
  17803. // is called.
  17804. //
  17805. // See UnassignIpv6Addresses for usage and error information.
  17806. //
  17807. // Creating a request object using this method should be used when you want to inject
  17808. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17809. // access properties on the request object before or after sending the request. If
  17810. // you just want the service response, call the UnassignIpv6Addresses method directly
  17811. // instead.
  17812. //
  17813. // Note: You must call the "Send" method on the returned request object in order
  17814. // to execute the request.
  17815. //
  17816. // // Example sending a request using the UnassignIpv6AddressesRequest method.
  17817. // req, resp := client.UnassignIpv6AddressesRequest(params)
  17818. //
  17819. // err := req.Send()
  17820. // if err == nil { // resp is now filled
  17821. // fmt.Println(resp)
  17822. // }
  17823. //
  17824. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  17825. func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
  17826. op := &request.Operation{
  17827. Name: opUnassignIpv6Addresses,
  17828. HTTPMethod: "POST",
  17829. HTTPPath: "/",
  17830. }
  17831. if input == nil {
  17832. input = &UnassignIpv6AddressesInput{}
  17833. }
  17834. output = &UnassignIpv6AddressesOutput{}
  17835. req = c.newRequest(op, input, output)
  17836. return
  17837. }
  17838. // UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  17839. //
  17840. // Unassigns one or more IPv6 addresses from a network interface.
  17841. //
  17842. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17843. // with awserr.Error's Code and Message methods to get detailed information about
  17844. // the error.
  17845. //
  17846. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17847. // API operation UnassignIpv6Addresses for usage and error information.
  17848. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  17849. func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
  17850. req, out := c.UnassignIpv6AddressesRequest(input)
  17851. return out, req.Send()
  17852. }
  17853. // UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
  17854. // the ability to pass a context and additional request options.
  17855. //
  17856. // See UnassignIpv6Addresses for details on how to use this API operation.
  17857. //
  17858. // The context must be non-nil and will be used for request cancellation. If
  17859. // the context is nil a panic will occur. In the future the SDK may create
  17860. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17861. // for more information on using Contexts.
  17862. func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
  17863. req, out := c.UnassignIpv6AddressesRequest(input)
  17864. req.SetContext(ctx)
  17865. req.ApplyOptions(opts...)
  17866. return out, req.Send()
  17867. }
  17868. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  17869. // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  17870. // client's request for the UnassignPrivateIpAddresses operation. The "output" return
  17871. // value can be used to capture response data after the request's "Send" method
  17872. // is called.
  17873. //
  17874. // See UnassignPrivateIpAddresses for usage and error information.
  17875. //
  17876. // Creating a request object using this method should be used when you want to inject
  17877. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17878. // access properties on the request object before or after sending the request. If
  17879. // you just want the service response, call the UnassignPrivateIpAddresses method directly
  17880. // instead.
  17881. //
  17882. // Note: You must call the "Send" method on the returned request object in order
  17883. // to execute the request.
  17884. //
  17885. // // Example sending a request using the UnassignPrivateIpAddressesRequest method.
  17886. // req, resp := client.UnassignPrivateIpAddressesRequest(params)
  17887. //
  17888. // err := req.Send()
  17889. // if err == nil { // resp is now filled
  17890. // fmt.Println(resp)
  17891. // }
  17892. //
  17893. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  17894. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  17895. op := &request.Operation{
  17896. Name: opUnassignPrivateIpAddresses,
  17897. HTTPMethod: "POST",
  17898. HTTPPath: "/",
  17899. }
  17900. if input == nil {
  17901. input = &UnassignPrivateIpAddressesInput{}
  17902. }
  17903. output = &UnassignPrivateIpAddressesOutput{}
  17904. req = c.newRequest(op, input, output)
  17905. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17906. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17907. return
  17908. }
  17909. // UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  17910. //
  17911. // Unassigns one or more secondary private IP addresses from a network interface.
  17912. //
  17913. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17914. // with awserr.Error's Code and Message methods to get detailed information about
  17915. // the error.
  17916. //
  17917. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17918. // API operation UnassignPrivateIpAddresses for usage and error information.
  17919. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  17920. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  17921. req, out := c.UnassignPrivateIpAddressesRequest(input)
  17922. return out, req.Send()
  17923. }
  17924. // UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
  17925. // the ability to pass a context and additional request options.
  17926. //
  17927. // See UnassignPrivateIpAddresses for details on how to use this API operation.
  17928. //
  17929. // The context must be non-nil and will be used for request cancellation. If
  17930. // the context is nil a panic will occur. In the future the SDK may create
  17931. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17932. // for more information on using Contexts.
  17933. func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
  17934. req, out := c.UnassignPrivateIpAddressesRequest(input)
  17935. req.SetContext(ctx)
  17936. req.ApplyOptions(opts...)
  17937. return out, req.Send()
  17938. }
  17939. const opUnmonitorInstances = "UnmonitorInstances"
  17940. // UnmonitorInstancesRequest generates a "aws/request.Request" representing the
  17941. // client's request for the UnmonitorInstances operation. The "output" return
  17942. // value can be used to capture response data after the request's "Send" method
  17943. // is called.
  17944. //
  17945. // See UnmonitorInstances for usage and error information.
  17946. //
  17947. // Creating a request object using this method should be used when you want to inject
  17948. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17949. // access properties on the request object before or after sending the request. If
  17950. // you just want the service response, call the UnmonitorInstances method directly
  17951. // instead.
  17952. //
  17953. // Note: You must call the "Send" method on the returned request object in order
  17954. // to execute the request.
  17955. //
  17956. // // Example sending a request using the UnmonitorInstancesRequest method.
  17957. // req, resp := client.UnmonitorInstancesRequest(params)
  17958. //
  17959. // err := req.Send()
  17960. // if err == nil { // resp is now filled
  17961. // fmt.Println(resp)
  17962. // }
  17963. //
  17964. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  17965. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  17966. op := &request.Operation{
  17967. Name: opUnmonitorInstances,
  17968. HTTPMethod: "POST",
  17969. HTTPPath: "/",
  17970. }
  17971. if input == nil {
  17972. input = &UnmonitorInstancesInput{}
  17973. }
  17974. output = &UnmonitorInstancesOutput{}
  17975. req = c.newRequest(op, input, output)
  17976. return
  17977. }
  17978. // UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
  17979. //
  17980. // Disables detailed monitoring for a running instance. For more information,
  17981. // see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  17982. // in the Amazon Elastic Compute Cloud User Guide.
  17983. //
  17984. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17985. // with awserr.Error's Code and Message methods to get detailed information about
  17986. // the error.
  17987. //
  17988. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17989. // API operation UnmonitorInstances for usage and error information.
  17990. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  17991. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  17992. req, out := c.UnmonitorInstancesRequest(input)
  17993. return out, req.Send()
  17994. }
  17995. // UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
  17996. // the ability to pass a context and additional request options.
  17997. //
  17998. // See UnmonitorInstances for details on how to use this API operation.
  17999. //
  18000. // The context must be non-nil and will be used for request cancellation. If
  18001. // the context is nil a panic will occur. In the future the SDK may create
  18002. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18003. // for more information on using Contexts.
  18004. func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
  18005. req, out := c.UnmonitorInstancesRequest(input)
  18006. req.SetContext(ctx)
  18007. req.ApplyOptions(opts...)
  18008. return out, req.Send()
  18009. }
  18010. // Contains the parameters for accepting the quote.
  18011. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuoteRequest
  18012. type AcceptReservedInstancesExchangeQuoteInput struct {
  18013. _ struct{} `type:"structure"`
  18014. // Checks whether you have the required permissions for the action, without
  18015. // actually making the request, and provides an error response. If you have
  18016. // the required permissions, the error response is DryRunOperation. Otherwise,
  18017. // it is UnauthorizedOperation.
  18018. DryRun *bool `type:"boolean"`
  18019. // The IDs of the Convertible Reserved Instances to exchange for other Convertible
  18020. // Reserved Instances of the same or higher value.
  18021. //
  18022. // ReservedInstanceIds is a required field
  18023. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  18024. // The configurations of the Convertible Reserved Instance offerings that you
  18025. // are purchasing in this exchange.
  18026. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  18027. }
  18028. // String returns the string representation
  18029. func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
  18030. return awsutil.Prettify(s)
  18031. }
  18032. // GoString returns the string representation
  18033. func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
  18034. return s.String()
  18035. }
  18036. // Validate inspects the fields of the type to determine if they are valid.
  18037. func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
  18038. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
  18039. if s.ReservedInstanceIds == nil {
  18040. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  18041. }
  18042. if s.TargetConfigurations != nil {
  18043. for i, v := range s.TargetConfigurations {
  18044. if v == nil {
  18045. continue
  18046. }
  18047. if err := v.Validate(); err != nil {
  18048. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  18049. }
  18050. }
  18051. }
  18052. if invalidParams.Len() > 0 {
  18053. return invalidParams
  18054. }
  18055. return nil
  18056. }
  18057. // SetDryRun sets the DryRun field's value.
  18058. func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
  18059. s.DryRun = &v
  18060. return s
  18061. }
  18062. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  18063. func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
  18064. s.ReservedInstanceIds = v
  18065. return s
  18066. }
  18067. // SetTargetConfigurations sets the TargetConfigurations field's value.
  18068. func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
  18069. s.TargetConfigurations = v
  18070. return s
  18071. }
  18072. // The result of the exchange and whether it was successful.
  18073. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuoteResult
  18074. type AcceptReservedInstancesExchangeQuoteOutput struct {
  18075. _ struct{} `type:"structure"`
  18076. // The ID of the successful exchange.
  18077. ExchangeId *string `locationName:"exchangeId" type:"string"`
  18078. }
  18079. // String returns the string representation
  18080. func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
  18081. return awsutil.Prettify(s)
  18082. }
  18083. // GoString returns the string representation
  18084. func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
  18085. return s.String()
  18086. }
  18087. // SetExchangeId sets the ExchangeId field's value.
  18088. func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
  18089. s.ExchangeId = &v
  18090. return s
  18091. }
  18092. // Contains the parameters for AcceptVpcPeeringConnection.
  18093. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnectionRequest
  18094. type AcceptVpcPeeringConnectionInput struct {
  18095. _ struct{} `type:"structure"`
  18096. // Checks whether you have the required permissions for the action, without
  18097. // actually making the request, and provides an error response. If you have
  18098. // the required permissions, the error response is DryRunOperation. Otherwise,
  18099. // it is UnauthorizedOperation.
  18100. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18101. // The ID of the VPC peering connection.
  18102. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  18103. }
  18104. // String returns the string representation
  18105. func (s AcceptVpcPeeringConnectionInput) String() string {
  18106. return awsutil.Prettify(s)
  18107. }
  18108. // GoString returns the string representation
  18109. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  18110. return s.String()
  18111. }
  18112. // SetDryRun sets the DryRun field's value.
  18113. func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
  18114. s.DryRun = &v
  18115. return s
  18116. }
  18117. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  18118. func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
  18119. s.VpcPeeringConnectionId = &v
  18120. return s
  18121. }
  18122. // Contains the output of AcceptVpcPeeringConnection.
  18123. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnectionResult
  18124. type AcceptVpcPeeringConnectionOutput struct {
  18125. _ struct{} `type:"structure"`
  18126. // Information about the VPC peering connection.
  18127. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  18128. }
  18129. // String returns the string representation
  18130. func (s AcceptVpcPeeringConnectionOutput) String() string {
  18131. return awsutil.Prettify(s)
  18132. }
  18133. // GoString returns the string representation
  18134. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  18135. return s.String()
  18136. }
  18137. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  18138. func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
  18139. s.VpcPeeringConnection = v
  18140. return s
  18141. }
  18142. // Describes an account attribute.
  18143. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AccountAttribute
  18144. type AccountAttribute struct {
  18145. _ struct{} `type:"structure"`
  18146. // The name of the account attribute.
  18147. AttributeName *string `locationName:"attributeName" type:"string"`
  18148. // One or more values for the account attribute.
  18149. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  18150. }
  18151. // String returns the string representation
  18152. func (s AccountAttribute) String() string {
  18153. return awsutil.Prettify(s)
  18154. }
  18155. // GoString returns the string representation
  18156. func (s AccountAttribute) GoString() string {
  18157. return s.String()
  18158. }
  18159. // SetAttributeName sets the AttributeName field's value.
  18160. func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
  18161. s.AttributeName = &v
  18162. return s
  18163. }
  18164. // SetAttributeValues sets the AttributeValues field's value.
  18165. func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
  18166. s.AttributeValues = v
  18167. return s
  18168. }
  18169. // Describes a value of an account attribute.
  18170. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AccountAttributeValue
  18171. type AccountAttributeValue struct {
  18172. _ struct{} `type:"structure"`
  18173. // The value of the attribute.
  18174. AttributeValue *string `locationName:"attributeValue" type:"string"`
  18175. }
  18176. // String returns the string representation
  18177. func (s AccountAttributeValue) String() string {
  18178. return awsutil.Prettify(s)
  18179. }
  18180. // GoString returns the string representation
  18181. func (s AccountAttributeValue) GoString() string {
  18182. return s.String()
  18183. }
  18184. // SetAttributeValue sets the AttributeValue field's value.
  18185. func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
  18186. s.AttributeValue = &v
  18187. return s
  18188. }
  18189. // Describes a running instance in a Spot fleet.
  18190. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ActiveInstance
  18191. type ActiveInstance struct {
  18192. _ struct{} `type:"structure"`
  18193. // The health status of the instance. If the status of either the instance status
  18194. // check or the system status check is impaired, the health status of the instance
  18195. // is unhealthy. Otherwise, the health status is healthy.
  18196. InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
  18197. // The ID of the instance.
  18198. InstanceId *string `locationName:"instanceId" type:"string"`
  18199. // The instance type.
  18200. InstanceType *string `locationName:"instanceType" type:"string"`
  18201. // The ID of the Spot instance request.
  18202. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  18203. }
  18204. // String returns the string representation
  18205. func (s ActiveInstance) String() string {
  18206. return awsutil.Prettify(s)
  18207. }
  18208. // GoString returns the string representation
  18209. func (s ActiveInstance) GoString() string {
  18210. return s.String()
  18211. }
  18212. // SetInstanceHealth sets the InstanceHealth field's value.
  18213. func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
  18214. s.InstanceHealth = &v
  18215. return s
  18216. }
  18217. // SetInstanceId sets the InstanceId field's value.
  18218. func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
  18219. s.InstanceId = &v
  18220. return s
  18221. }
  18222. // SetInstanceType sets the InstanceType field's value.
  18223. func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
  18224. s.InstanceType = &v
  18225. return s
  18226. }
  18227. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  18228. func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
  18229. s.SpotInstanceRequestId = &v
  18230. return s
  18231. }
  18232. // Describes an Elastic IP address.
  18233. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Address
  18234. type Address struct {
  18235. _ struct{} `type:"structure"`
  18236. // The ID representing the allocation of the address for use with EC2-VPC.
  18237. AllocationId *string `locationName:"allocationId" type:"string"`
  18238. // The ID representing the association of the address with an instance in a
  18239. // VPC.
  18240. AssociationId *string `locationName:"associationId" type:"string"`
  18241. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  18242. // (standard) or instances in a VPC (vpc).
  18243. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  18244. // The ID of the instance that the address is associated with (if any).
  18245. InstanceId *string `locationName:"instanceId" type:"string"`
  18246. // The ID of the network interface.
  18247. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  18248. // The ID of the AWS account that owns the network interface.
  18249. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  18250. // The private IP address associated with the Elastic IP address.
  18251. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  18252. // The Elastic IP address.
  18253. PublicIp *string `locationName:"publicIp" type:"string"`
  18254. }
  18255. // String returns the string representation
  18256. func (s Address) String() string {
  18257. return awsutil.Prettify(s)
  18258. }
  18259. // GoString returns the string representation
  18260. func (s Address) GoString() string {
  18261. return s.String()
  18262. }
  18263. // SetAllocationId sets the AllocationId field's value.
  18264. func (s *Address) SetAllocationId(v string) *Address {
  18265. s.AllocationId = &v
  18266. return s
  18267. }
  18268. // SetAssociationId sets the AssociationId field's value.
  18269. func (s *Address) SetAssociationId(v string) *Address {
  18270. s.AssociationId = &v
  18271. return s
  18272. }
  18273. // SetDomain sets the Domain field's value.
  18274. func (s *Address) SetDomain(v string) *Address {
  18275. s.Domain = &v
  18276. return s
  18277. }
  18278. // SetInstanceId sets the InstanceId field's value.
  18279. func (s *Address) SetInstanceId(v string) *Address {
  18280. s.InstanceId = &v
  18281. return s
  18282. }
  18283. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18284. func (s *Address) SetNetworkInterfaceId(v string) *Address {
  18285. s.NetworkInterfaceId = &v
  18286. return s
  18287. }
  18288. // SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
  18289. func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
  18290. s.NetworkInterfaceOwnerId = &v
  18291. return s
  18292. }
  18293. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  18294. func (s *Address) SetPrivateIpAddress(v string) *Address {
  18295. s.PrivateIpAddress = &v
  18296. return s
  18297. }
  18298. // SetPublicIp sets the PublicIp field's value.
  18299. func (s *Address) SetPublicIp(v string) *Address {
  18300. s.PublicIp = &v
  18301. return s
  18302. }
  18303. // Contains the parameters for AllocateAddress.
  18304. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressRequest
  18305. type AllocateAddressInput struct {
  18306. _ struct{} `type:"structure"`
  18307. // Set to vpc to allocate the address for use with instances in a VPC.
  18308. //
  18309. // Default: The address is for use with instances in EC2-Classic.
  18310. Domain *string `type:"string" enum:"DomainType"`
  18311. // Checks whether you have the required permissions for the action, without
  18312. // actually making the request, and provides an error response. If you have
  18313. // the required permissions, the error response is DryRunOperation. Otherwise,
  18314. // it is UnauthorizedOperation.
  18315. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18316. }
  18317. // String returns the string representation
  18318. func (s AllocateAddressInput) String() string {
  18319. return awsutil.Prettify(s)
  18320. }
  18321. // GoString returns the string representation
  18322. func (s AllocateAddressInput) GoString() string {
  18323. return s.String()
  18324. }
  18325. // SetDomain sets the Domain field's value.
  18326. func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
  18327. s.Domain = &v
  18328. return s
  18329. }
  18330. // SetDryRun sets the DryRun field's value.
  18331. func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
  18332. s.DryRun = &v
  18333. return s
  18334. }
  18335. // Contains the output of AllocateAddress.
  18336. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressResult
  18337. type AllocateAddressOutput struct {
  18338. _ struct{} `type:"structure"`
  18339. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  18340. // IP address for use with instances in a VPC.
  18341. AllocationId *string `locationName:"allocationId" type:"string"`
  18342. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  18343. // (standard) or instances in a VPC (vpc).
  18344. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  18345. // The Elastic IP address.
  18346. PublicIp *string `locationName:"publicIp" type:"string"`
  18347. }
  18348. // String returns the string representation
  18349. func (s AllocateAddressOutput) String() string {
  18350. return awsutil.Prettify(s)
  18351. }
  18352. // GoString returns the string representation
  18353. func (s AllocateAddressOutput) GoString() string {
  18354. return s.String()
  18355. }
  18356. // SetAllocationId sets the AllocationId field's value.
  18357. func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
  18358. s.AllocationId = &v
  18359. return s
  18360. }
  18361. // SetDomain sets the Domain field's value.
  18362. func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
  18363. s.Domain = &v
  18364. return s
  18365. }
  18366. // SetPublicIp sets the PublicIp field's value.
  18367. func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
  18368. s.PublicIp = &v
  18369. return s
  18370. }
  18371. // Contains the parameters for AllocateHosts.
  18372. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHostsRequest
  18373. type AllocateHostsInput struct {
  18374. _ struct{} `type:"structure"`
  18375. // This is enabled by default. This property allows instances to be automatically
  18376. // placed onto available Dedicated Hosts, when you are launching instances without
  18377. // specifying a host ID.
  18378. //
  18379. // Default: Enabled
  18380. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  18381. // The Availability Zone for the Dedicated Hosts.
  18382. //
  18383. // AvailabilityZone is a required field
  18384. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  18385. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  18386. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  18387. // in the Amazon Elastic Compute Cloud User Guide.
  18388. ClientToken *string `locationName:"clientToken" type:"string"`
  18389. // Specify the instance type that you want your Dedicated Hosts to be configured
  18390. // for. When you specify the instance type, that is the only instance type that
  18391. // you can launch onto that host.
  18392. //
  18393. // InstanceType is a required field
  18394. InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
  18395. // The number of Dedicated Hosts you want to allocate to your account with these
  18396. // parameters.
  18397. //
  18398. // Quantity is a required field
  18399. Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
  18400. }
  18401. // String returns the string representation
  18402. func (s AllocateHostsInput) String() string {
  18403. return awsutil.Prettify(s)
  18404. }
  18405. // GoString returns the string representation
  18406. func (s AllocateHostsInput) GoString() string {
  18407. return s.String()
  18408. }
  18409. // Validate inspects the fields of the type to determine if they are valid.
  18410. func (s *AllocateHostsInput) Validate() error {
  18411. invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
  18412. if s.AvailabilityZone == nil {
  18413. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  18414. }
  18415. if s.InstanceType == nil {
  18416. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  18417. }
  18418. if s.Quantity == nil {
  18419. invalidParams.Add(request.NewErrParamRequired("Quantity"))
  18420. }
  18421. if invalidParams.Len() > 0 {
  18422. return invalidParams
  18423. }
  18424. return nil
  18425. }
  18426. // SetAutoPlacement sets the AutoPlacement field's value.
  18427. func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
  18428. s.AutoPlacement = &v
  18429. return s
  18430. }
  18431. // SetAvailabilityZone sets the AvailabilityZone field's value.
  18432. func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
  18433. s.AvailabilityZone = &v
  18434. return s
  18435. }
  18436. // SetClientToken sets the ClientToken field's value.
  18437. func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
  18438. s.ClientToken = &v
  18439. return s
  18440. }
  18441. // SetInstanceType sets the InstanceType field's value.
  18442. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
  18443. s.InstanceType = &v
  18444. return s
  18445. }
  18446. // SetQuantity sets the Quantity field's value.
  18447. func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
  18448. s.Quantity = &v
  18449. return s
  18450. }
  18451. // Contains the output of AllocateHosts.
  18452. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHostsResult
  18453. type AllocateHostsOutput struct {
  18454. _ struct{} `type:"structure"`
  18455. // The ID of the allocated Dedicated Host. This is used when you want to launch
  18456. // an instance onto a specific host.
  18457. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  18458. }
  18459. // String returns the string representation
  18460. func (s AllocateHostsOutput) String() string {
  18461. return awsutil.Prettify(s)
  18462. }
  18463. // GoString returns the string representation
  18464. func (s AllocateHostsOutput) GoString() string {
  18465. return s.String()
  18466. }
  18467. // SetHostIds sets the HostIds field's value.
  18468. func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
  18469. s.HostIds = v
  18470. return s
  18471. }
  18472. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6AddressesRequest
  18473. type AssignIpv6AddressesInput struct {
  18474. _ struct{} `type:"structure"`
  18475. // The number of IPv6 addresses to assign to the network interface. Amazon EC2
  18476. // automatically selects the IPv6 addresses from the subnet range. You can't
  18477. // use this option if specifying specific IPv6 addresses.
  18478. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  18479. // One or more specific IPv6 addresses to be assigned to the network interface.
  18480. // You can't use this option if you're specifying a number of IPv6 addresses.
  18481. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  18482. // The ID of the network interface.
  18483. //
  18484. // NetworkInterfaceId is a required field
  18485. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  18486. }
  18487. // String returns the string representation
  18488. func (s AssignIpv6AddressesInput) String() string {
  18489. return awsutil.Prettify(s)
  18490. }
  18491. // GoString returns the string representation
  18492. func (s AssignIpv6AddressesInput) GoString() string {
  18493. return s.String()
  18494. }
  18495. // Validate inspects the fields of the type to determine if they are valid.
  18496. func (s *AssignIpv6AddressesInput) Validate() error {
  18497. invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
  18498. if s.NetworkInterfaceId == nil {
  18499. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  18500. }
  18501. if invalidParams.Len() > 0 {
  18502. return invalidParams
  18503. }
  18504. return nil
  18505. }
  18506. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  18507. func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
  18508. s.Ipv6AddressCount = &v
  18509. return s
  18510. }
  18511. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  18512. func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
  18513. s.Ipv6Addresses = v
  18514. return s
  18515. }
  18516. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18517. func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
  18518. s.NetworkInterfaceId = &v
  18519. return s
  18520. }
  18521. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6AddressesResult
  18522. type AssignIpv6AddressesOutput struct {
  18523. _ struct{} `type:"structure"`
  18524. // The IPv6 addresses assigned to the network interface.
  18525. AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
  18526. // The ID of the network interface.
  18527. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  18528. }
  18529. // String returns the string representation
  18530. func (s AssignIpv6AddressesOutput) String() string {
  18531. return awsutil.Prettify(s)
  18532. }
  18533. // GoString returns the string representation
  18534. func (s AssignIpv6AddressesOutput) GoString() string {
  18535. return s.String()
  18536. }
  18537. // SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
  18538. func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
  18539. s.AssignedIpv6Addresses = v
  18540. return s
  18541. }
  18542. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18543. func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
  18544. s.NetworkInterfaceId = &v
  18545. return s
  18546. }
  18547. // Contains the parameters for AssignPrivateIpAddresses.
  18548. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddressesRequest
  18549. type AssignPrivateIpAddressesInput struct {
  18550. _ struct{} `type:"structure"`
  18551. // Indicates whether to allow an IP address that is already assigned to another
  18552. // network interface or instance to be reassigned to the specified network interface.
  18553. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  18554. // The ID of the network interface.
  18555. //
  18556. // NetworkInterfaceId is a required field
  18557. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  18558. // One or more IP addresses to be assigned as a secondary private IP address
  18559. // to the network interface. You can't specify this parameter when also specifying
  18560. // a number of secondary IP addresses.
  18561. //
  18562. // If you don't specify an IP address, Amazon EC2 automatically selects an IP
  18563. // address within the subnet range.
  18564. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  18565. // The number of secondary IP addresses to assign to the network interface.
  18566. // You can't specify this parameter when also specifying private IP addresses.
  18567. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  18568. }
  18569. // String returns the string representation
  18570. func (s AssignPrivateIpAddressesInput) String() string {
  18571. return awsutil.Prettify(s)
  18572. }
  18573. // GoString returns the string representation
  18574. func (s AssignPrivateIpAddressesInput) GoString() string {
  18575. return s.String()
  18576. }
  18577. // Validate inspects the fields of the type to determine if they are valid.
  18578. func (s *AssignPrivateIpAddressesInput) Validate() error {
  18579. invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
  18580. if s.NetworkInterfaceId == nil {
  18581. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  18582. }
  18583. if invalidParams.Len() > 0 {
  18584. return invalidParams
  18585. }
  18586. return nil
  18587. }
  18588. // SetAllowReassignment sets the AllowReassignment field's value.
  18589. func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
  18590. s.AllowReassignment = &v
  18591. return s
  18592. }
  18593. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18594. func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
  18595. s.NetworkInterfaceId = &v
  18596. return s
  18597. }
  18598. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  18599. func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
  18600. s.PrivateIpAddresses = v
  18601. return s
  18602. }
  18603. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  18604. func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
  18605. s.SecondaryPrivateIpAddressCount = &v
  18606. return s
  18607. }
  18608. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddressesOutput
  18609. type AssignPrivateIpAddressesOutput struct {
  18610. _ struct{} `type:"structure"`
  18611. }
  18612. // String returns the string representation
  18613. func (s AssignPrivateIpAddressesOutput) String() string {
  18614. return awsutil.Prettify(s)
  18615. }
  18616. // GoString returns the string representation
  18617. func (s AssignPrivateIpAddressesOutput) GoString() string {
  18618. return s.String()
  18619. }
  18620. // Contains the parameters for AssociateAddress.
  18621. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddressRequest
  18622. type AssociateAddressInput struct {
  18623. _ struct{} `type:"structure"`
  18624. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  18625. AllocationId *string `type:"string"`
  18626. // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
  18627. // IP address that is already associated with an instance or network interface
  18628. // to be reassociated with the specified instance or network interface. Otherwise,
  18629. // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
  18630. // automatic, therefore you can specify false to ensure the operation fails
  18631. // if the Elastic IP address is already associated with another resource.
  18632. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  18633. // Checks whether you have the required permissions for the action, without
  18634. // actually making the request, and provides an error response. If you have
  18635. // the required permissions, the error response is DryRunOperation. Otherwise,
  18636. // it is UnauthorizedOperation.
  18637. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18638. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  18639. // can specify either the instance ID or the network interface ID, but not both.
  18640. // The operation fails if you specify an instance ID unless exactly one network
  18641. // interface is attached.
  18642. InstanceId *string `type:"string"`
  18643. // [EC2-VPC] The ID of the network interface. If the instance has more than
  18644. // one network interface, you must specify a network interface ID.
  18645. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  18646. // [EC2-VPC] The primary or secondary private IP address to associate with the
  18647. // Elastic IP address. If no private IP address is specified, the Elastic IP
  18648. // address is associated with the primary private IP address.
  18649. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  18650. // The Elastic IP address. This is required for EC2-Classic.
  18651. PublicIp *string `type:"string"`
  18652. }
  18653. // String returns the string representation
  18654. func (s AssociateAddressInput) String() string {
  18655. return awsutil.Prettify(s)
  18656. }
  18657. // GoString returns the string representation
  18658. func (s AssociateAddressInput) GoString() string {
  18659. return s.String()
  18660. }
  18661. // SetAllocationId sets the AllocationId field's value.
  18662. func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
  18663. s.AllocationId = &v
  18664. return s
  18665. }
  18666. // SetAllowReassociation sets the AllowReassociation field's value.
  18667. func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
  18668. s.AllowReassociation = &v
  18669. return s
  18670. }
  18671. // SetDryRun sets the DryRun field's value.
  18672. func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
  18673. s.DryRun = &v
  18674. return s
  18675. }
  18676. // SetInstanceId sets the InstanceId field's value.
  18677. func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
  18678. s.InstanceId = &v
  18679. return s
  18680. }
  18681. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18682. func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
  18683. s.NetworkInterfaceId = &v
  18684. return s
  18685. }
  18686. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  18687. func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
  18688. s.PrivateIpAddress = &v
  18689. return s
  18690. }
  18691. // SetPublicIp sets the PublicIp field's value.
  18692. func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
  18693. s.PublicIp = &v
  18694. return s
  18695. }
  18696. // Contains the output of AssociateAddress.
  18697. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddressResult
  18698. type AssociateAddressOutput struct {
  18699. _ struct{} `type:"structure"`
  18700. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  18701. // with an instance.
  18702. AssociationId *string `locationName:"associationId" type:"string"`
  18703. }
  18704. // String returns the string representation
  18705. func (s AssociateAddressOutput) String() string {
  18706. return awsutil.Prettify(s)
  18707. }
  18708. // GoString returns the string representation
  18709. func (s AssociateAddressOutput) GoString() string {
  18710. return s.String()
  18711. }
  18712. // SetAssociationId sets the AssociationId field's value.
  18713. func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
  18714. s.AssociationId = &v
  18715. return s
  18716. }
  18717. // Contains the parameters for AssociateDhcpOptions.
  18718. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptionsRequest
  18719. type AssociateDhcpOptionsInput struct {
  18720. _ struct{} `type:"structure"`
  18721. // The ID of the DHCP options set, or default to associate no DHCP options with
  18722. // the VPC.
  18723. //
  18724. // DhcpOptionsId is a required field
  18725. DhcpOptionsId *string `type:"string" required:"true"`
  18726. // Checks whether you have the required permissions for the action, without
  18727. // actually making the request, and provides an error response. If you have
  18728. // the required permissions, the error response is DryRunOperation. Otherwise,
  18729. // it is UnauthorizedOperation.
  18730. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18731. // The ID of the VPC.
  18732. //
  18733. // VpcId is a required field
  18734. VpcId *string `type:"string" required:"true"`
  18735. }
  18736. // String returns the string representation
  18737. func (s AssociateDhcpOptionsInput) String() string {
  18738. return awsutil.Prettify(s)
  18739. }
  18740. // GoString returns the string representation
  18741. func (s AssociateDhcpOptionsInput) GoString() string {
  18742. return s.String()
  18743. }
  18744. // Validate inspects the fields of the type to determine if they are valid.
  18745. func (s *AssociateDhcpOptionsInput) Validate() error {
  18746. invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
  18747. if s.DhcpOptionsId == nil {
  18748. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  18749. }
  18750. if s.VpcId == nil {
  18751. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  18752. }
  18753. if invalidParams.Len() > 0 {
  18754. return invalidParams
  18755. }
  18756. return nil
  18757. }
  18758. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  18759. func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
  18760. s.DhcpOptionsId = &v
  18761. return s
  18762. }
  18763. // SetDryRun sets the DryRun field's value.
  18764. func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
  18765. s.DryRun = &v
  18766. return s
  18767. }
  18768. // SetVpcId sets the VpcId field's value.
  18769. func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
  18770. s.VpcId = &v
  18771. return s
  18772. }
  18773. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptionsOutput
  18774. type AssociateDhcpOptionsOutput struct {
  18775. _ struct{} `type:"structure"`
  18776. }
  18777. // String returns the string representation
  18778. func (s AssociateDhcpOptionsOutput) String() string {
  18779. return awsutil.Prettify(s)
  18780. }
  18781. // GoString returns the string representation
  18782. func (s AssociateDhcpOptionsOutput) GoString() string {
  18783. return s.String()
  18784. }
  18785. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfileRequest
  18786. type AssociateIamInstanceProfileInput struct {
  18787. _ struct{} `type:"structure"`
  18788. // The IAM instance profile.
  18789. //
  18790. // IamInstanceProfile is a required field
  18791. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  18792. // The ID of the instance.
  18793. //
  18794. // InstanceId is a required field
  18795. InstanceId *string `type:"string" required:"true"`
  18796. }
  18797. // String returns the string representation
  18798. func (s AssociateIamInstanceProfileInput) String() string {
  18799. return awsutil.Prettify(s)
  18800. }
  18801. // GoString returns the string representation
  18802. func (s AssociateIamInstanceProfileInput) GoString() string {
  18803. return s.String()
  18804. }
  18805. // Validate inspects the fields of the type to determine if they are valid.
  18806. func (s *AssociateIamInstanceProfileInput) Validate() error {
  18807. invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
  18808. if s.IamInstanceProfile == nil {
  18809. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  18810. }
  18811. if s.InstanceId == nil {
  18812. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  18813. }
  18814. if invalidParams.Len() > 0 {
  18815. return invalidParams
  18816. }
  18817. return nil
  18818. }
  18819. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  18820. func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
  18821. s.IamInstanceProfile = v
  18822. return s
  18823. }
  18824. // SetInstanceId sets the InstanceId field's value.
  18825. func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
  18826. s.InstanceId = &v
  18827. return s
  18828. }
  18829. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfileResult
  18830. type AssociateIamInstanceProfileOutput struct {
  18831. _ struct{} `type:"structure"`
  18832. // Information about the IAM instance profile association.
  18833. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  18834. }
  18835. // String returns the string representation
  18836. func (s AssociateIamInstanceProfileOutput) String() string {
  18837. return awsutil.Prettify(s)
  18838. }
  18839. // GoString returns the string representation
  18840. func (s AssociateIamInstanceProfileOutput) GoString() string {
  18841. return s.String()
  18842. }
  18843. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  18844. func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
  18845. s.IamInstanceProfileAssociation = v
  18846. return s
  18847. }
  18848. // Contains the parameters for AssociateRouteTable.
  18849. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTableRequest
  18850. type AssociateRouteTableInput struct {
  18851. _ struct{} `type:"structure"`
  18852. // Checks whether you have the required permissions for the action, without
  18853. // actually making the request, and provides an error response. If you have
  18854. // the required permissions, the error response is DryRunOperation. Otherwise,
  18855. // it is UnauthorizedOperation.
  18856. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18857. // The ID of the route table.
  18858. //
  18859. // RouteTableId is a required field
  18860. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  18861. // The ID of the subnet.
  18862. //
  18863. // SubnetId is a required field
  18864. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  18865. }
  18866. // String returns the string representation
  18867. func (s AssociateRouteTableInput) String() string {
  18868. return awsutil.Prettify(s)
  18869. }
  18870. // GoString returns the string representation
  18871. func (s AssociateRouteTableInput) GoString() string {
  18872. return s.String()
  18873. }
  18874. // Validate inspects the fields of the type to determine if they are valid.
  18875. func (s *AssociateRouteTableInput) Validate() error {
  18876. invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
  18877. if s.RouteTableId == nil {
  18878. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  18879. }
  18880. if s.SubnetId == nil {
  18881. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  18882. }
  18883. if invalidParams.Len() > 0 {
  18884. return invalidParams
  18885. }
  18886. return nil
  18887. }
  18888. // SetDryRun sets the DryRun field's value.
  18889. func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
  18890. s.DryRun = &v
  18891. return s
  18892. }
  18893. // SetRouteTableId sets the RouteTableId field's value.
  18894. func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
  18895. s.RouteTableId = &v
  18896. return s
  18897. }
  18898. // SetSubnetId sets the SubnetId field's value.
  18899. func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
  18900. s.SubnetId = &v
  18901. return s
  18902. }
  18903. // Contains the output of AssociateRouteTable.
  18904. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTableResult
  18905. type AssociateRouteTableOutput struct {
  18906. _ struct{} `type:"structure"`
  18907. // The route table association ID (needed to disassociate the route table).
  18908. AssociationId *string `locationName:"associationId" type:"string"`
  18909. }
  18910. // String returns the string representation
  18911. func (s AssociateRouteTableOutput) String() string {
  18912. return awsutil.Prettify(s)
  18913. }
  18914. // GoString returns the string representation
  18915. func (s AssociateRouteTableOutput) GoString() string {
  18916. return s.String()
  18917. }
  18918. // SetAssociationId sets the AssociationId field's value.
  18919. func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
  18920. s.AssociationId = &v
  18921. return s
  18922. }
  18923. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlockRequest
  18924. type AssociateSubnetCidrBlockInput struct {
  18925. _ struct{} `type:"structure"`
  18926. // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
  18927. //
  18928. // Ipv6CidrBlock is a required field
  18929. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
  18930. // The ID of your subnet.
  18931. //
  18932. // SubnetId is a required field
  18933. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  18934. }
  18935. // String returns the string representation
  18936. func (s AssociateSubnetCidrBlockInput) String() string {
  18937. return awsutil.Prettify(s)
  18938. }
  18939. // GoString returns the string representation
  18940. func (s AssociateSubnetCidrBlockInput) GoString() string {
  18941. return s.String()
  18942. }
  18943. // Validate inspects the fields of the type to determine if they are valid.
  18944. func (s *AssociateSubnetCidrBlockInput) Validate() error {
  18945. invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
  18946. if s.Ipv6CidrBlock == nil {
  18947. invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
  18948. }
  18949. if s.SubnetId == nil {
  18950. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  18951. }
  18952. if invalidParams.Len() > 0 {
  18953. return invalidParams
  18954. }
  18955. return nil
  18956. }
  18957. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  18958. func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
  18959. s.Ipv6CidrBlock = &v
  18960. return s
  18961. }
  18962. // SetSubnetId sets the SubnetId field's value.
  18963. func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
  18964. s.SubnetId = &v
  18965. return s
  18966. }
  18967. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlockResult
  18968. type AssociateSubnetCidrBlockOutput struct {
  18969. _ struct{} `type:"structure"`
  18970. // Information about the IPv6 CIDR block association.
  18971. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  18972. // The ID of the subnet.
  18973. SubnetId *string `locationName:"subnetId" type:"string"`
  18974. }
  18975. // String returns the string representation
  18976. func (s AssociateSubnetCidrBlockOutput) String() string {
  18977. return awsutil.Prettify(s)
  18978. }
  18979. // GoString returns the string representation
  18980. func (s AssociateSubnetCidrBlockOutput) GoString() string {
  18981. return s.String()
  18982. }
  18983. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  18984. func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
  18985. s.Ipv6CidrBlockAssociation = v
  18986. return s
  18987. }
  18988. // SetSubnetId sets the SubnetId field's value.
  18989. func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
  18990. s.SubnetId = &v
  18991. return s
  18992. }
  18993. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlockRequest
  18994. type AssociateVpcCidrBlockInput struct {
  18995. _ struct{} `type:"structure"`
  18996. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  18997. // the VPC. You cannot specify the range of IPv6 addresses, or the size of the
  18998. // CIDR block.
  18999. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  19000. // The ID of the VPC.
  19001. //
  19002. // VpcId is a required field
  19003. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  19004. }
  19005. // String returns the string representation
  19006. func (s AssociateVpcCidrBlockInput) String() string {
  19007. return awsutil.Prettify(s)
  19008. }
  19009. // GoString returns the string representation
  19010. func (s AssociateVpcCidrBlockInput) GoString() string {
  19011. return s.String()
  19012. }
  19013. // Validate inspects the fields of the type to determine if they are valid.
  19014. func (s *AssociateVpcCidrBlockInput) Validate() error {
  19015. invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
  19016. if s.VpcId == nil {
  19017. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19018. }
  19019. if invalidParams.Len() > 0 {
  19020. return invalidParams
  19021. }
  19022. return nil
  19023. }
  19024. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  19025. func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
  19026. s.AmazonProvidedIpv6CidrBlock = &v
  19027. return s
  19028. }
  19029. // SetVpcId sets the VpcId field's value.
  19030. func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
  19031. s.VpcId = &v
  19032. return s
  19033. }
  19034. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlockResult
  19035. type AssociateVpcCidrBlockOutput struct {
  19036. _ struct{} `type:"structure"`
  19037. // Information about the IPv6 CIDR block association.
  19038. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  19039. // The ID of the VPC.
  19040. VpcId *string `locationName:"vpcId" type:"string"`
  19041. }
  19042. // String returns the string representation
  19043. func (s AssociateVpcCidrBlockOutput) String() string {
  19044. return awsutil.Prettify(s)
  19045. }
  19046. // GoString returns the string representation
  19047. func (s AssociateVpcCidrBlockOutput) GoString() string {
  19048. return s.String()
  19049. }
  19050. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  19051. func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  19052. s.Ipv6CidrBlockAssociation = v
  19053. return s
  19054. }
  19055. // SetVpcId sets the VpcId field's value.
  19056. func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
  19057. s.VpcId = &v
  19058. return s
  19059. }
  19060. // Contains the parameters for AttachClassicLinkVpc.
  19061. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpcRequest
  19062. type AttachClassicLinkVpcInput struct {
  19063. _ struct{} `type:"structure"`
  19064. // Checks whether you have the required permissions for the action, without
  19065. // actually making the request, and provides an error response. If you have
  19066. // the required permissions, the error response is DryRunOperation. Otherwise,
  19067. // it is UnauthorizedOperation.
  19068. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19069. // The ID of one or more of the VPC's security groups. You cannot specify security
  19070. // groups from a different VPC.
  19071. //
  19072. // Groups is a required field
  19073. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  19074. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  19075. //
  19076. // InstanceId is a required field
  19077. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  19078. // The ID of a ClassicLink-enabled VPC.
  19079. //
  19080. // VpcId is a required field
  19081. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  19082. }
  19083. // String returns the string representation
  19084. func (s AttachClassicLinkVpcInput) String() string {
  19085. return awsutil.Prettify(s)
  19086. }
  19087. // GoString returns the string representation
  19088. func (s AttachClassicLinkVpcInput) GoString() string {
  19089. return s.String()
  19090. }
  19091. // Validate inspects the fields of the type to determine if they are valid.
  19092. func (s *AttachClassicLinkVpcInput) Validate() error {
  19093. invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
  19094. if s.Groups == nil {
  19095. invalidParams.Add(request.NewErrParamRequired("Groups"))
  19096. }
  19097. if s.InstanceId == nil {
  19098. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19099. }
  19100. if s.VpcId == nil {
  19101. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19102. }
  19103. if invalidParams.Len() > 0 {
  19104. return invalidParams
  19105. }
  19106. return nil
  19107. }
  19108. // SetDryRun sets the DryRun field's value.
  19109. func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
  19110. s.DryRun = &v
  19111. return s
  19112. }
  19113. // SetGroups sets the Groups field's value.
  19114. func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
  19115. s.Groups = v
  19116. return s
  19117. }
  19118. // SetInstanceId sets the InstanceId field's value.
  19119. func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
  19120. s.InstanceId = &v
  19121. return s
  19122. }
  19123. // SetVpcId sets the VpcId field's value.
  19124. func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
  19125. s.VpcId = &v
  19126. return s
  19127. }
  19128. // Contains the output of AttachClassicLinkVpc.
  19129. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpcResult
  19130. type AttachClassicLinkVpcOutput struct {
  19131. _ struct{} `type:"structure"`
  19132. // Returns true if the request succeeds; otherwise, it returns an error.
  19133. Return *bool `locationName:"return" type:"boolean"`
  19134. }
  19135. // String returns the string representation
  19136. func (s AttachClassicLinkVpcOutput) String() string {
  19137. return awsutil.Prettify(s)
  19138. }
  19139. // GoString returns the string representation
  19140. func (s AttachClassicLinkVpcOutput) GoString() string {
  19141. return s.String()
  19142. }
  19143. // SetReturn sets the Return field's value.
  19144. func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
  19145. s.Return = &v
  19146. return s
  19147. }
  19148. // Contains the parameters for AttachInternetGateway.
  19149. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGatewayRequest
  19150. type AttachInternetGatewayInput struct {
  19151. _ struct{} `type:"structure"`
  19152. // Checks whether you have the required permissions for the action, without
  19153. // actually making the request, and provides an error response. If you have
  19154. // the required permissions, the error response is DryRunOperation. Otherwise,
  19155. // it is UnauthorizedOperation.
  19156. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19157. // The ID of the Internet gateway.
  19158. //
  19159. // InternetGatewayId is a required field
  19160. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  19161. // The ID of the VPC.
  19162. //
  19163. // VpcId is a required field
  19164. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  19165. }
  19166. // String returns the string representation
  19167. func (s AttachInternetGatewayInput) String() string {
  19168. return awsutil.Prettify(s)
  19169. }
  19170. // GoString returns the string representation
  19171. func (s AttachInternetGatewayInput) GoString() string {
  19172. return s.String()
  19173. }
  19174. // Validate inspects the fields of the type to determine if they are valid.
  19175. func (s *AttachInternetGatewayInput) Validate() error {
  19176. invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
  19177. if s.InternetGatewayId == nil {
  19178. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  19179. }
  19180. if s.VpcId == nil {
  19181. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19182. }
  19183. if invalidParams.Len() > 0 {
  19184. return invalidParams
  19185. }
  19186. return nil
  19187. }
  19188. // SetDryRun sets the DryRun field's value.
  19189. func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
  19190. s.DryRun = &v
  19191. return s
  19192. }
  19193. // SetInternetGatewayId sets the InternetGatewayId field's value.
  19194. func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
  19195. s.InternetGatewayId = &v
  19196. return s
  19197. }
  19198. // SetVpcId sets the VpcId field's value.
  19199. func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
  19200. s.VpcId = &v
  19201. return s
  19202. }
  19203. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGatewayOutput
  19204. type AttachInternetGatewayOutput struct {
  19205. _ struct{} `type:"structure"`
  19206. }
  19207. // String returns the string representation
  19208. func (s AttachInternetGatewayOutput) String() string {
  19209. return awsutil.Prettify(s)
  19210. }
  19211. // GoString returns the string representation
  19212. func (s AttachInternetGatewayOutput) GoString() string {
  19213. return s.String()
  19214. }
  19215. // Contains the parameters for AttachNetworkInterface.
  19216. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterfaceRequest
  19217. type AttachNetworkInterfaceInput struct {
  19218. _ struct{} `type:"structure"`
  19219. // The index of the device for the network interface attachment.
  19220. //
  19221. // DeviceIndex is a required field
  19222. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  19223. // Checks whether you have the required permissions for the action, without
  19224. // actually making the request, and provides an error response. If you have
  19225. // the required permissions, the error response is DryRunOperation. Otherwise,
  19226. // it is UnauthorizedOperation.
  19227. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19228. // The ID of the instance.
  19229. //
  19230. // InstanceId is a required field
  19231. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  19232. // The ID of the network interface.
  19233. //
  19234. // NetworkInterfaceId is a required field
  19235. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  19236. }
  19237. // String returns the string representation
  19238. func (s AttachNetworkInterfaceInput) String() string {
  19239. return awsutil.Prettify(s)
  19240. }
  19241. // GoString returns the string representation
  19242. func (s AttachNetworkInterfaceInput) GoString() string {
  19243. return s.String()
  19244. }
  19245. // Validate inspects the fields of the type to determine if they are valid.
  19246. func (s *AttachNetworkInterfaceInput) Validate() error {
  19247. invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
  19248. if s.DeviceIndex == nil {
  19249. invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
  19250. }
  19251. if s.InstanceId == nil {
  19252. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19253. }
  19254. if s.NetworkInterfaceId == nil {
  19255. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  19256. }
  19257. if invalidParams.Len() > 0 {
  19258. return invalidParams
  19259. }
  19260. return nil
  19261. }
  19262. // SetDeviceIndex sets the DeviceIndex field's value.
  19263. func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
  19264. s.DeviceIndex = &v
  19265. return s
  19266. }
  19267. // SetDryRun sets the DryRun field's value.
  19268. func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
  19269. s.DryRun = &v
  19270. return s
  19271. }
  19272. // SetInstanceId sets the InstanceId field's value.
  19273. func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
  19274. s.InstanceId = &v
  19275. return s
  19276. }
  19277. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  19278. func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
  19279. s.NetworkInterfaceId = &v
  19280. return s
  19281. }
  19282. // Contains the output of AttachNetworkInterface.
  19283. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterfaceResult
  19284. type AttachNetworkInterfaceOutput struct {
  19285. _ struct{} `type:"structure"`
  19286. // The ID of the network interface attachment.
  19287. AttachmentId *string `locationName:"attachmentId" type:"string"`
  19288. }
  19289. // String returns the string representation
  19290. func (s AttachNetworkInterfaceOutput) String() string {
  19291. return awsutil.Prettify(s)
  19292. }
  19293. // GoString returns the string representation
  19294. func (s AttachNetworkInterfaceOutput) GoString() string {
  19295. return s.String()
  19296. }
  19297. // SetAttachmentId sets the AttachmentId field's value.
  19298. func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
  19299. s.AttachmentId = &v
  19300. return s
  19301. }
  19302. // Contains the parameters for AttachVolume.
  19303. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolumeRequest
  19304. type AttachVolumeInput struct {
  19305. _ struct{} `type:"structure"`
  19306. // The device name to expose to the instance (for example, /dev/sdh or xvdh).
  19307. //
  19308. // Device is a required field
  19309. Device *string `type:"string" required:"true"`
  19310. // Checks whether you have the required permissions for the action, without
  19311. // actually making the request, and provides an error response. If you have
  19312. // the required permissions, the error response is DryRunOperation. Otherwise,
  19313. // it is UnauthorizedOperation.
  19314. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19315. // The ID of the instance.
  19316. //
  19317. // InstanceId is a required field
  19318. InstanceId *string `type:"string" required:"true"`
  19319. // The ID of the EBS volume. The volume and instance must be within the same
  19320. // Availability Zone.
  19321. //
  19322. // VolumeId is a required field
  19323. VolumeId *string `type:"string" required:"true"`
  19324. }
  19325. // String returns the string representation
  19326. func (s AttachVolumeInput) String() string {
  19327. return awsutil.Prettify(s)
  19328. }
  19329. // GoString returns the string representation
  19330. func (s AttachVolumeInput) GoString() string {
  19331. return s.String()
  19332. }
  19333. // Validate inspects the fields of the type to determine if they are valid.
  19334. func (s *AttachVolumeInput) Validate() error {
  19335. invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
  19336. if s.Device == nil {
  19337. invalidParams.Add(request.NewErrParamRequired("Device"))
  19338. }
  19339. if s.InstanceId == nil {
  19340. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19341. }
  19342. if s.VolumeId == nil {
  19343. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  19344. }
  19345. if invalidParams.Len() > 0 {
  19346. return invalidParams
  19347. }
  19348. return nil
  19349. }
  19350. // SetDevice sets the Device field's value.
  19351. func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
  19352. s.Device = &v
  19353. return s
  19354. }
  19355. // SetDryRun sets the DryRun field's value.
  19356. func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
  19357. s.DryRun = &v
  19358. return s
  19359. }
  19360. // SetInstanceId sets the InstanceId field's value.
  19361. func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
  19362. s.InstanceId = &v
  19363. return s
  19364. }
  19365. // SetVolumeId sets the VolumeId field's value.
  19366. func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
  19367. s.VolumeId = &v
  19368. return s
  19369. }
  19370. // Contains the parameters for AttachVpnGateway.
  19371. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGatewayRequest
  19372. type AttachVpnGatewayInput struct {
  19373. _ struct{} `type:"structure"`
  19374. // Checks whether you have the required permissions for the action, without
  19375. // actually making the request, and provides an error response. If you have
  19376. // the required permissions, the error response is DryRunOperation. Otherwise,
  19377. // it is UnauthorizedOperation.
  19378. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19379. // The ID of the VPC.
  19380. //
  19381. // VpcId is a required field
  19382. VpcId *string `type:"string" required:"true"`
  19383. // The ID of the virtual private gateway.
  19384. //
  19385. // VpnGatewayId is a required field
  19386. VpnGatewayId *string `type:"string" required:"true"`
  19387. }
  19388. // String returns the string representation
  19389. func (s AttachVpnGatewayInput) String() string {
  19390. return awsutil.Prettify(s)
  19391. }
  19392. // GoString returns the string representation
  19393. func (s AttachVpnGatewayInput) GoString() string {
  19394. return s.String()
  19395. }
  19396. // Validate inspects the fields of the type to determine if they are valid.
  19397. func (s *AttachVpnGatewayInput) Validate() error {
  19398. invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
  19399. if s.VpcId == nil {
  19400. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19401. }
  19402. if s.VpnGatewayId == nil {
  19403. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  19404. }
  19405. if invalidParams.Len() > 0 {
  19406. return invalidParams
  19407. }
  19408. return nil
  19409. }
  19410. // SetDryRun sets the DryRun field's value.
  19411. func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
  19412. s.DryRun = &v
  19413. return s
  19414. }
  19415. // SetVpcId sets the VpcId field's value.
  19416. func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
  19417. s.VpcId = &v
  19418. return s
  19419. }
  19420. // SetVpnGatewayId sets the VpnGatewayId field's value.
  19421. func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
  19422. s.VpnGatewayId = &v
  19423. return s
  19424. }
  19425. // Contains the output of AttachVpnGateway.
  19426. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGatewayResult
  19427. type AttachVpnGatewayOutput struct {
  19428. _ struct{} `type:"structure"`
  19429. // Information about the attachment.
  19430. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  19431. }
  19432. // String returns the string representation
  19433. func (s AttachVpnGatewayOutput) String() string {
  19434. return awsutil.Prettify(s)
  19435. }
  19436. // GoString returns the string representation
  19437. func (s AttachVpnGatewayOutput) GoString() string {
  19438. return s.String()
  19439. }
  19440. // SetVpcAttachment sets the VpcAttachment field's value.
  19441. func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
  19442. s.VpcAttachment = v
  19443. return s
  19444. }
  19445. // Describes a value for a resource attribute that is a Boolean value.
  19446. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttributeBooleanValue
  19447. type AttributeBooleanValue struct {
  19448. _ struct{} `type:"structure"`
  19449. // The attribute value. The valid values are true or false.
  19450. Value *bool `locationName:"value" type:"boolean"`
  19451. }
  19452. // String returns the string representation
  19453. func (s AttributeBooleanValue) String() string {
  19454. return awsutil.Prettify(s)
  19455. }
  19456. // GoString returns the string representation
  19457. func (s AttributeBooleanValue) GoString() string {
  19458. return s.String()
  19459. }
  19460. // SetValue sets the Value field's value.
  19461. func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
  19462. s.Value = &v
  19463. return s
  19464. }
  19465. // Describes a value for a resource attribute that is a String.
  19466. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttributeValue
  19467. type AttributeValue struct {
  19468. _ struct{} `type:"structure"`
  19469. // The attribute value. Note that the value is case-sensitive.
  19470. Value *string `locationName:"value" type:"string"`
  19471. }
  19472. // String returns the string representation
  19473. func (s AttributeValue) String() string {
  19474. return awsutil.Prettify(s)
  19475. }
  19476. // GoString returns the string representation
  19477. func (s AttributeValue) GoString() string {
  19478. return s.String()
  19479. }
  19480. // SetValue sets the Value field's value.
  19481. func (s *AttributeValue) SetValue(v string) *AttributeValue {
  19482. s.Value = &v
  19483. return s
  19484. }
  19485. // Contains the parameters for AuthorizeSecurityGroupEgress.
  19486. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgressRequest
  19487. type AuthorizeSecurityGroupEgressInput struct {
  19488. _ struct{} `type:"structure"`
  19489. // The CIDR IPv4 address range. We recommend that you specify the CIDR range
  19490. // in a set of IP permissions instead.
  19491. CidrIp *string `locationName:"cidrIp" type:"string"`
  19492. // Checks whether you have the required permissions for the action, without
  19493. // actually making the request, and provides an error response. If you have
  19494. // the required permissions, the error response is DryRunOperation. Otherwise,
  19495. // it is UnauthorizedOperation.
  19496. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19497. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  19498. // We recommend that you specify the port range in a set of IP permissions instead.
  19499. FromPort *int64 `locationName:"fromPort" type:"integer"`
  19500. // The ID of the security group.
  19501. //
  19502. // GroupId is a required field
  19503. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  19504. // A set of IP permissions. You can't specify a destination security group and
  19505. // a CIDR IP address range.
  19506. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  19507. // The IP protocol name or number. We recommend that you specify the protocol
  19508. // in a set of IP permissions instead.
  19509. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  19510. // The name of a destination security group. To authorize outbound access to
  19511. // a destination security group, we recommend that you use a set of IP permissions
  19512. // instead.
  19513. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  19514. // The AWS account number for a destination security group. To authorize outbound
  19515. // access to a destination security group, we recommend that you use a set of
  19516. // IP permissions instead.
  19517. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  19518. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  19519. // We recommend that you specify the port range in a set of IP permissions instead.
  19520. ToPort *int64 `locationName:"toPort" type:"integer"`
  19521. }
  19522. // String returns the string representation
  19523. func (s AuthorizeSecurityGroupEgressInput) String() string {
  19524. return awsutil.Prettify(s)
  19525. }
  19526. // GoString returns the string representation
  19527. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  19528. return s.String()
  19529. }
  19530. // Validate inspects the fields of the type to determine if they are valid.
  19531. func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
  19532. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
  19533. if s.GroupId == nil {
  19534. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  19535. }
  19536. if invalidParams.Len() > 0 {
  19537. return invalidParams
  19538. }
  19539. return nil
  19540. }
  19541. // SetCidrIp sets the CidrIp field's value.
  19542. func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
  19543. s.CidrIp = &v
  19544. return s
  19545. }
  19546. // SetDryRun sets the DryRun field's value.
  19547. func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
  19548. s.DryRun = &v
  19549. return s
  19550. }
  19551. // SetFromPort sets the FromPort field's value.
  19552. func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
  19553. s.FromPort = &v
  19554. return s
  19555. }
  19556. // SetGroupId sets the GroupId field's value.
  19557. func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
  19558. s.GroupId = &v
  19559. return s
  19560. }
  19561. // SetIpPermissions sets the IpPermissions field's value.
  19562. func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
  19563. s.IpPermissions = v
  19564. return s
  19565. }
  19566. // SetIpProtocol sets the IpProtocol field's value.
  19567. func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
  19568. s.IpProtocol = &v
  19569. return s
  19570. }
  19571. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  19572. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
  19573. s.SourceSecurityGroupName = &v
  19574. return s
  19575. }
  19576. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  19577. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
  19578. s.SourceSecurityGroupOwnerId = &v
  19579. return s
  19580. }
  19581. // SetToPort sets the ToPort field's value.
  19582. func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
  19583. s.ToPort = &v
  19584. return s
  19585. }
  19586. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgressOutput
  19587. type AuthorizeSecurityGroupEgressOutput struct {
  19588. _ struct{} `type:"structure"`
  19589. }
  19590. // String returns the string representation
  19591. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  19592. return awsutil.Prettify(s)
  19593. }
  19594. // GoString returns the string representation
  19595. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  19596. return s.String()
  19597. }
  19598. // Contains the parameters for AuthorizeSecurityGroupIngress.
  19599. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngressRequest
  19600. type AuthorizeSecurityGroupIngressInput struct {
  19601. _ struct{} `type:"structure"`
  19602. // The CIDR IPv4 address range. You can't specify this parameter when specifying
  19603. // a source security group.
  19604. CidrIp *string `type:"string"`
  19605. // Checks whether you have the required permissions for the action, without
  19606. // actually making the request, and provides an error response. If you have
  19607. // the required permissions, the error response is DryRunOperation. Otherwise,
  19608. // it is UnauthorizedOperation.
  19609. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19610. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  19611. // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.
  19612. FromPort *int64 `type:"integer"`
  19613. // The ID of the security group. Required for a nondefault VPC.
  19614. GroupId *string `type:"string"`
  19615. // [EC2-Classic, default VPC] The name of the security group.
  19616. GroupName *string `type:"string"`
  19617. // A set of IP permissions. Can be used to specify multiple rules in a single
  19618. // command.
  19619. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  19620. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  19621. // (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol
  19622. // number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is
  19623. // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you
  19624. // must specify a port range. For protocol 58 (ICMPv6), you can optionally specify
  19625. // a port range; if you don't, traffic for all types and codes is allowed.
  19626. IpProtocol *string `type:"string"`
  19627. // [EC2-Classic, default VPC] The name of the source security group. You can't
  19628. // specify this parameter in combination with the following parameters: the
  19629. // CIDR IP address range, the start of the port range, the IP protocol, and
  19630. // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
  19631. // access. To create a rule with a specific IP protocol and port range, use
  19632. // a set of IP permissions instead. For EC2-VPC, the source security group must
  19633. // be in the same VPC.
  19634. SourceSecurityGroupName *string `type:"string"`
  19635. // [EC2-Classic] The AWS account number for the source security group, if the
  19636. // source security group is in a different account. You can't specify this parameter
  19637. // in combination with the following parameters: the CIDR IP address range,
  19638. // the IP protocol, the start of the port range, and the end of the port range.
  19639. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
  19640. // with a specific IP protocol and port range, use a set of IP permissions instead.
  19641. SourceSecurityGroupOwnerId *string `type:"string"`
  19642. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code
  19643. // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes.
  19644. ToPort *int64 `type:"integer"`
  19645. }
  19646. // String returns the string representation
  19647. func (s AuthorizeSecurityGroupIngressInput) String() string {
  19648. return awsutil.Prettify(s)
  19649. }
  19650. // GoString returns the string representation
  19651. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  19652. return s.String()
  19653. }
  19654. // SetCidrIp sets the CidrIp field's value.
  19655. func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
  19656. s.CidrIp = &v
  19657. return s
  19658. }
  19659. // SetDryRun sets the DryRun field's value.
  19660. func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
  19661. s.DryRun = &v
  19662. return s
  19663. }
  19664. // SetFromPort sets the FromPort field's value.
  19665. func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
  19666. s.FromPort = &v
  19667. return s
  19668. }
  19669. // SetGroupId sets the GroupId field's value.
  19670. func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
  19671. s.GroupId = &v
  19672. return s
  19673. }
  19674. // SetGroupName sets the GroupName field's value.
  19675. func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  19676. s.GroupName = &v
  19677. return s
  19678. }
  19679. // SetIpPermissions sets the IpPermissions field's value.
  19680. func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
  19681. s.IpPermissions = v
  19682. return s
  19683. }
  19684. // SetIpProtocol sets the IpProtocol field's value.
  19685. func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
  19686. s.IpProtocol = &v
  19687. return s
  19688. }
  19689. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  19690. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  19691. s.SourceSecurityGroupName = &v
  19692. return s
  19693. }
  19694. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  19695. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
  19696. s.SourceSecurityGroupOwnerId = &v
  19697. return s
  19698. }
  19699. // SetToPort sets the ToPort field's value.
  19700. func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
  19701. s.ToPort = &v
  19702. return s
  19703. }
  19704. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngressOutput
  19705. type AuthorizeSecurityGroupIngressOutput struct {
  19706. _ struct{} `type:"structure"`
  19707. }
  19708. // String returns the string representation
  19709. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  19710. return awsutil.Prettify(s)
  19711. }
  19712. // GoString returns the string representation
  19713. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  19714. return s.String()
  19715. }
  19716. // Describes an Availability Zone.
  19717. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZone
  19718. type AvailabilityZone struct {
  19719. _ struct{} `type:"structure"`
  19720. // Any messages about the Availability Zone.
  19721. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  19722. // The name of the region.
  19723. RegionName *string `locationName:"regionName" type:"string"`
  19724. // The state of the Availability Zone.
  19725. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  19726. // The name of the Availability Zone.
  19727. ZoneName *string `locationName:"zoneName" type:"string"`
  19728. }
  19729. // String returns the string representation
  19730. func (s AvailabilityZone) String() string {
  19731. return awsutil.Prettify(s)
  19732. }
  19733. // GoString returns the string representation
  19734. func (s AvailabilityZone) GoString() string {
  19735. return s.String()
  19736. }
  19737. // SetMessages sets the Messages field's value.
  19738. func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
  19739. s.Messages = v
  19740. return s
  19741. }
  19742. // SetRegionName sets the RegionName field's value.
  19743. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
  19744. s.RegionName = &v
  19745. return s
  19746. }
  19747. // SetState sets the State field's value.
  19748. func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
  19749. s.State = &v
  19750. return s
  19751. }
  19752. // SetZoneName sets the ZoneName field's value.
  19753. func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
  19754. s.ZoneName = &v
  19755. return s
  19756. }
  19757. // Describes a message about an Availability Zone.
  19758. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZoneMessage
  19759. type AvailabilityZoneMessage struct {
  19760. _ struct{} `type:"structure"`
  19761. // The message about the Availability Zone.
  19762. Message *string `locationName:"message" type:"string"`
  19763. }
  19764. // String returns the string representation
  19765. func (s AvailabilityZoneMessage) String() string {
  19766. return awsutil.Prettify(s)
  19767. }
  19768. // GoString returns the string representation
  19769. func (s AvailabilityZoneMessage) GoString() string {
  19770. return s.String()
  19771. }
  19772. // SetMessage sets the Message field's value.
  19773. func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
  19774. s.Message = &v
  19775. return s
  19776. }
  19777. // The capacity information for instances launched onto the Dedicated Host.
  19778. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailableCapacity
  19779. type AvailableCapacity struct {
  19780. _ struct{} `type:"structure"`
  19781. // The total number of instances that the Dedicated Host supports.
  19782. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
  19783. // The number of vCPUs available on the Dedicated Host.
  19784. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
  19785. }
  19786. // String returns the string representation
  19787. func (s AvailableCapacity) String() string {
  19788. return awsutil.Prettify(s)
  19789. }
  19790. // GoString returns the string representation
  19791. func (s AvailableCapacity) GoString() string {
  19792. return s.String()
  19793. }
  19794. // SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
  19795. func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
  19796. s.AvailableInstanceCapacity = v
  19797. return s
  19798. }
  19799. // SetAvailableVCpus sets the AvailableVCpus field's value.
  19800. func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
  19801. s.AvailableVCpus = &v
  19802. return s
  19803. }
  19804. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlobAttributeValue
  19805. type BlobAttributeValue struct {
  19806. _ struct{} `type:"structure"`
  19807. // Value is automatically base64 encoded/decoded by the SDK.
  19808. Value []byte `locationName:"value" type:"blob"`
  19809. }
  19810. // String returns the string representation
  19811. func (s BlobAttributeValue) String() string {
  19812. return awsutil.Prettify(s)
  19813. }
  19814. // GoString returns the string representation
  19815. func (s BlobAttributeValue) GoString() string {
  19816. return s.String()
  19817. }
  19818. // SetValue sets the Value field's value.
  19819. func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
  19820. s.Value = v
  19821. return s
  19822. }
  19823. // Describes a block device mapping.
  19824. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlockDeviceMapping
  19825. type BlockDeviceMapping struct {
  19826. _ struct{} `type:"structure"`
  19827. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  19828. DeviceName *string `locationName:"deviceName" type:"string"`
  19829. // Parameters used to automatically set up EBS volumes when the instance is
  19830. // launched.
  19831. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  19832. // Suppresses the specified device included in the block device mapping of the
  19833. // AMI.
  19834. NoDevice *string `locationName:"noDevice" type:"string"`
  19835. // The virtual device name (ephemeralN). Instance store volumes are numbered
  19836. // starting from 0. An instance type with 2 available instance store volumes
  19837. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  19838. // instance store volumes depends on the instance type. After you connect to
  19839. // the instance, you must mount the volume.
  19840. //
  19841. // Constraints: For M3 instances, you must specify instance store volumes in
  19842. // the block device mapping for the instance. When you launch an M3 instance,
  19843. // we ignore any instance store volumes specified in the block device mapping
  19844. // for the AMI.
  19845. VirtualName *string `locationName:"virtualName" type:"string"`
  19846. }
  19847. // String returns the string representation
  19848. func (s BlockDeviceMapping) String() string {
  19849. return awsutil.Prettify(s)
  19850. }
  19851. // GoString returns the string representation
  19852. func (s BlockDeviceMapping) GoString() string {
  19853. return s.String()
  19854. }
  19855. // SetDeviceName sets the DeviceName field's value.
  19856. func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
  19857. s.DeviceName = &v
  19858. return s
  19859. }
  19860. // SetEbs sets the Ebs field's value.
  19861. func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
  19862. s.Ebs = v
  19863. return s
  19864. }
  19865. // SetNoDevice sets the NoDevice field's value.
  19866. func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
  19867. s.NoDevice = &v
  19868. return s
  19869. }
  19870. // SetVirtualName sets the VirtualName field's value.
  19871. func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
  19872. s.VirtualName = &v
  19873. return s
  19874. }
  19875. // Contains the parameters for BundleInstance.
  19876. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstanceRequest
  19877. type BundleInstanceInput struct {
  19878. _ struct{} `type:"structure"`
  19879. // Checks whether you have the required permissions for the action, without
  19880. // actually making the request, and provides an error response. If you have
  19881. // the required permissions, the error response is DryRunOperation. Otherwise,
  19882. // it is UnauthorizedOperation.
  19883. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19884. // The ID of the instance to bundle.
  19885. //
  19886. // Type: String
  19887. //
  19888. // Default: None
  19889. //
  19890. // Required: Yes
  19891. //
  19892. // InstanceId is a required field
  19893. InstanceId *string `type:"string" required:"true"`
  19894. // The bucket in which to store the AMI. You can specify a bucket that you already
  19895. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  19896. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  19897. //
  19898. // Storage is a required field
  19899. Storage *Storage `type:"structure" required:"true"`
  19900. }
  19901. // String returns the string representation
  19902. func (s BundleInstanceInput) String() string {
  19903. return awsutil.Prettify(s)
  19904. }
  19905. // GoString returns the string representation
  19906. func (s BundleInstanceInput) GoString() string {
  19907. return s.String()
  19908. }
  19909. // Validate inspects the fields of the type to determine if they are valid.
  19910. func (s *BundleInstanceInput) Validate() error {
  19911. invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
  19912. if s.InstanceId == nil {
  19913. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19914. }
  19915. if s.Storage == nil {
  19916. invalidParams.Add(request.NewErrParamRequired("Storage"))
  19917. }
  19918. if invalidParams.Len() > 0 {
  19919. return invalidParams
  19920. }
  19921. return nil
  19922. }
  19923. // SetDryRun sets the DryRun field's value.
  19924. func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
  19925. s.DryRun = &v
  19926. return s
  19927. }
  19928. // SetInstanceId sets the InstanceId field's value.
  19929. func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
  19930. s.InstanceId = &v
  19931. return s
  19932. }
  19933. // SetStorage sets the Storage field's value.
  19934. func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
  19935. s.Storage = v
  19936. return s
  19937. }
  19938. // Contains the output of BundleInstance.
  19939. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstanceResult
  19940. type BundleInstanceOutput struct {
  19941. _ struct{} `type:"structure"`
  19942. // Information about the bundle task.
  19943. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  19944. }
  19945. // String returns the string representation
  19946. func (s BundleInstanceOutput) String() string {
  19947. return awsutil.Prettify(s)
  19948. }
  19949. // GoString returns the string representation
  19950. func (s BundleInstanceOutput) GoString() string {
  19951. return s.String()
  19952. }
  19953. // SetBundleTask sets the BundleTask field's value.
  19954. func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
  19955. s.BundleTask = v
  19956. return s
  19957. }
  19958. // Describes a bundle task.
  19959. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleTask
  19960. type BundleTask struct {
  19961. _ struct{} `type:"structure"`
  19962. // The ID of the bundle task.
  19963. BundleId *string `locationName:"bundleId" type:"string"`
  19964. // If the task fails, a description of the error.
  19965. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  19966. // The ID of the instance associated with this bundle task.
  19967. InstanceId *string `locationName:"instanceId" type:"string"`
  19968. // The level of task completion, as a percent (for example, 20%).
  19969. Progress *string `locationName:"progress" type:"string"`
  19970. // The time this task started.
  19971. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  19972. // The state of the task.
  19973. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  19974. // The Amazon S3 storage locations.
  19975. Storage *Storage `locationName:"storage" type:"structure"`
  19976. // The time of the most recent update for the task.
  19977. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  19978. }
  19979. // String returns the string representation
  19980. func (s BundleTask) String() string {
  19981. return awsutil.Prettify(s)
  19982. }
  19983. // GoString returns the string representation
  19984. func (s BundleTask) GoString() string {
  19985. return s.String()
  19986. }
  19987. // SetBundleId sets the BundleId field's value.
  19988. func (s *BundleTask) SetBundleId(v string) *BundleTask {
  19989. s.BundleId = &v
  19990. return s
  19991. }
  19992. // SetBundleTaskError sets the BundleTaskError field's value.
  19993. func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
  19994. s.BundleTaskError = v
  19995. return s
  19996. }
  19997. // SetInstanceId sets the InstanceId field's value.
  19998. func (s *BundleTask) SetInstanceId(v string) *BundleTask {
  19999. s.InstanceId = &v
  20000. return s
  20001. }
  20002. // SetProgress sets the Progress field's value.
  20003. func (s *BundleTask) SetProgress(v string) *BundleTask {
  20004. s.Progress = &v
  20005. return s
  20006. }
  20007. // SetStartTime sets the StartTime field's value.
  20008. func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
  20009. s.StartTime = &v
  20010. return s
  20011. }
  20012. // SetState sets the State field's value.
  20013. func (s *BundleTask) SetState(v string) *BundleTask {
  20014. s.State = &v
  20015. return s
  20016. }
  20017. // SetStorage sets the Storage field's value.
  20018. func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
  20019. s.Storage = v
  20020. return s
  20021. }
  20022. // SetUpdateTime sets the UpdateTime field's value.
  20023. func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
  20024. s.UpdateTime = &v
  20025. return s
  20026. }
  20027. // Describes an error for BundleInstance.
  20028. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleTaskError
  20029. type BundleTaskError struct {
  20030. _ struct{} `type:"structure"`
  20031. // The error code.
  20032. Code *string `locationName:"code" type:"string"`
  20033. // The error message.
  20034. Message *string `locationName:"message" type:"string"`
  20035. }
  20036. // String returns the string representation
  20037. func (s BundleTaskError) String() string {
  20038. return awsutil.Prettify(s)
  20039. }
  20040. // GoString returns the string representation
  20041. func (s BundleTaskError) GoString() string {
  20042. return s.String()
  20043. }
  20044. // SetCode sets the Code field's value.
  20045. func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
  20046. s.Code = &v
  20047. return s
  20048. }
  20049. // SetMessage sets the Message field's value.
  20050. func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
  20051. s.Message = &v
  20052. return s
  20053. }
  20054. // Contains the parameters for CancelBundleTask.
  20055. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTaskRequest
  20056. type CancelBundleTaskInput struct {
  20057. _ struct{} `type:"structure"`
  20058. // The ID of the bundle task.
  20059. //
  20060. // BundleId is a required field
  20061. BundleId *string `type:"string" required:"true"`
  20062. // Checks whether you have the required permissions for the action, without
  20063. // actually making the request, and provides an error response. If you have
  20064. // the required permissions, the error response is DryRunOperation. Otherwise,
  20065. // it is UnauthorizedOperation.
  20066. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20067. }
  20068. // String returns the string representation
  20069. func (s CancelBundleTaskInput) String() string {
  20070. return awsutil.Prettify(s)
  20071. }
  20072. // GoString returns the string representation
  20073. func (s CancelBundleTaskInput) GoString() string {
  20074. return s.String()
  20075. }
  20076. // Validate inspects the fields of the type to determine if they are valid.
  20077. func (s *CancelBundleTaskInput) Validate() error {
  20078. invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
  20079. if s.BundleId == nil {
  20080. invalidParams.Add(request.NewErrParamRequired("BundleId"))
  20081. }
  20082. if invalidParams.Len() > 0 {
  20083. return invalidParams
  20084. }
  20085. return nil
  20086. }
  20087. // SetBundleId sets the BundleId field's value.
  20088. func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
  20089. s.BundleId = &v
  20090. return s
  20091. }
  20092. // SetDryRun sets the DryRun field's value.
  20093. func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
  20094. s.DryRun = &v
  20095. return s
  20096. }
  20097. // Contains the output of CancelBundleTask.
  20098. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTaskResult
  20099. type CancelBundleTaskOutput struct {
  20100. _ struct{} `type:"structure"`
  20101. // Information about the bundle task.
  20102. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  20103. }
  20104. // String returns the string representation
  20105. func (s CancelBundleTaskOutput) String() string {
  20106. return awsutil.Prettify(s)
  20107. }
  20108. // GoString returns the string representation
  20109. func (s CancelBundleTaskOutput) GoString() string {
  20110. return s.String()
  20111. }
  20112. // SetBundleTask sets the BundleTask field's value.
  20113. func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
  20114. s.BundleTask = v
  20115. return s
  20116. }
  20117. // Contains the parameters for CancelConversionTask.
  20118. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionRequest
  20119. type CancelConversionTaskInput struct {
  20120. _ struct{} `type:"structure"`
  20121. // The ID of the conversion task.
  20122. //
  20123. // ConversionTaskId is a required field
  20124. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  20125. // Checks whether you have the required permissions for the action, without
  20126. // actually making the request, and provides an error response. If you have
  20127. // the required permissions, the error response is DryRunOperation. Otherwise,
  20128. // it is UnauthorizedOperation.
  20129. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20130. // The reason for canceling the conversion task.
  20131. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  20132. }
  20133. // String returns the string representation
  20134. func (s CancelConversionTaskInput) String() string {
  20135. return awsutil.Prettify(s)
  20136. }
  20137. // GoString returns the string representation
  20138. func (s CancelConversionTaskInput) GoString() string {
  20139. return s.String()
  20140. }
  20141. // Validate inspects the fields of the type to determine if they are valid.
  20142. func (s *CancelConversionTaskInput) Validate() error {
  20143. invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
  20144. if s.ConversionTaskId == nil {
  20145. invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
  20146. }
  20147. if invalidParams.Len() > 0 {
  20148. return invalidParams
  20149. }
  20150. return nil
  20151. }
  20152. // SetConversionTaskId sets the ConversionTaskId field's value.
  20153. func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
  20154. s.ConversionTaskId = &v
  20155. return s
  20156. }
  20157. // SetDryRun sets the DryRun field's value.
  20158. func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
  20159. s.DryRun = &v
  20160. return s
  20161. }
  20162. // SetReasonMessage sets the ReasonMessage field's value.
  20163. func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
  20164. s.ReasonMessage = &v
  20165. return s
  20166. }
  20167. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTaskOutput
  20168. type CancelConversionTaskOutput struct {
  20169. _ struct{} `type:"structure"`
  20170. }
  20171. // String returns the string representation
  20172. func (s CancelConversionTaskOutput) String() string {
  20173. return awsutil.Prettify(s)
  20174. }
  20175. // GoString returns the string representation
  20176. func (s CancelConversionTaskOutput) GoString() string {
  20177. return s.String()
  20178. }
  20179. // Contains the parameters for CancelExportTask.
  20180. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTaskRequest
  20181. type CancelExportTaskInput struct {
  20182. _ struct{} `type:"structure"`
  20183. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  20184. //
  20185. // ExportTaskId is a required field
  20186. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  20187. }
  20188. // String returns the string representation
  20189. func (s CancelExportTaskInput) String() string {
  20190. return awsutil.Prettify(s)
  20191. }
  20192. // GoString returns the string representation
  20193. func (s CancelExportTaskInput) GoString() string {
  20194. return s.String()
  20195. }
  20196. // Validate inspects the fields of the type to determine if they are valid.
  20197. func (s *CancelExportTaskInput) Validate() error {
  20198. invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
  20199. if s.ExportTaskId == nil {
  20200. invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
  20201. }
  20202. if invalidParams.Len() > 0 {
  20203. return invalidParams
  20204. }
  20205. return nil
  20206. }
  20207. // SetExportTaskId sets the ExportTaskId field's value.
  20208. func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
  20209. s.ExportTaskId = &v
  20210. return s
  20211. }
  20212. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTaskOutput
  20213. type CancelExportTaskOutput struct {
  20214. _ struct{} `type:"structure"`
  20215. }
  20216. // String returns the string representation
  20217. func (s CancelExportTaskOutput) String() string {
  20218. return awsutil.Prettify(s)
  20219. }
  20220. // GoString returns the string representation
  20221. func (s CancelExportTaskOutput) GoString() string {
  20222. return s.String()
  20223. }
  20224. // Contains the parameters for CancelImportTask.
  20225. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTaskRequest
  20226. type CancelImportTaskInput struct {
  20227. _ struct{} `type:"structure"`
  20228. // The reason for canceling the task.
  20229. CancelReason *string `type:"string"`
  20230. // Checks whether you have the required permissions for the action, without
  20231. // actually making the request, and provides an error response. If you have
  20232. // the required permissions, the error response is DryRunOperation. Otherwise,
  20233. // it is UnauthorizedOperation.
  20234. DryRun *bool `type:"boolean"`
  20235. // The ID of the import image or import snapshot task to be canceled.
  20236. ImportTaskId *string `type:"string"`
  20237. }
  20238. // String returns the string representation
  20239. func (s CancelImportTaskInput) String() string {
  20240. return awsutil.Prettify(s)
  20241. }
  20242. // GoString returns the string representation
  20243. func (s CancelImportTaskInput) GoString() string {
  20244. return s.String()
  20245. }
  20246. // SetCancelReason sets the CancelReason field's value.
  20247. func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
  20248. s.CancelReason = &v
  20249. return s
  20250. }
  20251. // SetDryRun sets the DryRun field's value.
  20252. func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
  20253. s.DryRun = &v
  20254. return s
  20255. }
  20256. // SetImportTaskId sets the ImportTaskId field's value.
  20257. func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
  20258. s.ImportTaskId = &v
  20259. return s
  20260. }
  20261. // Contains the output for CancelImportTask.
  20262. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTaskResult
  20263. type CancelImportTaskOutput struct {
  20264. _ struct{} `type:"structure"`
  20265. // The ID of the task being canceled.
  20266. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  20267. // The current state of the task being canceled.
  20268. PreviousState *string `locationName:"previousState" type:"string"`
  20269. // The current state of the task being canceled.
  20270. State *string `locationName:"state" type:"string"`
  20271. }
  20272. // String returns the string representation
  20273. func (s CancelImportTaskOutput) String() string {
  20274. return awsutil.Prettify(s)
  20275. }
  20276. // GoString returns the string representation
  20277. func (s CancelImportTaskOutput) GoString() string {
  20278. return s.String()
  20279. }
  20280. // SetImportTaskId sets the ImportTaskId field's value.
  20281. func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
  20282. s.ImportTaskId = &v
  20283. return s
  20284. }
  20285. // SetPreviousState sets the PreviousState field's value.
  20286. func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
  20287. s.PreviousState = &v
  20288. return s
  20289. }
  20290. // SetState sets the State field's value.
  20291. func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
  20292. s.State = &v
  20293. return s
  20294. }
  20295. // Contains the parameters for CancelReservedInstancesListing.
  20296. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListingRequest
  20297. type CancelReservedInstancesListingInput struct {
  20298. _ struct{} `type:"structure"`
  20299. // The ID of the Reserved Instance listing.
  20300. //
  20301. // ReservedInstancesListingId is a required field
  20302. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  20303. }
  20304. // String returns the string representation
  20305. func (s CancelReservedInstancesListingInput) String() string {
  20306. return awsutil.Prettify(s)
  20307. }
  20308. // GoString returns the string representation
  20309. func (s CancelReservedInstancesListingInput) GoString() string {
  20310. return s.String()
  20311. }
  20312. // Validate inspects the fields of the type to determine if they are valid.
  20313. func (s *CancelReservedInstancesListingInput) Validate() error {
  20314. invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
  20315. if s.ReservedInstancesListingId == nil {
  20316. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
  20317. }
  20318. if invalidParams.Len() > 0 {
  20319. return invalidParams
  20320. }
  20321. return nil
  20322. }
  20323. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  20324. func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
  20325. s.ReservedInstancesListingId = &v
  20326. return s
  20327. }
  20328. // Contains the output of CancelReservedInstancesListing.
  20329. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListingResult
  20330. type CancelReservedInstancesListingOutput struct {
  20331. _ struct{} `type:"structure"`
  20332. // The Reserved Instance listing.
  20333. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  20334. }
  20335. // String returns the string representation
  20336. func (s CancelReservedInstancesListingOutput) String() string {
  20337. return awsutil.Prettify(s)
  20338. }
  20339. // GoString returns the string representation
  20340. func (s CancelReservedInstancesListingOutput) GoString() string {
  20341. return s.String()
  20342. }
  20343. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  20344. func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
  20345. s.ReservedInstancesListings = v
  20346. return s
  20347. }
  20348. // Describes a Spot fleet error.
  20349. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsError
  20350. type CancelSpotFleetRequestsError struct {
  20351. _ struct{} `type:"structure"`
  20352. // The error code.
  20353. //
  20354. // Code is a required field
  20355. Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
  20356. // The description for the error code.
  20357. //
  20358. // Message is a required field
  20359. Message *string `locationName:"message" type:"string" required:"true"`
  20360. }
  20361. // String returns the string representation
  20362. func (s CancelSpotFleetRequestsError) String() string {
  20363. return awsutil.Prettify(s)
  20364. }
  20365. // GoString returns the string representation
  20366. func (s CancelSpotFleetRequestsError) GoString() string {
  20367. return s.String()
  20368. }
  20369. // SetCode sets the Code field's value.
  20370. func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
  20371. s.Code = &v
  20372. return s
  20373. }
  20374. // SetMessage sets the Message field's value.
  20375. func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
  20376. s.Message = &v
  20377. return s
  20378. }
  20379. // Describes a Spot fleet request that was not successfully canceled.
  20380. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsErrorItem
  20381. type CancelSpotFleetRequestsErrorItem struct {
  20382. _ struct{} `type:"structure"`
  20383. // The error.
  20384. //
  20385. // Error is a required field
  20386. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
  20387. // The ID of the Spot fleet request.
  20388. //
  20389. // SpotFleetRequestId is a required field
  20390. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  20391. }
  20392. // String returns the string representation
  20393. func (s CancelSpotFleetRequestsErrorItem) String() string {
  20394. return awsutil.Prettify(s)
  20395. }
  20396. // GoString returns the string representation
  20397. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  20398. return s.String()
  20399. }
  20400. // SetError sets the Error field's value.
  20401. func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
  20402. s.Error = v
  20403. return s
  20404. }
  20405. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  20406. func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
  20407. s.SpotFleetRequestId = &v
  20408. return s
  20409. }
  20410. // Contains the parameters for CancelSpotFleetRequests.
  20411. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsRequest
  20412. type CancelSpotFleetRequestsInput struct {
  20413. _ struct{} `type:"structure"`
  20414. // Checks whether you have the required permissions for the action, without
  20415. // actually making the request, and provides an error response. If you have
  20416. // the required permissions, the error response is DryRunOperation. Otherwise,
  20417. // it is UnauthorizedOperation.
  20418. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20419. // The IDs of the Spot fleet requests.
  20420. //
  20421. // SpotFleetRequestIds is a required field
  20422. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  20423. // Indicates whether to terminate instances for a Spot fleet request if it is
  20424. // canceled successfully.
  20425. //
  20426. // TerminateInstances is a required field
  20427. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  20428. }
  20429. // String returns the string representation
  20430. func (s CancelSpotFleetRequestsInput) String() string {
  20431. return awsutil.Prettify(s)
  20432. }
  20433. // GoString returns the string representation
  20434. func (s CancelSpotFleetRequestsInput) GoString() string {
  20435. return s.String()
  20436. }
  20437. // Validate inspects the fields of the type to determine if they are valid.
  20438. func (s *CancelSpotFleetRequestsInput) Validate() error {
  20439. invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
  20440. if s.SpotFleetRequestIds == nil {
  20441. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
  20442. }
  20443. if s.TerminateInstances == nil {
  20444. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  20445. }
  20446. if invalidParams.Len() > 0 {
  20447. return invalidParams
  20448. }
  20449. return nil
  20450. }
  20451. // SetDryRun sets the DryRun field's value.
  20452. func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
  20453. s.DryRun = &v
  20454. return s
  20455. }
  20456. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  20457. func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
  20458. s.SpotFleetRequestIds = v
  20459. return s
  20460. }
  20461. // SetTerminateInstances sets the TerminateInstances field's value.
  20462. func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
  20463. s.TerminateInstances = &v
  20464. return s
  20465. }
  20466. // Contains the output of CancelSpotFleetRequests.
  20467. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsResponse
  20468. type CancelSpotFleetRequestsOutput struct {
  20469. _ struct{} `type:"structure"`
  20470. // Information about the Spot fleet requests that are successfully canceled.
  20471. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  20472. // Information about the Spot fleet requests that are not successfully canceled.
  20473. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  20474. }
  20475. // String returns the string representation
  20476. func (s CancelSpotFleetRequestsOutput) String() string {
  20477. return awsutil.Prettify(s)
  20478. }
  20479. // GoString returns the string representation
  20480. func (s CancelSpotFleetRequestsOutput) GoString() string {
  20481. return s.String()
  20482. }
  20483. // SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
  20484. func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
  20485. s.SuccessfulFleetRequests = v
  20486. return s
  20487. }
  20488. // SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
  20489. func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
  20490. s.UnsuccessfulFleetRequests = v
  20491. return s
  20492. }
  20493. // Describes a Spot fleet request that was successfully canceled.
  20494. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsSuccessItem
  20495. type CancelSpotFleetRequestsSuccessItem struct {
  20496. _ struct{} `type:"structure"`
  20497. // The current state of the Spot fleet request.
  20498. //
  20499. // CurrentSpotFleetRequestState is a required field
  20500. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  20501. // The previous state of the Spot fleet request.
  20502. //
  20503. // PreviousSpotFleetRequestState is a required field
  20504. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  20505. // The ID of the Spot fleet request.
  20506. //
  20507. // SpotFleetRequestId is a required field
  20508. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  20509. }
  20510. // String returns the string representation
  20511. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  20512. return awsutil.Prettify(s)
  20513. }
  20514. // GoString returns the string representation
  20515. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  20516. return s.String()
  20517. }
  20518. // SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
  20519. func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  20520. s.CurrentSpotFleetRequestState = &v
  20521. return s
  20522. }
  20523. // SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
  20524. func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  20525. s.PreviousSpotFleetRequestState = &v
  20526. return s
  20527. }
  20528. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  20529. func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
  20530. s.SpotFleetRequestId = &v
  20531. return s
  20532. }
  20533. // Contains the parameters for CancelSpotInstanceRequests.
  20534. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequestsRequest
  20535. type CancelSpotInstanceRequestsInput struct {
  20536. _ struct{} `type:"structure"`
  20537. // Checks whether you have the required permissions for the action, without
  20538. // actually making the request, and provides an error response. If you have
  20539. // the required permissions, the error response is DryRunOperation. Otherwise,
  20540. // it is UnauthorizedOperation.
  20541. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20542. // One or more Spot instance request IDs.
  20543. //
  20544. // SpotInstanceRequestIds is a required field
  20545. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  20546. }
  20547. // String returns the string representation
  20548. func (s CancelSpotInstanceRequestsInput) String() string {
  20549. return awsutil.Prettify(s)
  20550. }
  20551. // GoString returns the string representation
  20552. func (s CancelSpotInstanceRequestsInput) GoString() string {
  20553. return s.String()
  20554. }
  20555. // Validate inspects the fields of the type to determine if they are valid.
  20556. func (s *CancelSpotInstanceRequestsInput) Validate() error {
  20557. invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
  20558. if s.SpotInstanceRequestIds == nil {
  20559. invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
  20560. }
  20561. if invalidParams.Len() > 0 {
  20562. return invalidParams
  20563. }
  20564. return nil
  20565. }
  20566. // SetDryRun sets the DryRun field's value.
  20567. func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
  20568. s.DryRun = &v
  20569. return s
  20570. }
  20571. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  20572. func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
  20573. s.SpotInstanceRequestIds = v
  20574. return s
  20575. }
  20576. // Contains the output of CancelSpotInstanceRequests.
  20577. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequestsResult
  20578. type CancelSpotInstanceRequestsOutput struct {
  20579. _ struct{} `type:"structure"`
  20580. // One or more Spot instance requests.
  20581. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  20582. }
  20583. // String returns the string representation
  20584. func (s CancelSpotInstanceRequestsOutput) String() string {
  20585. return awsutil.Prettify(s)
  20586. }
  20587. // GoString returns the string representation
  20588. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  20589. return s.String()
  20590. }
  20591. // SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
  20592. func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
  20593. s.CancelledSpotInstanceRequests = v
  20594. return s
  20595. }
  20596. // Describes a request to cancel a Spot instance.
  20597. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelledSpotInstanceRequest
  20598. type CancelledSpotInstanceRequest struct {
  20599. _ struct{} `type:"structure"`
  20600. // The ID of the Spot instance request.
  20601. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  20602. // The state of the Spot instance request.
  20603. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  20604. }
  20605. // String returns the string representation
  20606. func (s CancelledSpotInstanceRequest) String() string {
  20607. return awsutil.Prettify(s)
  20608. }
  20609. // GoString returns the string representation
  20610. func (s CancelledSpotInstanceRequest) GoString() string {
  20611. return s.String()
  20612. }
  20613. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  20614. func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
  20615. s.SpotInstanceRequestId = &v
  20616. return s
  20617. }
  20618. // SetState sets the State field's value.
  20619. func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
  20620. s.State = &v
  20621. return s
  20622. }
  20623. // Describes the ClassicLink DNS support status of a VPC.
  20624. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLinkDnsSupport
  20625. type ClassicLinkDnsSupport struct {
  20626. _ struct{} `type:"structure"`
  20627. // Indicates whether ClassicLink DNS support is enabled for the VPC.
  20628. ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
  20629. // The ID of the VPC.
  20630. VpcId *string `locationName:"vpcId" type:"string"`
  20631. }
  20632. // String returns the string representation
  20633. func (s ClassicLinkDnsSupport) String() string {
  20634. return awsutil.Prettify(s)
  20635. }
  20636. // GoString returns the string representation
  20637. func (s ClassicLinkDnsSupport) GoString() string {
  20638. return s.String()
  20639. }
  20640. // SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
  20641. func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
  20642. s.ClassicLinkDnsSupported = &v
  20643. return s
  20644. }
  20645. // SetVpcId sets the VpcId field's value.
  20646. func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
  20647. s.VpcId = &v
  20648. return s
  20649. }
  20650. // Describes a linked EC2-Classic instance.
  20651. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLinkInstance
  20652. type ClassicLinkInstance struct {
  20653. _ struct{} `type:"structure"`
  20654. // A list of security groups.
  20655. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  20656. // The ID of the instance.
  20657. InstanceId *string `locationName:"instanceId" type:"string"`
  20658. // Any tags assigned to the instance.
  20659. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  20660. // The ID of the VPC.
  20661. VpcId *string `locationName:"vpcId" type:"string"`
  20662. }
  20663. // String returns the string representation
  20664. func (s ClassicLinkInstance) String() string {
  20665. return awsutil.Prettify(s)
  20666. }
  20667. // GoString returns the string representation
  20668. func (s ClassicLinkInstance) GoString() string {
  20669. return s.String()
  20670. }
  20671. // SetGroups sets the Groups field's value.
  20672. func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
  20673. s.Groups = v
  20674. return s
  20675. }
  20676. // SetInstanceId sets the InstanceId field's value.
  20677. func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
  20678. s.InstanceId = &v
  20679. return s
  20680. }
  20681. // SetTags sets the Tags field's value.
  20682. func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
  20683. s.Tags = v
  20684. return s
  20685. }
  20686. // SetVpcId sets the VpcId field's value.
  20687. func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
  20688. s.VpcId = &v
  20689. return s
  20690. }
  20691. // Describes the client-specific data.
  20692. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientData
  20693. type ClientData struct {
  20694. _ struct{} `type:"structure"`
  20695. // A user-defined comment about the disk upload.
  20696. Comment *string `type:"string"`
  20697. // The time that the disk upload ends.
  20698. UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  20699. // The size of the uploaded disk image, in GiB.
  20700. UploadSize *float64 `type:"double"`
  20701. // The time that the disk upload starts.
  20702. UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  20703. }
  20704. // String returns the string representation
  20705. func (s ClientData) String() string {
  20706. return awsutil.Prettify(s)
  20707. }
  20708. // GoString returns the string representation
  20709. func (s ClientData) GoString() string {
  20710. return s.String()
  20711. }
  20712. // SetComment sets the Comment field's value.
  20713. func (s *ClientData) SetComment(v string) *ClientData {
  20714. s.Comment = &v
  20715. return s
  20716. }
  20717. // SetUploadEnd sets the UploadEnd field's value.
  20718. func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
  20719. s.UploadEnd = &v
  20720. return s
  20721. }
  20722. // SetUploadSize sets the UploadSize field's value.
  20723. func (s *ClientData) SetUploadSize(v float64) *ClientData {
  20724. s.UploadSize = &v
  20725. return s
  20726. }
  20727. // SetUploadStart sets the UploadStart field's value.
  20728. func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
  20729. s.UploadStart = &v
  20730. return s
  20731. }
  20732. // Contains the parameters for ConfirmProductInstance.
  20733. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstanceRequest
  20734. type ConfirmProductInstanceInput struct {
  20735. _ struct{} `type:"structure"`
  20736. // Checks whether you have the required permissions for the action, without
  20737. // actually making the request, and provides an error response. If you have
  20738. // the required permissions, the error response is DryRunOperation. Otherwise,
  20739. // it is UnauthorizedOperation.
  20740. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20741. // The ID of the instance.
  20742. //
  20743. // InstanceId is a required field
  20744. InstanceId *string `type:"string" required:"true"`
  20745. // The product code. This must be a product code that you own.
  20746. //
  20747. // ProductCode is a required field
  20748. ProductCode *string `type:"string" required:"true"`
  20749. }
  20750. // String returns the string representation
  20751. func (s ConfirmProductInstanceInput) String() string {
  20752. return awsutil.Prettify(s)
  20753. }
  20754. // GoString returns the string representation
  20755. func (s ConfirmProductInstanceInput) GoString() string {
  20756. return s.String()
  20757. }
  20758. // Validate inspects the fields of the type to determine if they are valid.
  20759. func (s *ConfirmProductInstanceInput) Validate() error {
  20760. invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
  20761. if s.InstanceId == nil {
  20762. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  20763. }
  20764. if s.ProductCode == nil {
  20765. invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  20766. }
  20767. if invalidParams.Len() > 0 {
  20768. return invalidParams
  20769. }
  20770. return nil
  20771. }
  20772. // SetDryRun sets the DryRun field's value.
  20773. func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
  20774. s.DryRun = &v
  20775. return s
  20776. }
  20777. // SetInstanceId sets the InstanceId field's value.
  20778. func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
  20779. s.InstanceId = &v
  20780. return s
  20781. }
  20782. // SetProductCode sets the ProductCode field's value.
  20783. func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
  20784. s.ProductCode = &v
  20785. return s
  20786. }
  20787. // Contains the output of ConfirmProductInstance.
  20788. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstanceResult
  20789. type ConfirmProductInstanceOutput struct {
  20790. _ struct{} `type:"structure"`
  20791. // The AWS account ID of the instance owner. This is only present if the product
  20792. // code is attached to the instance.
  20793. OwnerId *string `locationName:"ownerId" type:"string"`
  20794. // The return value of the request. Returns true if the specified product code
  20795. // is owned by the requester and associated with the specified instance.
  20796. Return *bool `locationName:"return" type:"boolean"`
  20797. }
  20798. // String returns the string representation
  20799. func (s ConfirmProductInstanceOutput) String() string {
  20800. return awsutil.Prettify(s)
  20801. }
  20802. // GoString returns the string representation
  20803. func (s ConfirmProductInstanceOutput) GoString() string {
  20804. return s.String()
  20805. }
  20806. // SetOwnerId sets the OwnerId field's value.
  20807. func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
  20808. s.OwnerId = &v
  20809. return s
  20810. }
  20811. // SetReturn sets the Return field's value.
  20812. func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
  20813. s.Return = &v
  20814. return s
  20815. }
  20816. // Describes a conversion task.
  20817. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConversionTask
  20818. type ConversionTask struct {
  20819. _ struct{} `type:"structure"`
  20820. // The ID of the conversion task.
  20821. //
  20822. // ConversionTaskId is a required field
  20823. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  20824. // The time when the task expires. If the upload isn't complete before the expiration
  20825. // time, we automatically cancel the task.
  20826. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  20827. // If the task is for importing an instance, this contains information about
  20828. // the import instance task.
  20829. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  20830. // If the task is for importing a volume, this contains information about the
  20831. // import volume task.
  20832. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  20833. // The state of the conversion task.
  20834. //
  20835. // State is a required field
  20836. State *string `locationName:"state" type:"string" required:"true" enum:"ConversionTaskState"`
  20837. // The status message related to the conversion task.
  20838. StatusMessage *string `locationName:"statusMessage" type:"string"`
  20839. // Any tags assigned to the task.
  20840. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  20841. }
  20842. // String returns the string representation
  20843. func (s ConversionTask) String() string {
  20844. return awsutil.Prettify(s)
  20845. }
  20846. // GoString returns the string representation
  20847. func (s ConversionTask) GoString() string {
  20848. return s.String()
  20849. }
  20850. // SetConversionTaskId sets the ConversionTaskId field's value.
  20851. func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
  20852. s.ConversionTaskId = &v
  20853. return s
  20854. }
  20855. // SetExpirationTime sets the ExpirationTime field's value.
  20856. func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
  20857. s.ExpirationTime = &v
  20858. return s
  20859. }
  20860. // SetImportInstance sets the ImportInstance field's value.
  20861. func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
  20862. s.ImportInstance = v
  20863. return s
  20864. }
  20865. // SetImportVolume sets the ImportVolume field's value.
  20866. func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
  20867. s.ImportVolume = v
  20868. return s
  20869. }
  20870. // SetState sets the State field's value.
  20871. func (s *ConversionTask) SetState(v string) *ConversionTask {
  20872. s.State = &v
  20873. return s
  20874. }
  20875. // SetStatusMessage sets the StatusMessage field's value.
  20876. func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
  20877. s.StatusMessage = &v
  20878. return s
  20879. }
  20880. // SetTags sets the Tags field's value.
  20881. func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
  20882. s.Tags = v
  20883. return s
  20884. }
  20885. // Contains the parameters for CopyImage.
  20886. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImageRequest
  20887. type CopyImageInput struct {
  20888. _ struct{} `type:"structure"`
  20889. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  20890. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  20891. // in the Amazon Elastic Compute Cloud User Guide.
  20892. ClientToken *string `type:"string"`
  20893. // A description for the new AMI in the destination region.
  20894. Description *string `type:"string"`
  20895. // Checks whether you have the required permissions for the action, without
  20896. // actually making the request, and provides an error response. If you have
  20897. // the required permissions, the error response is DryRunOperation. Otherwise,
  20898. // it is UnauthorizedOperation.
  20899. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20900. // Specifies whether the destination snapshots of the copied image should be
  20901. // encrypted. The default CMK for EBS is used unless a non-default AWS Key Management
  20902. // Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see
  20903. // Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  20904. // in the Amazon Elastic Compute Cloud User Guide.
  20905. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  20906. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  20907. // encrypting the snapshots of an image during a copy operation. This parameter
  20908. // is only required if you want to use a non-default CMK; if this parameter
  20909. // is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms
  20910. // namespace, followed by the region of the CMK, the AWS account ID of the CMK
  20911. // owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  20912. // The specified CMK must exist in the region that the snapshot is being copied
  20913. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  20914. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  20915. // The name of the new AMI in the destination region.
  20916. //
  20917. // Name is a required field
  20918. Name *string `type:"string" required:"true"`
  20919. // The ID of the AMI to copy.
  20920. //
  20921. // SourceImageId is a required field
  20922. SourceImageId *string `type:"string" required:"true"`
  20923. // The name of the region that contains the AMI to copy.
  20924. //
  20925. // SourceRegion is a required field
  20926. SourceRegion *string `type:"string" required:"true"`
  20927. }
  20928. // String returns the string representation
  20929. func (s CopyImageInput) String() string {
  20930. return awsutil.Prettify(s)
  20931. }
  20932. // GoString returns the string representation
  20933. func (s CopyImageInput) GoString() string {
  20934. return s.String()
  20935. }
  20936. // Validate inspects the fields of the type to determine if they are valid.
  20937. func (s *CopyImageInput) Validate() error {
  20938. invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  20939. if s.Name == nil {
  20940. invalidParams.Add(request.NewErrParamRequired("Name"))
  20941. }
  20942. if s.SourceImageId == nil {
  20943. invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  20944. }
  20945. if s.SourceRegion == nil {
  20946. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  20947. }
  20948. if invalidParams.Len() > 0 {
  20949. return invalidParams
  20950. }
  20951. return nil
  20952. }
  20953. // SetClientToken sets the ClientToken field's value.
  20954. func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
  20955. s.ClientToken = &v
  20956. return s
  20957. }
  20958. // SetDescription sets the Description field's value.
  20959. func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
  20960. s.Description = &v
  20961. return s
  20962. }
  20963. // SetDryRun sets the DryRun field's value.
  20964. func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
  20965. s.DryRun = &v
  20966. return s
  20967. }
  20968. // SetEncrypted sets the Encrypted field's value.
  20969. func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
  20970. s.Encrypted = &v
  20971. return s
  20972. }
  20973. // SetKmsKeyId sets the KmsKeyId field's value.
  20974. func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
  20975. s.KmsKeyId = &v
  20976. return s
  20977. }
  20978. // SetName sets the Name field's value.
  20979. func (s *CopyImageInput) SetName(v string) *CopyImageInput {
  20980. s.Name = &v
  20981. return s
  20982. }
  20983. // SetSourceImageId sets the SourceImageId field's value.
  20984. func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
  20985. s.SourceImageId = &v
  20986. return s
  20987. }
  20988. // SetSourceRegion sets the SourceRegion field's value.
  20989. func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
  20990. s.SourceRegion = &v
  20991. return s
  20992. }
  20993. // Contains the output of CopyImage.
  20994. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImageResult
  20995. type CopyImageOutput struct {
  20996. _ struct{} `type:"structure"`
  20997. // The ID of the new AMI.
  20998. ImageId *string `locationName:"imageId" type:"string"`
  20999. }
  21000. // String returns the string representation
  21001. func (s CopyImageOutput) String() string {
  21002. return awsutil.Prettify(s)
  21003. }
  21004. // GoString returns the string representation
  21005. func (s CopyImageOutput) GoString() string {
  21006. return s.String()
  21007. }
  21008. // SetImageId sets the ImageId field's value.
  21009. func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
  21010. s.ImageId = &v
  21011. return s
  21012. }
  21013. // Contains the parameters for CopySnapshot.
  21014. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshotRequest
  21015. type CopySnapshotInput struct {
  21016. _ struct{} `type:"structure"`
  21017. // A description for the EBS snapshot.
  21018. Description *string `type:"string"`
  21019. // The destination region to use in the PresignedUrl parameter of a snapshot
  21020. // copy operation. This parameter is only valid for specifying the destination
  21021. // region in a PresignedUrl parameter, where it is required.
  21022. //
  21023. // CopySnapshot sends the snapshot copy to the regional endpoint that you send
  21024. // the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS CLI,
  21025. // this is specified with the --region parameter or the default region in your
  21026. // AWS configuration file).
  21027. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  21028. // Checks whether you have the required permissions for the action, without
  21029. // actually making the request, and provides an error response. If you have
  21030. // the required permissions, the error response is DryRunOperation. Otherwise,
  21031. // it is UnauthorizedOperation.
  21032. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21033. // Specifies whether the destination snapshot should be encrypted. You can encrypt
  21034. // a copy of an unencrypted snapshot using this flag, but you cannot use it
  21035. // to create an unencrypted copy from an encrypted snapshot. Your default CMK
  21036. // for EBS is used unless a non-default AWS Key Management Service (AWS KMS)
  21037. // CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption
  21038. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in
  21039. // the Amazon Elastic Compute Cloud User Guide.
  21040. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  21041. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  21042. // creating the snapshot copy. This parameter is only required if you want to
  21043. // use a non-default CMK; if this parameter is not specified, the default CMK
  21044. // for EBS is used. The ARN contains the arn:aws:kms namespace, followed by
  21045. // the region of the CMK, the AWS account ID of the CMK owner, the key namespace,
  21046. // and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  21047. // The specified CMK must exist in the region that the snapshot is being copied
  21048. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  21049. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  21050. // The pre-signed URL that facilitates copying an encrypted snapshot. This parameter
  21051. // is only required when copying an encrypted snapshot with the Amazon EC2 Query
  21052. // API; it is available as an optional parameter in all other cases. The PresignedUrl
  21053. // should use the snapshot source endpoint, the CopySnapshot action, and include
  21054. // the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The
  21055. // PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots
  21056. // are stored in Amazon S3, the signing algorithm for this parameter uses the
  21057. // same logic that is described in Authenticating Requests by Using Query Parameters
  21058. // (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  21059. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  21060. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  21061. // and the snapshot will move to an error state.
  21062. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  21063. // The ID of the region that contains the snapshot to be copied.
  21064. //
  21065. // SourceRegion is a required field
  21066. SourceRegion *string `type:"string" required:"true"`
  21067. // The ID of the EBS snapshot to copy.
  21068. //
  21069. // SourceSnapshotId is a required field
  21070. SourceSnapshotId *string `type:"string" required:"true"`
  21071. }
  21072. // String returns the string representation
  21073. func (s CopySnapshotInput) String() string {
  21074. return awsutil.Prettify(s)
  21075. }
  21076. // GoString returns the string representation
  21077. func (s CopySnapshotInput) GoString() string {
  21078. return s.String()
  21079. }
  21080. // Validate inspects the fields of the type to determine if they are valid.
  21081. func (s *CopySnapshotInput) Validate() error {
  21082. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  21083. if s.SourceRegion == nil {
  21084. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  21085. }
  21086. if s.SourceSnapshotId == nil {
  21087. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
  21088. }
  21089. if invalidParams.Len() > 0 {
  21090. return invalidParams
  21091. }
  21092. return nil
  21093. }
  21094. // SetDescription sets the Description field's value.
  21095. func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
  21096. s.Description = &v
  21097. return s
  21098. }
  21099. // SetDestinationRegion sets the DestinationRegion field's value.
  21100. func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
  21101. s.DestinationRegion = &v
  21102. return s
  21103. }
  21104. // SetDryRun sets the DryRun field's value.
  21105. func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
  21106. s.DryRun = &v
  21107. return s
  21108. }
  21109. // SetEncrypted sets the Encrypted field's value.
  21110. func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
  21111. s.Encrypted = &v
  21112. return s
  21113. }
  21114. // SetKmsKeyId sets the KmsKeyId field's value.
  21115. func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
  21116. s.KmsKeyId = &v
  21117. return s
  21118. }
  21119. // SetPresignedUrl sets the PresignedUrl field's value.
  21120. func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
  21121. s.PresignedUrl = &v
  21122. return s
  21123. }
  21124. // SetSourceRegion sets the SourceRegion field's value.
  21125. func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
  21126. s.SourceRegion = &v
  21127. return s
  21128. }
  21129. // SetSourceSnapshotId sets the SourceSnapshotId field's value.
  21130. func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
  21131. s.SourceSnapshotId = &v
  21132. return s
  21133. }
  21134. // Contains the output of CopySnapshot.
  21135. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshotResult
  21136. type CopySnapshotOutput struct {
  21137. _ struct{} `type:"structure"`
  21138. // The ID of the new snapshot.
  21139. SnapshotId *string `locationName:"snapshotId" type:"string"`
  21140. }
  21141. // String returns the string representation
  21142. func (s CopySnapshotOutput) String() string {
  21143. return awsutil.Prettify(s)
  21144. }
  21145. // GoString returns the string representation
  21146. func (s CopySnapshotOutput) GoString() string {
  21147. return s.String()
  21148. }
  21149. // SetSnapshotId sets the SnapshotId field's value.
  21150. func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
  21151. s.SnapshotId = &v
  21152. return s
  21153. }
  21154. // Contains the parameters for CreateCustomerGateway.
  21155. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGatewayRequest
  21156. type CreateCustomerGatewayInput struct {
  21157. _ struct{} `type:"structure"`
  21158. // For devices that support BGP, the customer gateway's BGP ASN.
  21159. //
  21160. // Default: 65000
  21161. //
  21162. // BgpAsn is a required field
  21163. BgpAsn *int64 `type:"integer" required:"true"`
  21164. // Checks whether you have the required permissions for the action, without
  21165. // actually making the request, and provides an error response. If you have
  21166. // the required permissions, the error response is DryRunOperation. Otherwise,
  21167. // it is UnauthorizedOperation.
  21168. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21169. // The Internet-routable IP address for the customer gateway's outside interface.
  21170. // The address must be static.
  21171. //
  21172. // PublicIp is a required field
  21173. PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
  21174. // The type of VPN connection that this customer gateway supports (ipsec.1).
  21175. //
  21176. // Type is a required field
  21177. Type *string `type:"string" required:"true" enum:"GatewayType"`
  21178. }
  21179. // String returns the string representation
  21180. func (s CreateCustomerGatewayInput) String() string {
  21181. return awsutil.Prettify(s)
  21182. }
  21183. // GoString returns the string representation
  21184. func (s CreateCustomerGatewayInput) GoString() string {
  21185. return s.String()
  21186. }
  21187. // Validate inspects the fields of the type to determine if they are valid.
  21188. func (s *CreateCustomerGatewayInput) Validate() error {
  21189. invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
  21190. if s.BgpAsn == nil {
  21191. invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
  21192. }
  21193. if s.PublicIp == nil {
  21194. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  21195. }
  21196. if s.Type == nil {
  21197. invalidParams.Add(request.NewErrParamRequired("Type"))
  21198. }
  21199. if invalidParams.Len() > 0 {
  21200. return invalidParams
  21201. }
  21202. return nil
  21203. }
  21204. // SetBgpAsn sets the BgpAsn field's value.
  21205. func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
  21206. s.BgpAsn = &v
  21207. return s
  21208. }
  21209. // SetDryRun sets the DryRun field's value.
  21210. func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
  21211. s.DryRun = &v
  21212. return s
  21213. }
  21214. // SetPublicIp sets the PublicIp field's value.
  21215. func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
  21216. s.PublicIp = &v
  21217. return s
  21218. }
  21219. // SetType sets the Type field's value.
  21220. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
  21221. s.Type = &v
  21222. return s
  21223. }
  21224. // Contains the output of CreateCustomerGateway.
  21225. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGatewayResult
  21226. type CreateCustomerGatewayOutput struct {
  21227. _ struct{} `type:"structure"`
  21228. // Information about the customer gateway.
  21229. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  21230. }
  21231. // String returns the string representation
  21232. func (s CreateCustomerGatewayOutput) String() string {
  21233. return awsutil.Prettify(s)
  21234. }
  21235. // GoString returns the string representation
  21236. func (s CreateCustomerGatewayOutput) GoString() string {
  21237. return s.String()
  21238. }
  21239. // SetCustomerGateway sets the CustomerGateway field's value.
  21240. func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
  21241. s.CustomerGateway = v
  21242. return s
  21243. }
  21244. // Contains the parameters for CreateDhcpOptions.
  21245. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsRequest
  21246. type CreateDhcpOptionsInput struct {
  21247. _ struct{} `type:"structure"`
  21248. // A DHCP configuration option.
  21249. //
  21250. // DhcpConfigurations is a required field
  21251. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  21252. // Checks whether you have the required permissions for the action, without
  21253. // actually making the request, and provides an error response. If you have
  21254. // the required permissions, the error response is DryRunOperation. Otherwise,
  21255. // it is UnauthorizedOperation.
  21256. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21257. }
  21258. // String returns the string representation
  21259. func (s CreateDhcpOptionsInput) String() string {
  21260. return awsutil.Prettify(s)
  21261. }
  21262. // GoString returns the string representation
  21263. func (s CreateDhcpOptionsInput) GoString() string {
  21264. return s.String()
  21265. }
  21266. // Validate inspects the fields of the type to determine if they are valid.
  21267. func (s *CreateDhcpOptionsInput) Validate() error {
  21268. invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
  21269. if s.DhcpConfigurations == nil {
  21270. invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
  21271. }
  21272. if invalidParams.Len() > 0 {
  21273. return invalidParams
  21274. }
  21275. return nil
  21276. }
  21277. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  21278. func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
  21279. s.DhcpConfigurations = v
  21280. return s
  21281. }
  21282. // SetDryRun sets the DryRun field's value.
  21283. func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
  21284. s.DryRun = &v
  21285. return s
  21286. }
  21287. // Contains the output of CreateDhcpOptions.
  21288. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsResult
  21289. type CreateDhcpOptionsOutput struct {
  21290. _ struct{} `type:"structure"`
  21291. // A set of DHCP options.
  21292. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  21293. }
  21294. // String returns the string representation
  21295. func (s CreateDhcpOptionsOutput) String() string {
  21296. return awsutil.Prettify(s)
  21297. }
  21298. // GoString returns the string representation
  21299. func (s CreateDhcpOptionsOutput) GoString() string {
  21300. return s.String()
  21301. }
  21302. // SetDhcpOptions sets the DhcpOptions field's value.
  21303. func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
  21304. s.DhcpOptions = v
  21305. return s
  21306. }
  21307. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGatewayRequest
  21308. type CreateEgressOnlyInternetGatewayInput struct {
  21309. _ struct{} `type:"structure"`
  21310. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21311. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  21312. ClientToken *string `type:"string"`
  21313. // Checks whether you have the required permissions for the action, without
  21314. // actually making the request, and provides an error response. If you have
  21315. // the required permissions, the error response is DryRunOperation. Otherwise,
  21316. // it is UnauthorizedOperation.
  21317. DryRun *bool `type:"boolean"`
  21318. // The ID of the VPC for which to create the egress-only Internet gateway.
  21319. //
  21320. // VpcId is a required field
  21321. VpcId *string `type:"string" required:"true"`
  21322. }
  21323. // String returns the string representation
  21324. func (s CreateEgressOnlyInternetGatewayInput) String() string {
  21325. return awsutil.Prettify(s)
  21326. }
  21327. // GoString returns the string representation
  21328. func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
  21329. return s.String()
  21330. }
  21331. // Validate inspects the fields of the type to determine if they are valid.
  21332. func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
  21333. invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
  21334. if s.VpcId == nil {
  21335. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  21336. }
  21337. if invalidParams.Len() > 0 {
  21338. return invalidParams
  21339. }
  21340. return nil
  21341. }
  21342. // SetClientToken sets the ClientToken field's value.
  21343. func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
  21344. s.ClientToken = &v
  21345. return s
  21346. }
  21347. // SetDryRun sets the DryRun field's value.
  21348. func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
  21349. s.DryRun = &v
  21350. return s
  21351. }
  21352. // SetVpcId sets the VpcId field's value.
  21353. func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
  21354. s.VpcId = &v
  21355. return s
  21356. }
  21357. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGatewayResult
  21358. type CreateEgressOnlyInternetGatewayOutput struct {
  21359. _ struct{} `type:"structure"`
  21360. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21361. // the request.
  21362. ClientToken *string `locationName:"clientToken" type:"string"`
  21363. // Information about the egress-only Internet gateway.
  21364. EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
  21365. }
  21366. // String returns the string representation
  21367. func (s CreateEgressOnlyInternetGatewayOutput) String() string {
  21368. return awsutil.Prettify(s)
  21369. }
  21370. // GoString returns the string representation
  21371. func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
  21372. return s.String()
  21373. }
  21374. // SetClientToken sets the ClientToken field's value.
  21375. func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
  21376. s.ClientToken = &v
  21377. return s
  21378. }
  21379. // SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
  21380. func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
  21381. s.EgressOnlyInternetGateway = v
  21382. return s
  21383. }
  21384. // Contains the parameters for CreateFlowLogs.
  21385. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogsRequest
  21386. type CreateFlowLogsInput struct {
  21387. _ struct{} `type:"structure"`
  21388. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21389. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  21390. ClientToken *string `type:"string"`
  21391. // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
  21392. // log group.
  21393. //
  21394. // DeliverLogsPermissionArn is a required field
  21395. DeliverLogsPermissionArn *string `type:"string" required:"true"`
  21396. // The name of the CloudWatch log group.
  21397. //
  21398. // LogGroupName is a required field
  21399. LogGroupName *string `type:"string" required:"true"`
  21400. // One or more subnet, network interface, or VPC IDs.
  21401. //
  21402. // Constraints: Maximum of 1000 resources
  21403. //
  21404. // ResourceIds is a required field
  21405. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  21406. // The type of resource on which to create the flow log.
  21407. //
  21408. // ResourceType is a required field
  21409. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  21410. // The type of traffic to log.
  21411. //
  21412. // TrafficType is a required field
  21413. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  21414. }
  21415. // String returns the string representation
  21416. func (s CreateFlowLogsInput) String() string {
  21417. return awsutil.Prettify(s)
  21418. }
  21419. // GoString returns the string representation
  21420. func (s CreateFlowLogsInput) GoString() string {
  21421. return s.String()
  21422. }
  21423. // Validate inspects the fields of the type to determine if they are valid.
  21424. func (s *CreateFlowLogsInput) Validate() error {
  21425. invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
  21426. if s.DeliverLogsPermissionArn == nil {
  21427. invalidParams.Add(request.NewErrParamRequired("DeliverLogsPermissionArn"))
  21428. }
  21429. if s.LogGroupName == nil {
  21430. invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
  21431. }
  21432. if s.ResourceIds == nil {
  21433. invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  21434. }
  21435. if s.ResourceType == nil {
  21436. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  21437. }
  21438. if s.TrafficType == nil {
  21439. invalidParams.Add(request.NewErrParamRequired("TrafficType"))
  21440. }
  21441. if invalidParams.Len() > 0 {
  21442. return invalidParams
  21443. }
  21444. return nil
  21445. }
  21446. // SetClientToken sets the ClientToken field's value.
  21447. func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
  21448. s.ClientToken = &v
  21449. return s
  21450. }
  21451. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  21452. func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
  21453. s.DeliverLogsPermissionArn = &v
  21454. return s
  21455. }
  21456. // SetLogGroupName sets the LogGroupName field's value.
  21457. func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
  21458. s.LogGroupName = &v
  21459. return s
  21460. }
  21461. // SetResourceIds sets the ResourceIds field's value.
  21462. func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
  21463. s.ResourceIds = v
  21464. return s
  21465. }
  21466. // SetResourceType sets the ResourceType field's value.
  21467. func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
  21468. s.ResourceType = &v
  21469. return s
  21470. }
  21471. // SetTrafficType sets the TrafficType field's value.
  21472. func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
  21473. s.TrafficType = &v
  21474. return s
  21475. }
  21476. // Contains the output of CreateFlowLogs.
  21477. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogsResult
  21478. type CreateFlowLogsOutput struct {
  21479. _ struct{} `type:"structure"`
  21480. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21481. // the request.
  21482. ClientToken *string `locationName:"clientToken" type:"string"`
  21483. // The IDs of the flow logs.
  21484. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  21485. // Information about the flow logs that could not be created successfully.
  21486. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  21487. }
  21488. // String returns the string representation
  21489. func (s CreateFlowLogsOutput) String() string {
  21490. return awsutil.Prettify(s)
  21491. }
  21492. // GoString returns the string representation
  21493. func (s CreateFlowLogsOutput) GoString() string {
  21494. return s.String()
  21495. }
  21496. // SetClientToken sets the ClientToken field's value.
  21497. func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
  21498. s.ClientToken = &v
  21499. return s
  21500. }
  21501. // SetFlowLogIds sets the FlowLogIds field's value.
  21502. func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
  21503. s.FlowLogIds = v
  21504. return s
  21505. }
  21506. // SetUnsuccessful sets the Unsuccessful field's value.
  21507. func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
  21508. s.Unsuccessful = v
  21509. return s
  21510. }
  21511. // Contains the parameters for CreateImage.
  21512. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageRequest
  21513. type CreateImageInput struct {
  21514. _ struct{} `type:"structure"`
  21515. // Information about one or more block device mappings.
  21516. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  21517. // A description for the new image.
  21518. Description *string `locationName:"description" type:"string"`
  21519. // Checks whether you have the required permissions for the action, without
  21520. // actually making the request, and provides an error response. If you have
  21521. // the required permissions, the error response is DryRunOperation. Otherwise,
  21522. // it is UnauthorizedOperation.
  21523. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21524. // The ID of the instance.
  21525. //
  21526. // InstanceId is a required field
  21527. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  21528. // A name for the new image.
  21529. //
  21530. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  21531. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  21532. // at-signs (@), or underscores(_)
  21533. //
  21534. // Name is a required field
  21535. Name *string `locationName:"name" type:"string" required:"true"`
  21536. // By default, Amazon EC2 attempts to shut down and reboot the instance before
  21537. // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
  21538. // shut down the instance before creating the image. When this option is used,
  21539. // file system integrity on the created image can't be guaranteed.
  21540. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  21541. }
  21542. // String returns the string representation
  21543. func (s CreateImageInput) String() string {
  21544. return awsutil.Prettify(s)
  21545. }
  21546. // GoString returns the string representation
  21547. func (s CreateImageInput) GoString() string {
  21548. return s.String()
  21549. }
  21550. // Validate inspects the fields of the type to determine if they are valid.
  21551. func (s *CreateImageInput) Validate() error {
  21552. invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  21553. if s.InstanceId == nil {
  21554. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  21555. }
  21556. if s.Name == nil {
  21557. invalidParams.Add(request.NewErrParamRequired("Name"))
  21558. }
  21559. if invalidParams.Len() > 0 {
  21560. return invalidParams
  21561. }
  21562. return nil
  21563. }
  21564. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  21565. func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
  21566. s.BlockDeviceMappings = v
  21567. return s
  21568. }
  21569. // SetDescription sets the Description field's value.
  21570. func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
  21571. s.Description = &v
  21572. return s
  21573. }
  21574. // SetDryRun sets the DryRun field's value.
  21575. func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
  21576. s.DryRun = &v
  21577. return s
  21578. }
  21579. // SetInstanceId sets the InstanceId field's value.
  21580. func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
  21581. s.InstanceId = &v
  21582. return s
  21583. }
  21584. // SetName sets the Name field's value.
  21585. func (s *CreateImageInput) SetName(v string) *CreateImageInput {
  21586. s.Name = &v
  21587. return s
  21588. }
  21589. // SetNoReboot sets the NoReboot field's value.
  21590. func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
  21591. s.NoReboot = &v
  21592. return s
  21593. }
  21594. // Contains the output of CreateImage.
  21595. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageResult
  21596. type CreateImageOutput struct {
  21597. _ struct{} `type:"structure"`
  21598. // The ID of the new AMI.
  21599. ImageId *string `locationName:"imageId" type:"string"`
  21600. }
  21601. // String returns the string representation
  21602. func (s CreateImageOutput) String() string {
  21603. return awsutil.Prettify(s)
  21604. }
  21605. // GoString returns the string representation
  21606. func (s CreateImageOutput) GoString() string {
  21607. return s.String()
  21608. }
  21609. // SetImageId sets the ImageId field's value.
  21610. func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
  21611. s.ImageId = &v
  21612. return s
  21613. }
  21614. // Contains the parameters for CreateInstanceExportTask.
  21615. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskRequest
  21616. type CreateInstanceExportTaskInput struct {
  21617. _ struct{} `type:"structure"`
  21618. // A description for the conversion task or the resource being exported. The
  21619. // maximum length is 255 bytes.
  21620. Description *string `locationName:"description" type:"string"`
  21621. // The format and location for an instance export task.
  21622. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  21623. // The ID of the instance.
  21624. //
  21625. // InstanceId is a required field
  21626. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  21627. // The target virtualization environment.
  21628. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  21629. }
  21630. // String returns the string representation
  21631. func (s CreateInstanceExportTaskInput) String() string {
  21632. return awsutil.Prettify(s)
  21633. }
  21634. // GoString returns the string representation
  21635. func (s CreateInstanceExportTaskInput) GoString() string {
  21636. return s.String()
  21637. }
  21638. // Validate inspects the fields of the type to determine if they are valid.
  21639. func (s *CreateInstanceExportTaskInput) Validate() error {
  21640. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
  21641. if s.InstanceId == nil {
  21642. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  21643. }
  21644. if invalidParams.Len() > 0 {
  21645. return invalidParams
  21646. }
  21647. return nil
  21648. }
  21649. // SetDescription sets the Description field's value.
  21650. func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
  21651. s.Description = &v
  21652. return s
  21653. }
  21654. // SetExportToS3Task sets the ExportToS3Task field's value.
  21655. func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
  21656. s.ExportToS3Task = v
  21657. return s
  21658. }
  21659. // SetInstanceId sets the InstanceId field's value.
  21660. func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
  21661. s.InstanceId = &v
  21662. return s
  21663. }
  21664. // SetTargetEnvironment sets the TargetEnvironment field's value.
  21665. func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
  21666. s.TargetEnvironment = &v
  21667. return s
  21668. }
  21669. // Contains the output for CreateInstanceExportTask.
  21670. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskResult
  21671. type CreateInstanceExportTaskOutput struct {
  21672. _ struct{} `type:"structure"`
  21673. // Information about the instance export task.
  21674. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  21675. }
  21676. // String returns the string representation
  21677. func (s CreateInstanceExportTaskOutput) String() string {
  21678. return awsutil.Prettify(s)
  21679. }
  21680. // GoString returns the string representation
  21681. func (s CreateInstanceExportTaskOutput) GoString() string {
  21682. return s.String()
  21683. }
  21684. // SetExportTask sets the ExportTask field's value.
  21685. func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
  21686. s.ExportTask = v
  21687. return s
  21688. }
  21689. // Contains the parameters for CreateInternetGateway.
  21690. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGatewayRequest
  21691. type CreateInternetGatewayInput struct {
  21692. _ struct{} `type:"structure"`
  21693. // Checks whether you have the required permissions for the action, without
  21694. // actually making the request, and provides an error response. If you have
  21695. // the required permissions, the error response is DryRunOperation. Otherwise,
  21696. // it is UnauthorizedOperation.
  21697. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21698. }
  21699. // String returns the string representation
  21700. func (s CreateInternetGatewayInput) String() string {
  21701. return awsutil.Prettify(s)
  21702. }
  21703. // GoString returns the string representation
  21704. func (s CreateInternetGatewayInput) GoString() string {
  21705. return s.String()
  21706. }
  21707. // SetDryRun sets the DryRun field's value.
  21708. func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
  21709. s.DryRun = &v
  21710. return s
  21711. }
  21712. // Contains the output of CreateInternetGateway.
  21713. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGatewayResult
  21714. type CreateInternetGatewayOutput struct {
  21715. _ struct{} `type:"structure"`
  21716. // Information about the Internet gateway.
  21717. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  21718. }
  21719. // String returns the string representation
  21720. func (s CreateInternetGatewayOutput) String() string {
  21721. return awsutil.Prettify(s)
  21722. }
  21723. // GoString returns the string representation
  21724. func (s CreateInternetGatewayOutput) GoString() string {
  21725. return s.String()
  21726. }
  21727. // SetInternetGateway sets the InternetGateway field's value.
  21728. func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
  21729. s.InternetGateway = v
  21730. return s
  21731. }
  21732. // Contains the parameters for CreateKeyPair.
  21733. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPairRequest
  21734. type CreateKeyPairInput struct {
  21735. _ struct{} `type:"structure"`
  21736. // Checks whether you have the required permissions for the action, without
  21737. // actually making the request, and provides an error response. If you have
  21738. // the required permissions, the error response is DryRunOperation. Otherwise,
  21739. // it is UnauthorizedOperation.
  21740. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21741. // A unique name for the key pair.
  21742. //
  21743. // Constraints: Up to 255 ASCII characters
  21744. //
  21745. // KeyName is a required field
  21746. KeyName *string `type:"string" required:"true"`
  21747. }
  21748. // String returns the string representation
  21749. func (s CreateKeyPairInput) String() string {
  21750. return awsutil.Prettify(s)
  21751. }
  21752. // GoString returns the string representation
  21753. func (s CreateKeyPairInput) GoString() string {
  21754. return s.String()
  21755. }
  21756. // Validate inspects the fields of the type to determine if they are valid.
  21757. func (s *CreateKeyPairInput) Validate() error {
  21758. invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
  21759. if s.KeyName == nil {
  21760. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  21761. }
  21762. if invalidParams.Len() > 0 {
  21763. return invalidParams
  21764. }
  21765. return nil
  21766. }
  21767. // SetDryRun sets the DryRun field's value.
  21768. func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
  21769. s.DryRun = &v
  21770. return s
  21771. }
  21772. // SetKeyName sets the KeyName field's value.
  21773. func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
  21774. s.KeyName = &v
  21775. return s
  21776. }
  21777. // Describes a key pair.
  21778. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/KeyPair
  21779. type CreateKeyPairOutput struct {
  21780. _ struct{} `type:"structure"`
  21781. // The SHA-1 digest of the DER encoded private key.
  21782. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  21783. // An unencrypted PEM encoded RSA private key.
  21784. KeyMaterial *string `locationName:"keyMaterial" type:"string"`
  21785. // The name of the key pair.
  21786. KeyName *string `locationName:"keyName" type:"string"`
  21787. }
  21788. // String returns the string representation
  21789. func (s CreateKeyPairOutput) String() string {
  21790. return awsutil.Prettify(s)
  21791. }
  21792. // GoString returns the string representation
  21793. func (s CreateKeyPairOutput) GoString() string {
  21794. return s.String()
  21795. }
  21796. // SetKeyFingerprint sets the KeyFingerprint field's value.
  21797. func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
  21798. s.KeyFingerprint = &v
  21799. return s
  21800. }
  21801. // SetKeyMaterial sets the KeyMaterial field's value.
  21802. func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
  21803. s.KeyMaterial = &v
  21804. return s
  21805. }
  21806. // SetKeyName sets the KeyName field's value.
  21807. func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
  21808. s.KeyName = &v
  21809. return s
  21810. }
  21811. // Contains the parameters for CreateNatGateway.
  21812. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayRequest
  21813. type CreateNatGatewayInput struct {
  21814. _ struct{} `type:"structure"`
  21815. // The allocation ID of an Elastic IP address to associate with the NAT gateway.
  21816. // If the Elastic IP address is associated with another resource, you must first
  21817. // disassociate it.
  21818. //
  21819. // AllocationId is a required field
  21820. AllocationId *string `type:"string" required:"true"`
  21821. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21822. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  21823. //
  21824. // Constraint: Maximum 64 ASCII characters.
  21825. ClientToken *string `type:"string"`
  21826. // The subnet in which to create the NAT gateway.
  21827. //
  21828. // SubnetId is a required field
  21829. SubnetId *string `type:"string" required:"true"`
  21830. }
  21831. // String returns the string representation
  21832. func (s CreateNatGatewayInput) String() string {
  21833. return awsutil.Prettify(s)
  21834. }
  21835. // GoString returns the string representation
  21836. func (s CreateNatGatewayInput) GoString() string {
  21837. return s.String()
  21838. }
  21839. // Validate inspects the fields of the type to determine if they are valid.
  21840. func (s *CreateNatGatewayInput) Validate() error {
  21841. invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
  21842. if s.AllocationId == nil {
  21843. invalidParams.Add(request.NewErrParamRequired("AllocationId"))
  21844. }
  21845. if s.SubnetId == nil {
  21846. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  21847. }
  21848. if invalidParams.Len() > 0 {
  21849. return invalidParams
  21850. }
  21851. return nil
  21852. }
  21853. // SetAllocationId sets the AllocationId field's value.
  21854. func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
  21855. s.AllocationId = &v
  21856. return s
  21857. }
  21858. // SetClientToken sets the ClientToken field's value.
  21859. func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
  21860. s.ClientToken = &v
  21861. return s
  21862. }
  21863. // SetSubnetId sets the SubnetId field's value.
  21864. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
  21865. s.SubnetId = &v
  21866. return s
  21867. }
  21868. // Contains the output of CreateNatGateway.
  21869. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayResult
  21870. type CreateNatGatewayOutput struct {
  21871. _ struct{} `type:"structure"`
  21872. // Unique, case-sensitive identifier to ensure the idempotency of the request.
  21873. // Only returned if a client token was provided in the request.
  21874. ClientToken *string `locationName:"clientToken" type:"string"`
  21875. // Information about the NAT gateway.
  21876. NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
  21877. }
  21878. // String returns the string representation
  21879. func (s CreateNatGatewayOutput) String() string {
  21880. return awsutil.Prettify(s)
  21881. }
  21882. // GoString returns the string representation
  21883. func (s CreateNatGatewayOutput) GoString() string {
  21884. return s.String()
  21885. }
  21886. // SetClientToken sets the ClientToken field's value.
  21887. func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
  21888. s.ClientToken = &v
  21889. return s
  21890. }
  21891. // SetNatGateway sets the NatGateway field's value.
  21892. func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
  21893. s.NatGateway = v
  21894. return s
  21895. }
  21896. // Contains the parameters for CreateNetworkAclEntry.
  21897. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntryRequest
  21898. type CreateNetworkAclEntryInput struct {
  21899. _ struct{} `type:"structure"`
  21900. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  21901. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  21902. // Checks whether you have the required permissions for the action, without
  21903. // actually making the request, and provides an error response. If you have
  21904. // the required permissions, the error response is DryRunOperation. Otherwise,
  21905. // it is UnauthorizedOperation.
  21906. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21907. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  21908. // the subnet).
  21909. //
  21910. // Egress is a required field
  21911. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  21912. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  21913. // ICMP protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  21914. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  21915. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
  21916. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  21917. // The ID of the network ACL.
  21918. //
  21919. // NetworkAclId is a required field
  21920. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  21921. // TCP or UDP protocols: The range of ports the rule applies to.
  21922. PortRange *PortRange `locationName:"portRange" type:"structure"`
  21923. // The protocol. A value of -1 or all means all protocols. If you specify all,
  21924. // -1, or a protocol number other than tcp, udp, or icmp, traffic on all ports
  21925. // is allowed, regardless of any ports or ICMP types or codes you specify. If
  21926. // you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block, traffic
  21927. // for all ICMP types and codes allowed, regardless of any that you specify.
  21928. // If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block, you must
  21929. // specify an ICMP type and code.
  21930. //
  21931. // Protocol is a required field
  21932. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  21933. // Indicates whether to allow or deny the traffic that matches the rule.
  21934. //
  21935. // RuleAction is a required field
  21936. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  21937. // The rule number for the entry (for example, 100). ACL entries are processed
  21938. // in ascending order by rule number.
  21939. //
  21940. // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
  21941. // reserved for internal use.
  21942. //
  21943. // RuleNumber is a required field
  21944. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  21945. }
  21946. // String returns the string representation
  21947. func (s CreateNetworkAclEntryInput) String() string {
  21948. return awsutil.Prettify(s)
  21949. }
  21950. // GoString returns the string representation
  21951. func (s CreateNetworkAclEntryInput) GoString() string {
  21952. return s.String()
  21953. }
  21954. // Validate inspects the fields of the type to determine if they are valid.
  21955. func (s *CreateNetworkAclEntryInput) Validate() error {
  21956. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
  21957. if s.Egress == nil {
  21958. invalidParams.Add(request.NewErrParamRequired("Egress"))
  21959. }
  21960. if s.NetworkAclId == nil {
  21961. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  21962. }
  21963. if s.Protocol == nil {
  21964. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  21965. }
  21966. if s.RuleAction == nil {
  21967. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  21968. }
  21969. if s.RuleNumber == nil {
  21970. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  21971. }
  21972. if invalidParams.Len() > 0 {
  21973. return invalidParams
  21974. }
  21975. return nil
  21976. }
  21977. // SetCidrBlock sets the CidrBlock field's value.
  21978. func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
  21979. s.CidrBlock = &v
  21980. return s
  21981. }
  21982. // SetDryRun sets the DryRun field's value.
  21983. func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
  21984. s.DryRun = &v
  21985. return s
  21986. }
  21987. // SetEgress sets the Egress field's value.
  21988. func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
  21989. s.Egress = &v
  21990. return s
  21991. }
  21992. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  21993. func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
  21994. s.IcmpTypeCode = v
  21995. return s
  21996. }
  21997. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  21998. func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
  21999. s.Ipv6CidrBlock = &v
  22000. return s
  22001. }
  22002. // SetNetworkAclId sets the NetworkAclId field's value.
  22003. func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
  22004. s.NetworkAclId = &v
  22005. return s
  22006. }
  22007. // SetPortRange sets the PortRange field's value.
  22008. func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
  22009. s.PortRange = v
  22010. return s
  22011. }
  22012. // SetProtocol sets the Protocol field's value.
  22013. func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
  22014. s.Protocol = &v
  22015. return s
  22016. }
  22017. // SetRuleAction sets the RuleAction field's value.
  22018. func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
  22019. s.RuleAction = &v
  22020. return s
  22021. }
  22022. // SetRuleNumber sets the RuleNumber field's value.
  22023. func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
  22024. s.RuleNumber = &v
  22025. return s
  22026. }
  22027. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntryOutput
  22028. type CreateNetworkAclEntryOutput struct {
  22029. _ struct{} `type:"structure"`
  22030. }
  22031. // String returns the string representation
  22032. func (s CreateNetworkAclEntryOutput) String() string {
  22033. return awsutil.Prettify(s)
  22034. }
  22035. // GoString returns the string representation
  22036. func (s CreateNetworkAclEntryOutput) GoString() string {
  22037. return s.String()
  22038. }
  22039. // Contains the parameters for CreateNetworkAcl.
  22040. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclRequest
  22041. type CreateNetworkAclInput struct {
  22042. _ struct{} `type:"structure"`
  22043. // Checks whether you have the required permissions for the action, without
  22044. // actually making the request, and provides an error response. If you have
  22045. // the required permissions, the error response is DryRunOperation. Otherwise,
  22046. // it is UnauthorizedOperation.
  22047. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22048. // The ID of the VPC.
  22049. //
  22050. // VpcId is a required field
  22051. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22052. }
  22053. // String returns the string representation
  22054. func (s CreateNetworkAclInput) String() string {
  22055. return awsutil.Prettify(s)
  22056. }
  22057. // GoString returns the string representation
  22058. func (s CreateNetworkAclInput) GoString() string {
  22059. return s.String()
  22060. }
  22061. // Validate inspects the fields of the type to determine if they are valid.
  22062. func (s *CreateNetworkAclInput) Validate() error {
  22063. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
  22064. if s.VpcId == nil {
  22065. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22066. }
  22067. if invalidParams.Len() > 0 {
  22068. return invalidParams
  22069. }
  22070. return nil
  22071. }
  22072. // SetDryRun sets the DryRun field's value.
  22073. func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
  22074. s.DryRun = &v
  22075. return s
  22076. }
  22077. // SetVpcId sets the VpcId field's value.
  22078. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
  22079. s.VpcId = &v
  22080. return s
  22081. }
  22082. // Contains the output of CreateNetworkAcl.
  22083. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclResult
  22084. type CreateNetworkAclOutput struct {
  22085. _ struct{} `type:"structure"`
  22086. // Information about the network ACL.
  22087. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  22088. }
  22089. // String returns the string representation
  22090. func (s CreateNetworkAclOutput) String() string {
  22091. return awsutil.Prettify(s)
  22092. }
  22093. // GoString returns the string representation
  22094. func (s CreateNetworkAclOutput) GoString() string {
  22095. return s.String()
  22096. }
  22097. // SetNetworkAcl sets the NetworkAcl field's value.
  22098. func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
  22099. s.NetworkAcl = v
  22100. return s
  22101. }
  22102. // Contains the parameters for CreateNetworkInterface.
  22103. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfaceRequest
  22104. type CreateNetworkInterfaceInput struct {
  22105. _ struct{} `type:"structure"`
  22106. // A description for the network interface.
  22107. Description *string `locationName:"description" type:"string"`
  22108. // Checks whether you have the required permissions for the action, without
  22109. // actually making the request, and provides an error response. If you have
  22110. // the required permissions, the error response is DryRunOperation. Otherwise,
  22111. // it is UnauthorizedOperation.
  22112. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22113. // The IDs of one or more security groups.
  22114. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  22115. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  22116. // automatically selects the IPv6 addresses from the subnet range. You can't
  22117. // use this option if specifying specific IPv6 addresses. If your subnet has
  22118. // the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
  22119. // to override this setting.
  22120. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  22121. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  22122. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  22123. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  22124. // The primary private IPv4 address of the network interface. If you don't specify
  22125. // an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
  22126. // range. If you specify an IP address, you cannot indicate any IP addresses
  22127. // specified in privateIpAddresses as primary (only one IP address can be designated
  22128. // as primary).
  22129. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  22130. // One or more private IPv4 addresses.
  22131. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  22132. // The number of secondary private IPv4 addresses to assign to a network interface.
  22133. // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
  22134. // these IP addresses within the subnet's IPv4 CIDR range. You can't specify
  22135. // this option and specify more than one private IP address using privateIpAddresses.
  22136. //
  22137. // The number of IP addresses you can assign to a network interface varies by
  22138. // instance type. For more information, see IP Addresses Per ENI Per Instance
  22139. // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  22140. // in the Amazon Virtual Private Cloud User Guide.
  22141. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  22142. // The ID of the subnet to associate with the network interface.
  22143. //
  22144. // SubnetId is a required field
  22145. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  22146. }
  22147. // String returns the string representation
  22148. func (s CreateNetworkInterfaceInput) String() string {
  22149. return awsutil.Prettify(s)
  22150. }
  22151. // GoString returns the string representation
  22152. func (s CreateNetworkInterfaceInput) GoString() string {
  22153. return s.String()
  22154. }
  22155. // Validate inspects the fields of the type to determine if they are valid.
  22156. func (s *CreateNetworkInterfaceInput) Validate() error {
  22157. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
  22158. if s.SubnetId == nil {
  22159. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  22160. }
  22161. if s.PrivateIpAddresses != nil {
  22162. for i, v := range s.PrivateIpAddresses {
  22163. if v == nil {
  22164. continue
  22165. }
  22166. if err := v.Validate(); err != nil {
  22167. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  22168. }
  22169. }
  22170. }
  22171. if invalidParams.Len() > 0 {
  22172. return invalidParams
  22173. }
  22174. return nil
  22175. }
  22176. // SetDescription sets the Description field's value.
  22177. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
  22178. s.Description = &v
  22179. return s
  22180. }
  22181. // SetDryRun sets the DryRun field's value.
  22182. func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
  22183. s.DryRun = &v
  22184. return s
  22185. }
  22186. // SetGroups sets the Groups field's value.
  22187. func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
  22188. s.Groups = v
  22189. return s
  22190. }
  22191. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  22192. func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
  22193. s.Ipv6AddressCount = &v
  22194. return s
  22195. }
  22196. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  22197. func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
  22198. s.Ipv6Addresses = v
  22199. return s
  22200. }
  22201. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  22202. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
  22203. s.PrivateIpAddress = &v
  22204. return s
  22205. }
  22206. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  22207. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
  22208. s.PrivateIpAddresses = v
  22209. return s
  22210. }
  22211. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  22212. func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
  22213. s.SecondaryPrivateIpAddressCount = &v
  22214. return s
  22215. }
  22216. // SetSubnetId sets the SubnetId field's value.
  22217. func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
  22218. s.SubnetId = &v
  22219. return s
  22220. }
  22221. // Contains the output of CreateNetworkInterface.
  22222. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfaceResult
  22223. type CreateNetworkInterfaceOutput struct {
  22224. _ struct{} `type:"structure"`
  22225. // Information about the network interface.
  22226. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  22227. }
  22228. // String returns the string representation
  22229. func (s CreateNetworkInterfaceOutput) String() string {
  22230. return awsutil.Prettify(s)
  22231. }
  22232. // GoString returns the string representation
  22233. func (s CreateNetworkInterfaceOutput) GoString() string {
  22234. return s.String()
  22235. }
  22236. // SetNetworkInterface sets the NetworkInterface field's value.
  22237. func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
  22238. s.NetworkInterface = v
  22239. return s
  22240. }
  22241. // Contains the parameters for CreatePlacementGroup.
  22242. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroupRequest
  22243. type CreatePlacementGroupInput struct {
  22244. _ struct{} `type:"structure"`
  22245. // Checks whether you have the required permissions for the action, without
  22246. // actually making the request, and provides an error response. If you have
  22247. // the required permissions, the error response is DryRunOperation. Otherwise,
  22248. // it is UnauthorizedOperation.
  22249. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22250. // A name for the placement group.
  22251. //
  22252. // Constraints: Up to 255 ASCII characters
  22253. //
  22254. // GroupName is a required field
  22255. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  22256. // The placement strategy.
  22257. //
  22258. // Strategy is a required field
  22259. Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
  22260. }
  22261. // String returns the string representation
  22262. func (s CreatePlacementGroupInput) String() string {
  22263. return awsutil.Prettify(s)
  22264. }
  22265. // GoString returns the string representation
  22266. func (s CreatePlacementGroupInput) GoString() string {
  22267. return s.String()
  22268. }
  22269. // Validate inspects the fields of the type to determine if they are valid.
  22270. func (s *CreatePlacementGroupInput) Validate() error {
  22271. invalidParams := request.ErrInvalidParams{Context: "CreatePlacementGroupInput"}
  22272. if s.GroupName == nil {
  22273. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  22274. }
  22275. if s.Strategy == nil {
  22276. invalidParams.Add(request.NewErrParamRequired("Strategy"))
  22277. }
  22278. if invalidParams.Len() > 0 {
  22279. return invalidParams
  22280. }
  22281. return nil
  22282. }
  22283. // SetDryRun sets the DryRun field's value.
  22284. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
  22285. s.DryRun = &v
  22286. return s
  22287. }
  22288. // SetGroupName sets the GroupName field's value.
  22289. func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
  22290. s.GroupName = &v
  22291. return s
  22292. }
  22293. // SetStrategy sets the Strategy field's value.
  22294. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
  22295. s.Strategy = &v
  22296. return s
  22297. }
  22298. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroupOutput
  22299. type CreatePlacementGroupOutput struct {
  22300. _ struct{} `type:"structure"`
  22301. }
  22302. // String returns the string representation
  22303. func (s CreatePlacementGroupOutput) String() string {
  22304. return awsutil.Prettify(s)
  22305. }
  22306. // GoString returns the string representation
  22307. func (s CreatePlacementGroupOutput) GoString() string {
  22308. return s.String()
  22309. }
  22310. // Contains the parameters for CreateReservedInstancesListing.
  22311. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListingRequest
  22312. type CreateReservedInstancesListingInput struct {
  22313. _ struct{} `type:"structure"`
  22314. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  22315. // listings. This helps avoid duplicate listings. For more information, see
  22316. // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  22317. //
  22318. // ClientToken is a required field
  22319. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  22320. // The number of instances that are a part of a Reserved Instance account to
  22321. // be listed in the Reserved Instance Marketplace. This number should be less
  22322. // than or equal to the instance count associated with the Reserved Instance
  22323. // ID specified in this call.
  22324. //
  22325. // InstanceCount is a required field
  22326. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  22327. // A list specifying the price of the Standard Reserved Instance for each month
  22328. // remaining in the Reserved Instance term.
  22329. //
  22330. // PriceSchedules is a required field
  22331. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  22332. // The ID of the active Standard Reserved Instance.
  22333. //
  22334. // ReservedInstancesId is a required field
  22335. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  22336. }
  22337. // String returns the string representation
  22338. func (s CreateReservedInstancesListingInput) String() string {
  22339. return awsutil.Prettify(s)
  22340. }
  22341. // GoString returns the string representation
  22342. func (s CreateReservedInstancesListingInput) GoString() string {
  22343. return s.String()
  22344. }
  22345. // Validate inspects the fields of the type to determine if they are valid.
  22346. func (s *CreateReservedInstancesListingInput) Validate() error {
  22347. invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
  22348. if s.ClientToken == nil {
  22349. invalidParams.Add(request.NewErrParamRequired("ClientToken"))
  22350. }
  22351. if s.InstanceCount == nil {
  22352. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  22353. }
  22354. if s.PriceSchedules == nil {
  22355. invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
  22356. }
  22357. if s.ReservedInstancesId == nil {
  22358. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
  22359. }
  22360. if invalidParams.Len() > 0 {
  22361. return invalidParams
  22362. }
  22363. return nil
  22364. }
  22365. // SetClientToken sets the ClientToken field's value.
  22366. func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
  22367. s.ClientToken = &v
  22368. return s
  22369. }
  22370. // SetInstanceCount sets the InstanceCount field's value.
  22371. func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
  22372. s.InstanceCount = &v
  22373. return s
  22374. }
  22375. // SetPriceSchedules sets the PriceSchedules field's value.
  22376. func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
  22377. s.PriceSchedules = v
  22378. return s
  22379. }
  22380. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  22381. func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
  22382. s.ReservedInstancesId = &v
  22383. return s
  22384. }
  22385. // Contains the output of CreateReservedInstancesListing.
  22386. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListingResult
  22387. type CreateReservedInstancesListingOutput struct {
  22388. _ struct{} `type:"structure"`
  22389. // Information about the Standard Reserved Instance listing.
  22390. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  22391. }
  22392. // String returns the string representation
  22393. func (s CreateReservedInstancesListingOutput) String() string {
  22394. return awsutil.Prettify(s)
  22395. }
  22396. // GoString returns the string representation
  22397. func (s CreateReservedInstancesListingOutput) GoString() string {
  22398. return s.String()
  22399. }
  22400. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  22401. func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
  22402. s.ReservedInstancesListings = v
  22403. return s
  22404. }
  22405. // Contains the parameters for CreateRoute.
  22406. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteRequest
  22407. type CreateRouteInput struct {
  22408. _ struct{} `type:"structure"`
  22409. // The IPv4 CIDR address block used for the destination match. Routing decisions
  22410. // are based on the most specific match.
  22411. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  22412. // The IPv6 CIDR block used for the destination match. Routing decisions are
  22413. // based on the most specific match.
  22414. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  22415. // Checks whether you have the required permissions for the action, without
  22416. // actually making the request, and provides an error response. If you have
  22417. // the required permissions, the error response is DryRunOperation. Otherwise,
  22418. // it is UnauthorizedOperation.
  22419. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22420. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  22421. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  22422. // The ID of an Internet gateway or virtual private gateway attached to your
  22423. // VPC.
  22424. GatewayId *string `locationName:"gatewayId" type:"string"`
  22425. // The ID of a NAT instance in your VPC. The operation fails if you specify
  22426. // an instance ID unless exactly one network interface is attached.
  22427. InstanceId *string `locationName:"instanceId" type:"string"`
  22428. // [IPv4 traffic only] The ID of a NAT gateway.
  22429. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  22430. // The ID of a network interface.
  22431. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  22432. // The ID of the route table for the route.
  22433. //
  22434. // RouteTableId is a required field
  22435. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  22436. // The ID of a VPC peering connection.
  22437. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  22438. }
  22439. // String returns the string representation
  22440. func (s CreateRouteInput) String() string {
  22441. return awsutil.Prettify(s)
  22442. }
  22443. // GoString returns the string representation
  22444. func (s CreateRouteInput) GoString() string {
  22445. return s.String()
  22446. }
  22447. // Validate inspects the fields of the type to determine if they are valid.
  22448. func (s *CreateRouteInput) Validate() error {
  22449. invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  22450. if s.RouteTableId == nil {
  22451. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  22452. }
  22453. if invalidParams.Len() > 0 {
  22454. return invalidParams
  22455. }
  22456. return nil
  22457. }
  22458. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  22459. func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
  22460. s.DestinationCidrBlock = &v
  22461. return s
  22462. }
  22463. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  22464. func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
  22465. s.DestinationIpv6CidrBlock = &v
  22466. return s
  22467. }
  22468. // SetDryRun sets the DryRun field's value.
  22469. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
  22470. s.DryRun = &v
  22471. return s
  22472. }
  22473. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  22474. func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
  22475. s.EgressOnlyInternetGatewayId = &v
  22476. return s
  22477. }
  22478. // SetGatewayId sets the GatewayId field's value.
  22479. func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
  22480. s.GatewayId = &v
  22481. return s
  22482. }
  22483. // SetInstanceId sets the InstanceId field's value.
  22484. func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
  22485. s.InstanceId = &v
  22486. return s
  22487. }
  22488. // SetNatGatewayId sets the NatGatewayId field's value.
  22489. func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
  22490. s.NatGatewayId = &v
  22491. return s
  22492. }
  22493. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  22494. func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
  22495. s.NetworkInterfaceId = &v
  22496. return s
  22497. }
  22498. // SetRouteTableId sets the RouteTableId field's value.
  22499. func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
  22500. s.RouteTableId = &v
  22501. return s
  22502. }
  22503. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  22504. func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
  22505. s.VpcPeeringConnectionId = &v
  22506. return s
  22507. }
  22508. // Contains the output of CreateRoute.
  22509. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteResult
  22510. type CreateRouteOutput struct {
  22511. _ struct{} `type:"structure"`
  22512. // Returns true if the request succeeds; otherwise, it returns an error.
  22513. Return *bool `locationName:"return" type:"boolean"`
  22514. }
  22515. // String returns the string representation
  22516. func (s CreateRouteOutput) String() string {
  22517. return awsutil.Prettify(s)
  22518. }
  22519. // GoString returns the string representation
  22520. func (s CreateRouteOutput) GoString() string {
  22521. return s.String()
  22522. }
  22523. // SetReturn sets the Return field's value.
  22524. func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
  22525. s.Return = &v
  22526. return s
  22527. }
  22528. // Contains the parameters for CreateRouteTable.
  22529. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTableRequest
  22530. type CreateRouteTableInput struct {
  22531. _ struct{} `type:"structure"`
  22532. // Checks whether you have the required permissions for the action, without
  22533. // actually making the request, and provides an error response. If you have
  22534. // the required permissions, the error response is DryRunOperation. Otherwise,
  22535. // it is UnauthorizedOperation.
  22536. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22537. // The ID of the VPC.
  22538. //
  22539. // VpcId is a required field
  22540. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22541. }
  22542. // String returns the string representation
  22543. func (s CreateRouteTableInput) String() string {
  22544. return awsutil.Prettify(s)
  22545. }
  22546. // GoString returns the string representation
  22547. func (s CreateRouteTableInput) GoString() string {
  22548. return s.String()
  22549. }
  22550. // Validate inspects the fields of the type to determine if they are valid.
  22551. func (s *CreateRouteTableInput) Validate() error {
  22552. invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
  22553. if s.VpcId == nil {
  22554. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22555. }
  22556. if invalidParams.Len() > 0 {
  22557. return invalidParams
  22558. }
  22559. return nil
  22560. }
  22561. // SetDryRun sets the DryRun field's value.
  22562. func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
  22563. s.DryRun = &v
  22564. return s
  22565. }
  22566. // SetVpcId sets the VpcId field's value.
  22567. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
  22568. s.VpcId = &v
  22569. return s
  22570. }
  22571. // Contains the output of CreateRouteTable.
  22572. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTableResult
  22573. type CreateRouteTableOutput struct {
  22574. _ struct{} `type:"structure"`
  22575. // Information about the route table.
  22576. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  22577. }
  22578. // String returns the string representation
  22579. func (s CreateRouteTableOutput) String() string {
  22580. return awsutil.Prettify(s)
  22581. }
  22582. // GoString returns the string representation
  22583. func (s CreateRouteTableOutput) GoString() string {
  22584. return s.String()
  22585. }
  22586. // SetRouteTable sets the RouteTable field's value.
  22587. func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
  22588. s.RouteTable = v
  22589. return s
  22590. }
  22591. // Contains the parameters for CreateSecurityGroup.
  22592. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroupRequest
  22593. type CreateSecurityGroupInput struct {
  22594. _ struct{} `type:"structure"`
  22595. // A description for the security group. This is informational only.
  22596. //
  22597. // Constraints: Up to 255 characters in length
  22598. //
  22599. // Constraints for EC2-Classic: ASCII characters
  22600. //
  22601. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  22602. //
  22603. // Description is a required field
  22604. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  22605. // Checks whether you have the required permissions for the action, without
  22606. // actually making the request, and provides an error response. If you have
  22607. // the required permissions, the error response is DryRunOperation. Otherwise,
  22608. // it is UnauthorizedOperation.
  22609. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22610. // The name of the security group.
  22611. //
  22612. // Constraints: Up to 255 characters in length
  22613. //
  22614. // Constraints for EC2-Classic: ASCII characters
  22615. //
  22616. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  22617. //
  22618. // GroupName is a required field
  22619. GroupName *string `type:"string" required:"true"`
  22620. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  22621. VpcId *string `type:"string"`
  22622. }
  22623. // String returns the string representation
  22624. func (s CreateSecurityGroupInput) String() string {
  22625. return awsutil.Prettify(s)
  22626. }
  22627. // GoString returns the string representation
  22628. func (s CreateSecurityGroupInput) GoString() string {
  22629. return s.String()
  22630. }
  22631. // Validate inspects the fields of the type to determine if they are valid.
  22632. func (s *CreateSecurityGroupInput) Validate() error {
  22633. invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
  22634. if s.Description == nil {
  22635. invalidParams.Add(request.NewErrParamRequired("Description"))
  22636. }
  22637. if s.GroupName == nil {
  22638. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  22639. }
  22640. if invalidParams.Len() > 0 {
  22641. return invalidParams
  22642. }
  22643. return nil
  22644. }
  22645. // SetDescription sets the Description field's value.
  22646. func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
  22647. s.Description = &v
  22648. return s
  22649. }
  22650. // SetDryRun sets the DryRun field's value.
  22651. func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
  22652. s.DryRun = &v
  22653. return s
  22654. }
  22655. // SetGroupName sets the GroupName field's value.
  22656. func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
  22657. s.GroupName = &v
  22658. return s
  22659. }
  22660. // SetVpcId sets the VpcId field's value.
  22661. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
  22662. s.VpcId = &v
  22663. return s
  22664. }
  22665. // Contains the output of CreateSecurityGroup.
  22666. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroupResult
  22667. type CreateSecurityGroupOutput struct {
  22668. _ struct{} `type:"structure"`
  22669. // The ID of the security group.
  22670. GroupId *string `locationName:"groupId" type:"string"`
  22671. }
  22672. // String returns the string representation
  22673. func (s CreateSecurityGroupOutput) String() string {
  22674. return awsutil.Prettify(s)
  22675. }
  22676. // GoString returns the string representation
  22677. func (s CreateSecurityGroupOutput) GoString() string {
  22678. return s.String()
  22679. }
  22680. // SetGroupId sets the GroupId field's value.
  22681. func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
  22682. s.GroupId = &v
  22683. return s
  22684. }
  22685. // Contains the parameters for CreateSnapshot.
  22686. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshotRequest
  22687. type CreateSnapshotInput struct {
  22688. _ struct{} `type:"structure"`
  22689. // A description for the snapshot.
  22690. Description *string `type:"string"`
  22691. // Checks whether you have the required permissions for the action, without
  22692. // actually making the request, and provides an error response. If you have
  22693. // the required permissions, the error response is DryRunOperation. Otherwise,
  22694. // it is UnauthorizedOperation.
  22695. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22696. // The ID of the EBS volume.
  22697. //
  22698. // VolumeId is a required field
  22699. VolumeId *string `type:"string" required:"true"`
  22700. }
  22701. // String returns the string representation
  22702. func (s CreateSnapshotInput) String() string {
  22703. return awsutil.Prettify(s)
  22704. }
  22705. // GoString returns the string representation
  22706. func (s CreateSnapshotInput) GoString() string {
  22707. return s.String()
  22708. }
  22709. // Validate inspects the fields of the type to determine if they are valid.
  22710. func (s *CreateSnapshotInput) Validate() error {
  22711. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  22712. if s.VolumeId == nil {
  22713. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  22714. }
  22715. if invalidParams.Len() > 0 {
  22716. return invalidParams
  22717. }
  22718. return nil
  22719. }
  22720. // SetDescription sets the Description field's value.
  22721. func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
  22722. s.Description = &v
  22723. return s
  22724. }
  22725. // SetDryRun sets the DryRun field's value.
  22726. func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
  22727. s.DryRun = &v
  22728. return s
  22729. }
  22730. // SetVolumeId sets the VolumeId field's value.
  22731. func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
  22732. s.VolumeId = &v
  22733. return s
  22734. }
  22735. // Contains the parameters for CreateSpotDatafeedSubscription.
  22736. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscriptionRequest
  22737. type CreateSpotDatafeedSubscriptionInput struct {
  22738. _ struct{} `type:"structure"`
  22739. // The Amazon S3 bucket in which to store the Spot instance data feed.
  22740. //
  22741. // Bucket is a required field
  22742. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  22743. // Checks whether you have the required permissions for the action, without
  22744. // actually making the request, and provides an error response. If you have
  22745. // the required permissions, the error response is DryRunOperation. Otherwise,
  22746. // it is UnauthorizedOperation.
  22747. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22748. // A prefix for the data feed file names.
  22749. Prefix *string `locationName:"prefix" type:"string"`
  22750. }
  22751. // String returns the string representation
  22752. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  22753. return awsutil.Prettify(s)
  22754. }
  22755. // GoString returns the string representation
  22756. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  22757. return s.String()
  22758. }
  22759. // Validate inspects the fields of the type to determine if they are valid.
  22760. func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
  22761. invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
  22762. if s.Bucket == nil {
  22763. invalidParams.Add(request.NewErrParamRequired("Bucket"))
  22764. }
  22765. if invalidParams.Len() > 0 {
  22766. return invalidParams
  22767. }
  22768. return nil
  22769. }
  22770. // SetBucket sets the Bucket field's value.
  22771. func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
  22772. s.Bucket = &v
  22773. return s
  22774. }
  22775. // SetDryRun sets the DryRun field's value.
  22776. func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
  22777. s.DryRun = &v
  22778. return s
  22779. }
  22780. // SetPrefix sets the Prefix field's value.
  22781. func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
  22782. s.Prefix = &v
  22783. return s
  22784. }
  22785. // Contains the output of CreateSpotDatafeedSubscription.
  22786. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscriptionResult
  22787. type CreateSpotDatafeedSubscriptionOutput struct {
  22788. _ struct{} `type:"structure"`
  22789. // The Spot instance data feed subscription.
  22790. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  22791. }
  22792. // String returns the string representation
  22793. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  22794. return awsutil.Prettify(s)
  22795. }
  22796. // GoString returns the string representation
  22797. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  22798. return s.String()
  22799. }
  22800. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  22801. func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
  22802. s.SpotDatafeedSubscription = v
  22803. return s
  22804. }
  22805. // Contains the parameters for CreateSubnet.
  22806. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetRequest
  22807. type CreateSubnetInput struct {
  22808. _ struct{} `type:"structure"`
  22809. // The Availability Zone for the subnet.
  22810. //
  22811. // Default: AWS selects one for you. If you create more than one subnet in your
  22812. // VPC, we may not necessarily select a different zone for each subnet.
  22813. AvailabilityZone *string `type:"string"`
  22814. // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  22815. //
  22816. // CidrBlock is a required field
  22817. CidrBlock *string `type:"string" required:"true"`
  22818. // Checks whether you have the required permissions for the action, without
  22819. // actually making the request, and provides an error response. If you have
  22820. // the required permissions, the error response is DryRunOperation. Otherwise,
  22821. // it is UnauthorizedOperation.
  22822. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22823. // The IPv6 network range for the subnet, in CIDR notation. The subnet size
  22824. // must use a /64 prefix length.
  22825. Ipv6CidrBlock *string `type:"string"`
  22826. // The ID of the VPC.
  22827. //
  22828. // VpcId is a required field
  22829. VpcId *string `type:"string" required:"true"`
  22830. }
  22831. // String returns the string representation
  22832. func (s CreateSubnetInput) String() string {
  22833. return awsutil.Prettify(s)
  22834. }
  22835. // GoString returns the string representation
  22836. func (s CreateSubnetInput) GoString() string {
  22837. return s.String()
  22838. }
  22839. // Validate inspects the fields of the type to determine if they are valid.
  22840. func (s *CreateSubnetInput) Validate() error {
  22841. invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
  22842. if s.CidrBlock == nil {
  22843. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  22844. }
  22845. if s.VpcId == nil {
  22846. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22847. }
  22848. if invalidParams.Len() > 0 {
  22849. return invalidParams
  22850. }
  22851. return nil
  22852. }
  22853. // SetAvailabilityZone sets the AvailabilityZone field's value.
  22854. func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
  22855. s.AvailabilityZone = &v
  22856. return s
  22857. }
  22858. // SetCidrBlock sets the CidrBlock field's value.
  22859. func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
  22860. s.CidrBlock = &v
  22861. return s
  22862. }
  22863. // SetDryRun sets the DryRun field's value.
  22864. func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
  22865. s.DryRun = &v
  22866. return s
  22867. }
  22868. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  22869. func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
  22870. s.Ipv6CidrBlock = &v
  22871. return s
  22872. }
  22873. // SetVpcId sets the VpcId field's value.
  22874. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
  22875. s.VpcId = &v
  22876. return s
  22877. }
  22878. // Contains the output of CreateSubnet.
  22879. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetResult
  22880. type CreateSubnetOutput struct {
  22881. _ struct{} `type:"structure"`
  22882. // Information about the subnet.
  22883. Subnet *Subnet `locationName:"subnet" type:"structure"`
  22884. }
  22885. // String returns the string representation
  22886. func (s CreateSubnetOutput) String() string {
  22887. return awsutil.Prettify(s)
  22888. }
  22889. // GoString returns the string representation
  22890. func (s CreateSubnetOutput) GoString() string {
  22891. return s.String()
  22892. }
  22893. // SetSubnet sets the Subnet field's value.
  22894. func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
  22895. s.Subnet = v
  22896. return s
  22897. }
  22898. // Contains the parameters for CreateTags.
  22899. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTagsRequest
  22900. type CreateTagsInput struct {
  22901. _ struct{} `type:"structure"`
  22902. // Checks whether you have the required permissions for the action, without
  22903. // actually making the request, and provides an error response. If you have
  22904. // the required permissions, the error response is DryRunOperation. Otherwise,
  22905. // it is UnauthorizedOperation.
  22906. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22907. // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
  22908. //
  22909. // Resources is a required field
  22910. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  22911. // One or more tags. The value parameter is required, but if you don't want
  22912. // the tag to have a value, specify the parameter with no value, and we set
  22913. // the value to an empty string.
  22914. //
  22915. // Tags is a required field
  22916. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  22917. }
  22918. // String returns the string representation
  22919. func (s CreateTagsInput) String() string {
  22920. return awsutil.Prettify(s)
  22921. }
  22922. // GoString returns the string representation
  22923. func (s CreateTagsInput) GoString() string {
  22924. return s.String()
  22925. }
  22926. // Validate inspects the fields of the type to determine if they are valid.
  22927. func (s *CreateTagsInput) Validate() error {
  22928. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  22929. if s.Resources == nil {
  22930. invalidParams.Add(request.NewErrParamRequired("Resources"))
  22931. }
  22932. if s.Tags == nil {
  22933. invalidParams.Add(request.NewErrParamRequired("Tags"))
  22934. }
  22935. if invalidParams.Len() > 0 {
  22936. return invalidParams
  22937. }
  22938. return nil
  22939. }
  22940. // SetDryRun sets the DryRun field's value.
  22941. func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
  22942. s.DryRun = &v
  22943. return s
  22944. }
  22945. // SetResources sets the Resources field's value.
  22946. func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
  22947. s.Resources = v
  22948. return s
  22949. }
  22950. // SetTags sets the Tags field's value.
  22951. func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  22952. s.Tags = v
  22953. return s
  22954. }
  22955. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTagsOutput
  22956. type CreateTagsOutput struct {
  22957. _ struct{} `type:"structure"`
  22958. }
  22959. // String returns the string representation
  22960. func (s CreateTagsOutput) String() string {
  22961. return awsutil.Prettify(s)
  22962. }
  22963. // GoString returns the string representation
  22964. func (s CreateTagsOutput) GoString() string {
  22965. return s.String()
  22966. }
  22967. // Contains the parameters for CreateVolume.
  22968. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumeRequest
  22969. type CreateVolumeInput struct {
  22970. _ struct{} `type:"structure"`
  22971. // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
  22972. // to list the Availability Zones that are currently available to you.
  22973. //
  22974. // AvailabilityZone is a required field
  22975. AvailabilityZone *string `type:"string" required:"true"`
  22976. // Checks whether you have the required permissions for the action, without
  22977. // actually making the request, and provides an error response. If you have
  22978. // the required permissions, the error response is DryRunOperation. Otherwise,
  22979. // it is UnauthorizedOperation.
  22980. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22981. // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
  22982. // may only be attached to instances that support Amazon EBS encryption. Volumes
  22983. // that are created from encrypted snapshots are automatically encrypted. There
  22984. // is no way to create an encrypted volume from an unencrypted snapshot or vice
  22985. // versa. If your AMI uses encrypted volumes, you can only launch it on supported
  22986. // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  22987. // in the Amazon Elastic Compute Cloud User Guide.
  22988. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  22989. // Only valid for Provisioned IOPS SSD volumes. The number of I/O operations
  22990. // per second (IOPS) to provision for the volume, with a maximum ratio of 50
  22991. // IOPS/GiB.
  22992. //
  22993. // Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes
  22994. Iops *int64 `type:"integer"`
  22995. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  22996. // key (CMK) to use when creating the encrypted volume. This parameter is only
  22997. // required if you want to use a non-default CMK; if this parameter is not specified,
  22998. // the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace,
  22999. // followed by the region of the CMK, the AWS account ID of the CMK owner, the
  23000. // key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  23001. // If a KmsKeyId is specified, the Encrypted flag must also be set.
  23002. KmsKeyId *string `type:"string"`
  23003. // The size of the volume, in GiBs.
  23004. //
  23005. // Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384
  23006. // for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size
  23007. // must be equal to or larger than the snapshot size.
  23008. //
  23009. // Default: If you're creating the volume from a snapshot and don't specify
  23010. // a volume size, the default is the snapshot size.
  23011. Size *int64 `type:"integer"`
  23012. // The snapshot from which to create the volume.
  23013. SnapshotId *string `type:"string"`
  23014. // The tags to apply to the volume during creation.
  23015. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  23016. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  23017. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  23018. // for Magnetic volumes.
  23019. //
  23020. // Default: standard
  23021. VolumeType *string `type:"string" enum:"VolumeType"`
  23022. }
  23023. // String returns the string representation
  23024. func (s CreateVolumeInput) String() string {
  23025. return awsutil.Prettify(s)
  23026. }
  23027. // GoString returns the string representation
  23028. func (s CreateVolumeInput) GoString() string {
  23029. return s.String()
  23030. }
  23031. // Validate inspects the fields of the type to determine if they are valid.
  23032. func (s *CreateVolumeInput) Validate() error {
  23033. invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  23034. if s.AvailabilityZone == nil {
  23035. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  23036. }
  23037. if invalidParams.Len() > 0 {
  23038. return invalidParams
  23039. }
  23040. return nil
  23041. }
  23042. // SetAvailabilityZone sets the AvailabilityZone field's value.
  23043. func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
  23044. s.AvailabilityZone = &v
  23045. return s
  23046. }
  23047. // SetDryRun sets the DryRun field's value.
  23048. func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
  23049. s.DryRun = &v
  23050. return s
  23051. }
  23052. // SetEncrypted sets the Encrypted field's value.
  23053. func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
  23054. s.Encrypted = &v
  23055. return s
  23056. }
  23057. // SetIops sets the Iops field's value.
  23058. func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
  23059. s.Iops = &v
  23060. return s
  23061. }
  23062. // SetKmsKeyId sets the KmsKeyId field's value.
  23063. func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
  23064. s.KmsKeyId = &v
  23065. return s
  23066. }
  23067. // SetSize sets the Size field's value.
  23068. func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
  23069. s.Size = &v
  23070. return s
  23071. }
  23072. // SetSnapshotId sets the SnapshotId field's value.
  23073. func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
  23074. s.SnapshotId = &v
  23075. return s
  23076. }
  23077. // SetTagSpecifications sets the TagSpecifications field's value.
  23078. func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
  23079. s.TagSpecifications = v
  23080. return s
  23081. }
  23082. // SetVolumeType sets the VolumeType field's value.
  23083. func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
  23084. s.VolumeType = &v
  23085. return s
  23086. }
  23087. // Describes the user or group to be added or removed from the permissions for
  23088. // a volume.
  23089. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumePermission
  23090. type CreateVolumePermission struct {
  23091. _ struct{} `type:"structure"`
  23092. // The specific group that is to be added or removed from a volume's list of
  23093. // create volume permissions.
  23094. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  23095. // The specific AWS account ID that is to be added or removed from a volume's
  23096. // list of create volume permissions.
  23097. UserId *string `locationName:"userId" type:"string"`
  23098. }
  23099. // String returns the string representation
  23100. func (s CreateVolumePermission) String() string {
  23101. return awsutil.Prettify(s)
  23102. }
  23103. // GoString returns the string representation
  23104. func (s CreateVolumePermission) GoString() string {
  23105. return s.String()
  23106. }
  23107. // SetGroup sets the Group field's value.
  23108. func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
  23109. s.Group = &v
  23110. return s
  23111. }
  23112. // SetUserId sets the UserId field's value.
  23113. func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
  23114. s.UserId = &v
  23115. return s
  23116. }
  23117. // Describes modifications to the permissions for a volume.
  23118. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumePermissionModifications
  23119. type CreateVolumePermissionModifications struct {
  23120. _ struct{} `type:"structure"`
  23121. // Adds a specific AWS account ID or group to a volume's list of create volume
  23122. // permissions.
  23123. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  23124. // Removes a specific AWS account ID or group from a volume's list of create
  23125. // volume permissions.
  23126. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  23127. }
  23128. // String returns the string representation
  23129. func (s CreateVolumePermissionModifications) String() string {
  23130. return awsutil.Prettify(s)
  23131. }
  23132. // GoString returns the string representation
  23133. func (s CreateVolumePermissionModifications) GoString() string {
  23134. return s.String()
  23135. }
  23136. // SetAdd sets the Add field's value.
  23137. func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  23138. s.Add = v
  23139. return s
  23140. }
  23141. // SetRemove sets the Remove field's value.
  23142. func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  23143. s.Remove = v
  23144. return s
  23145. }
  23146. // Contains the parameters for CreateVpcEndpoint.
  23147. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointRequest
  23148. type CreateVpcEndpointInput struct {
  23149. _ struct{} `type:"structure"`
  23150. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  23151. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  23152. ClientToken *string `type:"string"`
  23153. // Checks whether you have the required permissions for the action, without
  23154. // actually making the request, and provides an error response. If you have
  23155. // the required permissions, the error response is DryRunOperation. Otherwise,
  23156. // it is UnauthorizedOperation.
  23157. DryRun *bool `type:"boolean"`
  23158. // A policy to attach to the endpoint that controls access to the service. The
  23159. // policy must be in valid JSON format. If this parameter is not specified,
  23160. // we attach a default policy that allows full access to the service.
  23161. PolicyDocument *string `type:"string"`
  23162. // One or more route table IDs.
  23163. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  23164. // The AWS service name, in the form com.amazonaws.region.service. To get a
  23165. // list of available services, use the DescribeVpcEndpointServices request.
  23166. //
  23167. // ServiceName is a required field
  23168. ServiceName *string `type:"string" required:"true"`
  23169. // The ID of the VPC in which the endpoint will be used.
  23170. //
  23171. // VpcId is a required field
  23172. VpcId *string `type:"string" required:"true"`
  23173. }
  23174. // String returns the string representation
  23175. func (s CreateVpcEndpointInput) String() string {
  23176. return awsutil.Prettify(s)
  23177. }
  23178. // GoString returns the string representation
  23179. func (s CreateVpcEndpointInput) GoString() string {
  23180. return s.String()
  23181. }
  23182. // Validate inspects the fields of the type to determine if they are valid.
  23183. func (s *CreateVpcEndpointInput) Validate() error {
  23184. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
  23185. if s.ServiceName == nil {
  23186. invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  23187. }
  23188. if s.VpcId == nil {
  23189. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  23190. }
  23191. if invalidParams.Len() > 0 {
  23192. return invalidParams
  23193. }
  23194. return nil
  23195. }
  23196. // SetClientToken sets the ClientToken field's value.
  23197. func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
  23198. s.ClientToken = &v
  23199. return s
  23200. }
  23201. // SetDryRun sets the DryRun field's value.
  23202. func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
  23203. s.DryRun = &v
  23204. return s
  23205. }
  23206. // SetPolicyDocument sets the PolicyDocument field's value.
  23207. func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
  23208. s.PolicyDocument = &v
  23209. return s
  23210. }
  23211. // SetRouteTableIds sets the RouteTableIds field's value.
  23212. func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
  23213. s.RouteTableIds = v
  23214. return s
  23215. }
  23216. // SetServiceName sets the ServiceName field's value.
  23217. func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
  23218. s.ServiceName = &v
  23219. return s
  23220. }
  23221. // SetVpcId sets the VpcId field's value.
  23222. func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
  23223. s.VpcId = &v
  23224. return s
  23225. }
  23226. // Contains the output of CreateVpcEndpoint.
  23227. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointResult
  23228. type CreateVpcEndpointOutput struct {
  23229. _ struct{} `type:"structure"`
  23230. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  23231. // the request.
  23232. ClientToken *string `locationName:"clientToken" type:"string"`
  23233. // Information about the endpoint.
  23234. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  23235. }
  23236. // String returns the string representation
  23237. func (s CreateVpcEndpointOutput) String() string {
  23238. return awsutil.Prettify(s)
  23239. }
  23240. // GoString returns the string representation
  23241. func (s CreateVpcEndpointOutput) GoString() string {
  23242. return s.String()
  23243. }
  23244. // SetClientToken sets the ClientToken field's value.
  23245. func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
  23246. s.ClientToken = &v
  23247. return s
  23248. }
  23249. // SetVpcEndpoint sets the VpcEndpoint field's value.
  23250. func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
  23251. s.VpcEndpoint = v
  23252. return s
  23253. }
  23254. // Contains the parameters for CreateVpc.
  23255. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcRequest
  23256. type CreateVpcInput struct {
  23257. _ struct{} `type:"structure"`
  23258. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  23259. // the VPC. You cannot specify the range of IP addresses, or the size of the
  23260. // CIDR block.
  23261. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  23262. // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  23263. //
  23264. // CidrBlock is a required field
  23265. CidrBlock *string `type:"string" required:"true"`
  23266. // Checks whether you have the required permissions for the action, without
  23267. // actually making the request, and provides an error response. If you have
  23268. // the required permissions, the error response is DryRunOperation. Otherwise,
  23269. // it is UnauthorizedOperation.
  23270. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23271. // The tenancy options for instances launched into the VPC. For default, instances
  23272. // are launched with shared tenancy by default. You can launch instances with
  23273. // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
  23274. // as dedicated tenancy instances by default. You can only launch instances
  23275. // with a tenancy of dedicated or host into a dedicated tenancy VPC.
  23276. //
  23277. // Important: The host value cannot be used with this parameter. Use the default
  23278. // or dedicated values only.
  23279. //
  23280. // Default: default
  23281. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  23282. }
  23283. // String returns the string representation
  23284. func (s CreateVpcInput) String() string {
  23285. return awsutil.Prettify(s)
  23286. }
  23287. // GoString returns the string representation
  23288. func (s CreateVpcInput) GoString() string {
  23289. return s.String()
  23290. }
  23291. // Validate inspects the fields of the type to determine if they are valid.
  23292. func (s *CreateVpcInput) Validate() error {
  23293. invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
  23294. if s.CidrBlock == nil {
  23295. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  23296. }
  23297. if invalidParams.Len() > 0 {
  23298. return invalidParams
  23299. }
  23300. return nil
  23301. }
  23302. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  23303. func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
  23304. s.AmazonProvidedIpv6CidrBlock = &v
  23305. return s
  23306. }
  23307. // SetCidrBlock sets the CidrBlock field's value.
  23308. func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
  23309. s.CidrBlock = &v
  23310. return s
  23311. }
  23312. // SetDryRun sets the DryRun field's value.
  23313. func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
  23314. s.DryRun = &v
  23315. return s
  23316. }
  23317. // SetInstanceTenancy sets the InstanceTenancy field's value.
  23318. func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
  23319. s.InstanceTenancy = &v
  23320. return s
  23321. }
  23322. // Contains the output of CreateVpc.
  23323. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcResult
  23324. type CreateVpcOutput struct {
  23325. _ struct{} `type:"structure"`
  23326. // Information about the VPC.
  23327. Vpc *Vpc `locationName:"vpc" type:"structure"`
  23328. }
  23329. // String returns the string representation
  23330. func (s CreateVpcOutput) String() string {
  23331. return awsutil.Prettify(s)
  23332. }
  23333. // GoString returns the string representation
  23334. func (s CreateVpcOutput) GoString() string {
  23335. return s.String()
  23336. }
  23337. // SetVpc sets the Vpc field's value.
  23338. func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
  23339. s.Vpc = v
  23340. return s
  23341. }
  23342. // Contains the parameters for CreateVpcPeeringConnection.
  23343. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnectionRequest
  23344. type CreateVpcPeeringConnectionInput struct {
  23345. _ struct{} `type:"structure"`
  23346. // Checks whether you have the required permissions for the action, without
  23347. // actually making the request, and provides an error response. If you have
  23348. // the required permissions, the error response is DryRunOperation. Otherwise,
  23349. // it is UnauthorizedOperation.
  23350. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23351. // The AWS account ID of the owner of the peer VPC.
  23352. //
  23353. // Default: Your AWS account ID
  23354. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  23355. // The ID of the VPC with which you are creating the VPC peering connection.
  23356. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  23357. // The ID of the requester VPC.
  23358. VpcId *string `locationName:"vpcId" type:"string"`
  23359. }
  23360. // String returns the string representation
  23361. func (s CreateVpcPeeringConnectionInput) String() string {
  23362. return awsutil.Prettify(s)
  23363. }
  23364. // GoString returns the string representation
  23365. func (s CreateVpcPeeringConnectionInput) GoString() string {
  23366. return s.String()
  23367. }
  23368. // SetDryRun sets the DryRun field's value.
  23369. func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
  23370. s.DryRun = &v
  23371. return s
  23372. }
  23373. // SetPeerOwnerId sets the PeerOwnerId field's value.
  23374. func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
  23375. s.PeerOwnerId = &v
  23376. return s
  23377. }
  23378. // SetPeerVpcId sets the PeerVpcId field's value.
  23379. func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
  23380. s.PeerVpcId = &v
  23381. return s
  23382. }
  23383. // SetVpcId sets the VpcId field's value.
  23384. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
  23385. s.VpcId = &v
  23386. return s
  23387. }
  23388. // Contains the output of CreateVpcPeeringConnection.
  23389. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnectionResult
  23390. type CreateVpcPeeringConnectionOutput struct {
  23391. _ struct{} `type:"structure"`
  23392. // Information about the VPC peering connection.
  23393. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  23394. }
  23395. // String returns the string representation
  23396. func (s CreateVpcPeeringConnectionOutput) String() string {
  23397. return awsutil.Prettify(s)
  23398. }
  23399. // GoString returns the string representation
  23400. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  23401. return s.String()
  23402. }
  23403. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  23404. func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
  23405. s.VpcPeeringConnection = v
  23406. return s
  23407. }
  23408. // Contains the parameters for CreateVpnConnection.
  23409. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRequest
  23410. type CreateVpnConnectionInput struct {
  23411. _ struct{} `type:"structure"`
  23412. // The ID of the customer gateway.
  23413. //
  23414. // CustomerGatewayId is a required field
  23415. CustomerGatewayId *string `type:"string" required:"true"`
  23416. // Checks whether you have the required permissions for the action, without
  23417. // actually making the request, and provides an error response. If you have
  23418. // the required permissions, the error response is DryRunOperation. Otherwise,
  23419. // it is UnauthorizedOperation.
  23420. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23421. // Indicates whether the VPN connection requires static routes. If you are creating
  23422. // a VPN connection for a device that does not support BGP, you must specify
  23423. // true.
  23424. //
  23425. // Default: false
  23426. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  23427. // The type of VPN connection (ipsec.1).
  23428. //
  23429. // Type is a required field
  23430. Type *string `type:"string" required:"true"`
  23431. // The ID of the virtual private gateway.
  23432. //
  23433. // VpnGatewayId is a required field
  23434. VpnGatewayId *string `type:"string" required:"true"`
  23435. }
  23436. // String returns the string representation
  23437. func (s CreateVpnConnectionInput) String() string {
  23438. return awsutil.Prettify(s)
  23439. }
  23440. // GoString returns the string representation
  23441. func (s CreateVpnConnectionInput) GoString() string {
  23442. return s.String()
  23443. }
  23444. // Validate inspects the fields of the type to determine if they are valid.
  23445. func (s *CreateVpnConnectionInput) Validate() error {
  23446. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
  23447. if s.CustomerGatewayId == nil {
  23448. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  23449. }
  23450. if s.Type == nil {
  23451. invalidParams.Add(request.NewErrParamRequired("Type"))
  23452. }
  23453. if s.VpnGatewayId == nil {
  23454. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  23455. }
  23456. if invalidParams.Len() > 0 {
  23457. return invalidParams
  23458. }
  23459. return nil
  23460. }
  23461. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  23462. func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
  23463. s.CustomerGatewayId = &v
  23464. return s
  23465. }
  23466. // SetDryRun sets the DryRun field's value.
  23467. func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
  23468. s.DryRun = &v
  23469. return s
  23470. }
  23471. // SetOptions sets the Options field's value.
  23472. func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
  23473. s.Options = v
  23474. return s
  23475. }
  23476. // SetType sets the Type field's value.
  23477. func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
  23478. s.Type = &v
  23479. return s
  23480. }
  23481. // SetVpnGatewayId sets the VpnGatewayId field's value.
  23482. func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
  23483. s.VpnGatewayId = &v
  23484. return s
  23485. }
  23486. // Contains the output of CreateVpnConnection.
  23487. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionResult
  23488. type CreateVpnConnectionOutput struct {
  23489. _ struct{} `type:"structure"`
  23490. // Information about the VPN connection.
  23491. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  23492. }
  23493. // String returns the string representation
  23494. func (s CreateVpnConnectionOutput) String() string {
  23495. return awsutil.Prettify(s)
  23496. }
  23497. // GoString returns the string representation
  23498. func (s CreateVpnConnectionOutput) GoString() string {
  23499. return s.String()
  23500. }
  23501. // SetVpnConnection sets the VpnConnection field's value.
  23502. func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
  23503. s.VpnConnection = v
  23504. return s
  23505. }
  23506. // Contains the parameters for CreateVpnConnectionRoute.
  23507. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRouteRequest
  23508. type CreateVpnConnectionRouteInput struct {
  23509. _ struct{} `type:"structure"`
  23510. // The CIDR block associated with the local subnet of the customer network.
  23511. //
  23512. // DestinationCidrBlock is a required field
  23513. DestinationCidrBlock *string `type:"string" required:"true"`
  23514. // The ID of the VPN connection.
  23515. //
  23516. // VpnConnectionId is a required field
  23517. VpnConnectionId *string `type:"string" required:"true"`
  23518. }
  23519. // String returns the string representation
  23520. func (s CreateVpnConnectionRouteInput) String() string {
  23521. return awsutil.Prettify(s)
  23522. }
  23523. // GoString returns the string representation
  23524. func (s CreateVpnConnectionRouteInput) GoString() string {
  23525. return s.String()
  23526. }
  23527. // Validate inspects the fields of the type to determine if they are valid.
  23528. func (s *CreateVpnConnectionRouteInput) Validate() error {
  23529. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
  23530. if s.DestinationCidrBlock == nil {
  23531. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  23532. }
  23533. if s.VpnConnectionId == nil {
  23534. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  23535. }
  23536. if invalidParams.Len() > 0 {
  23537. return invalidParams
  23538. }
  23539. return nil
  23540. }
  23541. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  23542. func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
  23543. s.DestinationCidrBlock = &v
  23544. return s
  23545. }
  23546. // SetVpnConnectionId sets the VpnConnectionId field's value.
  23547. func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
  23548. s.VpnConnectionId = &v
  23549. return s
  23550. }
  23551. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRouteOutput
  23552. type CreateVpnConnectionRouteOutput struct {
  23553. _ struct{} `type:"structure"`
  23554. }
  23555. // String returns the string representation
  23556. func (s CreateVpnConnectionRouteOutput) String() string {
  23557. return awsutil.Prettify(s)
  23558. }
  23559. // GoString returns the string representation
  23560. func (s CreateVpnConnectionRouteOutput) GoString() string {
  23561. return s.String()
  23562. }
  23563. // Contains the parameters for CreateVpnGateway.
  23564. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGatewayRequest
  23565. type CreateVpnGatewayInput struct {
  23566. _ struct{} `type:"structure"`
  23567. // The Availability Zone for the virtual private gateway.
  23568. AvailabilityZone *string `type:"string"`
  23569. // Checks whether you have the required permissions for the action, without
  23570. // actually making the request, and provides an error response. If you have
  23571. // the required permissions, the error response is DryRunOperation. Otherwise,
  23572. // it is UnauthorizedOperation.
  23573. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23574. // The type of VPN connection this virtual private gateway supports.
  23575. //
  23576. // Type is a required field
  23577. Type *string `type:"string" required:"true" enum:"GatewayType"`
  23578. }
  23579. // String returns the string representation
  23580. func (s CreateVpnGatewayInput) String() string {
  23581. return awsutil.Prettify(s)
  23582. }
  23583. // GoString returns the string representation
  23584. func (s CreateVpnGatewayInput) GoString() string {
  23585. return s.String()
  23586. }
  23587. // Validate inspects the fields of the type to determine if they are valid.
  23588. func (s *CreateVpnGatewayInput) Validate() error {
  23589. invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
  23590. if s.Type == nil {
  23591. invalidParams.Add(request.NewErrParamRequired("Type"))
  23592. }
  23593. if invalidParams.Len() > 0 {
  23594. return invalidParams
  23595. }
  23596. return nil
  23597. }
  23598. // SetAvailabilityZone sets the AvailabilityZone field's value.
  23599. func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
  23600. s.AvailabilityZone = &v
  23601. return s
  23602. }
  23603. // SetDryRun sets the DryRun field's value.
  23604. func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
  23605. s.DryRun = &v
  23606. return s
  23607. }
  23608. // SetType sets the Type field's value.
  23609. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
  23610. s.Type = &v
  23611. return s
  23612. }
  23613. // Contains the output of CreateVpnGateway.
  23614. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGatewayResult
  23615. type CreateVpnGatewayOutput struct {
  23616. _ struct{} `type:"structure"`
  23617. // Information about the virtual private gateway.
  23618. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  23619. }
  23620. // String returns the string representation
  23621. func (s CreateVpnGatewayOutput) String() string {
  23622. return awsutil.Prettify(s)
  23623. }
  23624. // GoString returns the string representation
  23625. func (s CreateVpnGatewayOutput) GoString() string {
  23626. return s.String()
  23627. }
  23628. // SetVpnGateway sets the VpnGateway field's value.
  23629. func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
  23630. s.VpnGateway = v
  23631. return s
  23632. }
  23633. // Describes a customer gateway.
  23634. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CustomerGateway
  23635. type CustomerGateway struct {
  23636. _ struct{} `type:"structure"`
  23637. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  23638. // (ASN).
  23639. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  23640. // The ID of the customer gateway.
  23641. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  23642. // The Internet-routable IP address of the customer gateway's outside interface.
  23643. IpAddress *string `locationName:"ipAddress" type:"string"`
  23644. // The current state of the customer gateway (pending | available | deleting
  23645. // | deleted).
  23646. State *string `locationName:"state" type:"string"`
  23647. // Any tags assigned to the customer gateway.
  23648. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  23649. // The type of VPN connection the customer gateway supports (ipsec.1).
  23650. Type *string `locationName:"type" type:"string"`
  23651. }
  23652. // String returns the string representation
  23653. func (s CustomerGateway) String() string {
  23654. return awsutil.Prettify(s)
  23655. }
  23656. // GoString returns the string representation
  23657. func (s CustomerGateway) GoString() string {
  23658. return s.String()
  23659. }
  23660. // SetBgpAsn sets the BgpAsn field's value.
  23661. func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
  23662. s.BgpAsn = &v
  23663. return s
  23664. }
  23665. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  23666. func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
  23667. s.CustomerGatewayId = &v
  23668. return s
  23669. }
  23670. // SetIpAddress sets the IpAddress field's value.
  23671. func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
  23672. s.IpAddress = &v
  23673. return s
  23674. }
  23675. // SetState sets the State field's value.
  23676. func (s *CustomerGateway) SetState(v string) *CustomerGateway {
  23677. s.State = &v
  23678. return s
  23679. }
  23680. // SetTags sets the Tags field's value.
  23681. func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
  23682. s.Tags = v
  23683. return s
  23684. }
  23685. // SetType sets the Type field's value.
  23686. func (s *CustomerGateway) SetType(v string) *CustomerGateway {
  23687. s.Type = &v
  23688. return s
  23689. }
  23690. // Contains the parameters for DeleteCustomerGateway.
  23691. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGatewayRequest
  23692. type DeleteCustomerGatewayInput struct {
  23693. _ struct{} `type:"structure"`
  23694. // The ID of the customer gateway.
  23695. //
  23696. // CustomerGatewayId is a required field
  23697. CustomerGatewayId *string `type:"string" required:"true"`
  23698. // Checks whether you have the required permissions for the action, without
  23699. // actually making the request, and provides an error response. If you have
  23700. // the required permissions, the error response is DryRunOperation. Otherwise,
  23701. // it is UnauthorizedOperation.
  23702. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23703. }
  23704. // String returns the string representation
  23705. func (s DeleteCustomerGatewayInput) String() string {
  23706. return awsutil.Prettify(s)
  23707. }
  23708. // GoString returns the string representation
  23709. func (s DeleteCustomerGatewayInput) GoString() string {
  23710. return s.String()
  23711. }
  23712. // Validate inspects the fields of the type to determine if they are valid.
  23713. func (s *DeleteCustomerGatewayInput) Validate() error {
  23714. invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
  23715. if s.CustomerGatewayId == nil {
  23716. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  23717. }
  23718. if invalidParams.Len() > 0 {
  23719. return invalidParams
  23720. }
  23721. return nil
  23722. }
  23723. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  23724. func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
  23725. s.CustomerGatewayId = &v
  23726. return s
  23727. }
  23728. // SetDryRun sets the DryRun field's value.
  23729. func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
  23730. s.DryRun = &v
  23731. return s
  23732. }
  23733. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGatewayOutput
  23734. type DeleteCustomerGatewayOutput struct {
  23735. _ struct{} `type:"structure"`
  23736. }
  23737. // String returns the string representation
  23738. func (s DeleteCustomerGatewayOutput) String() string {
  23739. return awsutil.Prettify(s)
  23740. }
  23741. // GoString returns the string representation
  23742. func (s DeleteCustomerGatewayOutput) GoString() string {
  23743. return s.String()
  23744. }
  23745. // Contains the parameters for DeleteDhcpOptions.
  23746. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptionsRequest
  23747. type DeleteDhcpOptionsInput struct {
  23748. _ struct{} `type:"structure"`
  23749. // The ID of the DHCP options set.
  23750. //
  23751. // DhcpOptionsId is a required field
  23752. DhcpOptionsId *string `type:"string" required:"true"`
  23753. // Checks whether you have the required permissions for the action, without
  23754. // actually making the request, and provides an error response. If you have
  23755. // the required permissions, the error response is DryRunOperation. Otherwise,
  23756. // it is UnauthorizedOperation.
  23757. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23758. }
  23759. // String returns the string representation
  23760. func (s DeleteDhcpOptionsInput) String() string {
  23761. return awsutil.Prettify(s)
  23762. }
  23763. // GoString returns the string representation
  23764. func (s DeleteDhcpOptionsInput) GoString() string {
  23765. return s.String()
  23766. }
  23767. // Validate inspects the fields of the type to determine if they are valid.
  23768. func (s *DeleteDhcpOptionsInput) Validate() error {
  23769. invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
  23770. if s.DhcpOptionsId == nil {
  23771. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  23772. }
  23773. if invalidParams.Len() > 0 {
  23774. return invalidParams
  23775. }
  23776. return nil
  23777. }
  23778. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  23779. func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
  23780. s.DhcpOptionsId = &v
  23781. return s
  23782. }
  23783. // SetDryRun sets the DryRun field's value.
  23784. func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
  23785. s.DryRun = &v
  23786. return s
  23787. }
  23788. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptionsOutput
  23789. type DeleteDhcpOptionsOutput struct {
  23790. _ struct{} `type:"structure"`
  23791. }
  23792. // String returns the string representation
  23793. func (s DeleteDhcpOptionsOutput) String() string {
  23794. return awsutil.Prettify(s)
  23795. }
  23796. // GoString returns the string representation
  23797. func (s DeleteDhcpOptionsOutput) GoString() string {
  23798. return s.String()
  23799. }
  23800. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGatewayRequest
  23801. type DeleteEgressOnlyInternetGatewayInput struct {
  23802. _ struct{} `type:"structure"`
  23803. // Checks whether you have the required permissions for the action, without
  23804. // actually making the request, and provides an error response. If you have
  23805. // the required permissions, the error response is DryRunOperation. Otherwise,
  23806. // it is UnauthorizedOperation.
  23807. DryRun *bool `type:"boolean"`
  23808. // The ID of the egress-only Internet gateway.
  23809. //
  23810. // EgressOnlyInternetGatewayId is a required field
  23811. EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
  23812. }
  23813. // String returns the string representation
  23814. func (s DeleteEgressOnlyInternetGatewayInput) String() string {
  23815. return awsutil.Prettify(s)
  23816. }
  23817. // GoString returns the string representation
  23818. func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
  23819. return s.String()
  23820. }
  23821. // Validate inspects the fields of the type to determine if they are valid.
  23822. func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
  23823. invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
  23824. if s.EgressOnlyInternetGatewayId == nil {
  23825. invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
  23826. }
  23827. if invalidParams.Len() > 0 {
  23828. return invalidParams
  23829. }
  23830. return nil
  23831. }
  23832. // SetDryRun sets the DryRun field's value.
  23833. func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
  23834. s.DryRun = &v
  23835. return s
  23836. }
  23837. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  23838. func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
  23839. s.EgressOnlyInternetGatewayId = &v
  23840. return s
  23841. }
  23842. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGatewayResult
  23843. type DeleteEgressOnlyInternetGatewayOutput struct {
  23844. _ struct{} `type:"structure"`
  23845. // Returns true if the request succeeds; otherwise, it returns an error.
  23846. ReturnCode *bool `locationName:"returnCode" type:"boolean"`
  23847. }
  23848. // String returns the string representation
  23849. func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
  23850. return awsutil.Prettify(s)
  23851. }
  23852. // GoString returns the string representation
  23853. func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
  23854. return s.String()
  23855. }
  23856. // SetReturnCode sets the ReturnCode field's value.
  23857. func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
  23858. s.ReturnCode = &v
  23859. return s
  23860. }
  23861. // Contains the parameters for DeleteFlowLogs.
  23862. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogsRequest
  23863. type DeleteFlowLogsInput struct {
  23864. _ struct{} `type:"structure"`
  23865. // One or more flow log IDs.
  23866. //
  23867. // FlowLogIds is a required field
  23868. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  23869. }
  23870. // String returns the string representation
  23871. func (s DeleteFlowLogsInput) String() string {
  23872. return awsutil.Prettify(s)
  23873. }
  23874. // GoString returns the string representation
  23875. func (s DeleteFlowLogsInput) GoString() string {
  23876. return s.String()
  23877. }
  23878. // Validate inspects the fields of the type to determine if they are valid.
  23879. func (s *DeleteFlowLogsInput) Validate() error {
  23880. invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
  23881. if s.FlowLogIds == nil {
  23882. invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
  23883. }
  23884. if invalidParams.Len() > 0 {
  23885. return invalidParams
  23886. }
  23887. return nil
  23888. }
  23889. // SetFlowLogIds sets the FlowLogIds field's value.
  23890. func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
  23891. s.FlowLogIds = v
  23892. return s
  23893. }
  23894. // Contains the output of DeleteFlowLogs.
  23895. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogsResult
  23896. type DeleteFlowLogsOutput struct {
  23897. _ struct{} `type:"structure"`
  23898. // Information about the flow logs that could not be deleted successfully.
  23899. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  23900. }
  23901. // String returns the string representation
  23902. func (s DeleteFlowLogsOutput) String() string {
  23903. return awsutil.Prettify(s)
  23904. }
  23905. // GoString returns the string representation
  23906. func (s DeleteFlowLogsOutput) GoString() string {
  23907. return s.String()
  23908. }
  23909. // SetUnsuccessful sets the Unsuccessful field's value.
  23910. func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
  23911. s.Unsuccessful = v
  23912. return s
  23913. }
  23914. // Contains the parameters for DeleteInternetGateway.
  23915. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGatewayRequest
  23916. type DeleteInternetGatewayInput struct {
  23917. _ struct{} `type:"structure"`
  23918. // Checks whether you have the required permissions for the action, without
  23919. // actually making the request, and provides an error response. If you have
  23920. // the required permissions, the error response is DryRunOperation. Otherwise,
  23921. // it is UnauthorizedOperation.
  23922. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23923. // The ID of the Internet gateway.
  23924. //
  23925. // InternetGatewayId is a required field
  23926. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  23927. }
  23928. // String returns the string representation
  23929. func (s DeleteInternetGatewayInput) String() string {
  23930. return awsutil.Prettify(s)
  23931. }
  23932. // GoString returns the string representation
  23933. func (s DeleteInternetGatewayInput) GoString() string {
  23934. return s.String()
  23935. }
  23936. // Validate inspects the fields of the type to determine if they are valid.
  23937. func (s *DeleteInternetGatewayInput) Validate() error {
  23938. invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
  23939. if s.InternetGatewayId == nil {
  23940. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  23941. }
  23942. if invalidParams.Len() > 0 {
  23943. return invalidParams
  23944. }
  23945. return nil
  23946. }
  23947. // SetDryRun sets the DryRun field's value.
  23948. func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
  23949. s.DryRun = &v
  23950. return s
  23951. }
  23952. // SetInternetGatewayId sets the InternetGatewayId field's value.
  23953. func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
  23954. s.InternetGatewayId = &v
  23955. return s
  23956. }
  23957. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGatewayOutput
  23958. type DeleteInternetGatewayOutput struct {
  23959. _ struct{} `type:"structure"`
  23960. }
  23961. // String returns the string representation
  23962. func (s DeleteInternetGatewayOutput) String() string {
  23963. return awsutil.Prettify(s)
  23964. }
  23965. // GoString returns the string representation
  23966. func (s DeleteInternetGatewayOutput) GoString() string {
  23967. return s.String()
  23968. }
  23969. // Contains the parameters for DeleteKeyPair.
  23970. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPairRequest
  23971. type DeleteKeyPairInput struct {
  23972. _ struct{} `type:"structure"`
  23973. // Checks whether you have the required permissions for the action, without
  23974. // actually making the request, and provides an error response. If you have
  23975. // the required permissions, the error response is DryRunOperation. Otherwise,
  23976. // it is UnauthorizedOperation.
  23977. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23978. // The name of the key pair.
  23979. //
  23980. // KeyName is a required field
  23981. KeyName *string `type:"string" required:"true"`
  23982. }
  23983. // String returns the string representation
  23984. func (s DeleteKeyPairInput) String() string {
  23985. return awsutil.Prettify(s)
  23986. }
  23987. // GoString returns the string representation
  23988. func (s DeleteKeyPairInput) GoString() string {
  23989. return s.String()
  23990. }
  23991. // Validate inspects the fields of the type to determine if they are valid.
  23992. func (s *DeleteKeyPairInput) Validate() error {
  23993. invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
  23994. if s.KeyName == nil {
  23995. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  23996. }
  23997. if invalidParams.Len() > 0 {
  23998. return invalidParams
  23999. }
  24000. return nil
  24001. }
  24002. // SetDryRun sets the DryRun field's value.
  24003. func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
  24004. s.DryRun = &v
  24005. return s
  24006. }
  24007. // SetKeyName sets the KeyName field's value.
  24008. func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
  24009. s.KeyName = &v
  24010. return s
  24011. }
  24012. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPairOutput
  24013. type DeleteKeyPairOutput struct {
  24014. _ struct{} `type:"structure"`
  24015. }
  24016. // String returns the string representation
  24017. func (s DeleteKeyPairOutput) String() string {
  24018. return awsutil.Prettify(s)
  24019. }
  24020. // GoString returns the string representation
  24021. func (s DeleteKeyPairOutput) GoString() string {
  24022. return s.String()
  24023. }
  24024. // Contains the parameters for DeleteNatGateway.
  24025. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGatewayRequest
  24026. type DeleteNatGatewayInput struct {
  24027. _ struct{} `type:"structure"`
  24028. // The ID of the NAT gateway.
  24029. //
  24030. // NatGatewayId is a required field
  24031. NatGatewayId *string `type:"string" required:"true"`
  24032. }
  24033. // String returns the string representation
  24034. func (s DeleteNatGatewayInput) String() string {
  24035. return awsutil.Prettify(s)
  24036. }
  24037. // GoString returns the string representation
  24038. func (s DeleteNatGatewayInput) GoString() string {
  24039. return s.String()
  24040. }
  24041. // Validate inspects the fields of the type to determine if they are valid.
  24042. func (s *DeleteNatGatewayInput) Validate() error {
  24043. invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
  24044. if s.NatGatewayId == nil {
  24045. invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
  24046. }
  24047. if invalidParams.Len() > 0 {
  24048. return invalidParams
  24049. }
  24050. return nil
  24051. }
  24052. // SetNatGatewayId sets the NatGatewayId field's value.
  24053. func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
  24054. s.NatGatewayId = &v
  24055. return s
  24056. }
  24057. // Contains the output of DeleteNatGateway.
  24058. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGatewayResult
  24059. type DeleteNatGatewayOutput struct {
  24060. _ struct{} `type:"structure"`
  24061. // The ID of the NAT gateway.
  24062. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  24063. }
  24064. // String returns the string representation
  24065. func (s DeleteNatGatewayOutput) String() string {
  24066. return awsutil.Prettify(s)
  24067. }
  24068. // GoString returns the string representation
  24069. func (s DeleteNatGatewayOutput) GoString() string {
  24070. return s.String()
  24071. }
  24072. // SetNatGatewayId sets the NatGatewayId field's value.
  24073. func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
  24074. s.NatGatewayId = &v
  24075. return s
  24076. }
  24077. // Contains the parameters for DeleteNetworkAclEntry.
  24078. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntryRequest
  24079. type DeleteNetworkAclEntryInput struct {
  24080. _ struct{} `type:"structure"`
  24081. // Checks whether you have the required permissions for the action, without
  24082. // actually making the request, and provides an error response. If you have
  24083. // the required permissions, the error response is DryRunOperation. Otherwise,
  24084. // it is UnauthorizedOperation.
  24085. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24086. // Indicates whether the rule is an egress rule.
  24087. //
  24088. // Egress is a required field
  24089. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  24090. // The ID of the network ACL.
  24091. //
  24092. // NetworkAclId is a required field
  24093. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  24094. // The rule number of the entry to delete.
  24095. //
  24096. // RuleNumber is a required field
  24097. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  24098. }
  24099. // String returns the string representation
  24100. func (s DeleteNetworkAclEntryInput) String() string {
  24101. return awsutil.Prettify(s)
  24102. }
  24103. // GoString returns the string representation
  24104. func (s DeleteNetworkAclEntryInput) GoString() string {
  24105. return s.String()
  24106. }
  24107. // Validate inspects the fields of the type to determine if they are valid.
  24108. func (s *DeleteNetworkAclEntryInput) Validate() error {
  24109. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
  24110. if s.Egress == nil {
  24111. invalidParams.Add(request.NewErrParamRequired("Egress"))
  24112. }
  24113. if s.NetworkAclId == nil {
  24114. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  24115. }
  24116. if s.RuleNumber == nil {
  24117. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  24118. }
  24119. if invalidParams.Len() > 0 {
  24120. return invalidParams
  24121. }
  24122. return nil
  24123. }
  24124. // SetDryRun sets the DryRun field's value.
  24125. func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
  24126. s.DryRun = &v
  24127. return s
  24128. }
  24129. // SetEgress sets the Egress field's value.
  24130. func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
  24131. s.Egress = &v
  24132. return s
  24133. }
  24134. // SetNetworkAclId sets the NetworkAclId field's value.
  24135. func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
  24136. s.NetworkAclId = &v
  24137. return s
  24138. }
  24139. // SetRuleNumber sets the RuleNumber field's value.
  24140. func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
  24141. s.RuleNumber = &v
  24142. return s
  24143. }
  24144. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntryOutput
  24145. type DeleteNetworkAclEntryOutput struct {
  24146. _ struct{} `type:"structure"`
  24147. }
  24148. // String returns the string representation
  24149. func (s DeleteNetworkAclEntryOutput) String() string {
  24150. return awsutil.Prettify(s)
  24151. }
  24152. // GoString returns the string representation
  24153. func (s DeleteNetworkAclEntryOutput) GoString() string {
  24154. return s.String()
  24155. }
  24156. // Contains the parameters for DeleteNetworkAcl.
  24157. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclRequest
  24158. type DeleteNetworkAclInput struct {
  24159. _ struct{} `type:"structure"`
  24160. // Checks whether you have the required permissions for the action, without
  24161. // actually making the request, and provides an error response. If you have
  24162. // the required permissions, the error response is DryRunOperation. Otherwise,
  24163. // it is UnauthorizedOperation.
  24164. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24165. // The ID of the network ACL.
  24166. //
  24167. // NetworkAclId is a required field
  24168. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  24169. }
  24170. // String returns the string representation
  24171. func (s DeleteNetworkAclInput) String() string {
  24172. return awsutil.Prettify(s)
  24173. }
  24174. // GoString returns the string representation
  24175. func (s DeleteNetworkAclInput) GoString() string {
  24176. return s.String()
  24177. }
  24178. // Validate inspects the fields of the type to determine if they are valid.
  24179. func (s *DeleteNetworkAclInput) Validate() error {
  24180. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
  24181. if s.NetworkAclId == nil {
  24182. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  24183. }
  24184. if invalidParams.Len() > 0 {
  24185. return invalidParams
  24186. }
  24187. return nil
  24188. }
  24189. // SetDryRun sets the DryRun field's value.
  24190. func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
  24191. s.DryRun = &v
  24192. return s
  24193. }
  24194. // SetNetworkAclId sets the NetworkAclId field's value.
  24195. func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
  24196. s.NetworkAclId = &v
  24197. return s
  24198. }
  24199. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclOutput
  24200. type DeleteNetworkAclOutput struct {
  24201. _ struct{} `type:"structure"`
  24202. }
  24203. // String returns the string representation
  24204. func (s DeleteNetworkAclOutput) String() string {
  24205. return awsutil.Prettify(s)
  24206. }
  24207. // GoString returns the string representation
  24208. func (s DeleteNetworkAclOutput) GoString() string {
  24209. return s.String()
  24210. }
  24211. // Contains the parameters for DeleteNetworkInterface.
  24212. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfaceRequest
  24213. type DeleteNetworkInterfaceInput struct {
  24214. _ struct{} `type:"structure"`
  24215. // Checks whether you have the required permissions for the action, without
  24216. // actually making the request, and provides an error response. If you have
  24217. // the required permissions, the error response is DryRunOperation. Otherwise,
  24218. // it is UnauthorizedOperation.
  24219. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24220. // The ID of the network interface.
  24221. //
  24222. // NetworkInterfaceId is a required field
  24223. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  24224. }
  24225. // String returns the string representation
  24226. func (s DeleteNetworkInterfaceInput) String() string {
  24227. return awsutil.Prettify(s)
  24228. }
  24229. // GoString returns the string representation
  24230. func (s DeleteNetworkInterfaceInput) GoString() string {
  24231. return s.String()
  24232. }
  24233. // Validate inspects the fields of the type to determine if they are valid.
  24234. func (s *DeleteNetworkInterfaceInput) Validate() error {
  24235. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
  24236. if s.NetworkInterfaceId == nil {
  24237. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  24238. }
  24239. if invalidParams.Len() > 0 {
  24240. return invalidParams
  24241. }
  24242. return nil
  24243. }
  24244. // SetDryRun sets the DryRun field's value.
  24245. func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
  24246. s.DryRun = &v
  24247. return s
  24248. }
  24249. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  24250. func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
  24251. s.NetworkInterfaceId = &v
  24252. return s
  24253. }
  24254. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfaceOutput
  24255. type DeleteNetworkInterfaceOutput struct {
  24256. _ struct{} `type:"structure"`
  24257. }
  24258. // String returns the string representation
  24259. func (s DeleteNetworkInterfaceOutput) String() string {
  24260. return awsutil.Prettify(s)
  24261. }
  24262. // GoString returns the string representation
  24263. func (s DeleteNetworkInterfaceOutput) GoString() string {
  24264. return s.String()
  24265. }
  24266. // Contains the parameters for DeletePlacementGroup.
  24267. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroupRequest
  24268. type DeletePlacementGroupInput struct {
  24269. _ struct{} `type:"structure"`
  24270. // Checks whether you have the required permissions for the action, without
  24271. // actually making the request, and provides an error response. If you have
  24272. // the required permissions, the error response is DryRunOperation. Otherwise,
  24273. // it is UnauthorizedOperation.
  24274. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24275. // The name of the placement group.
  24276. //
  24277. // GroupName is a required field
  24278. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  24279. }
  24280. // String returns the string representation
  24281. func (s DeletePlacementGroupInput) String() string {
  24282. return awsutil.Prettify(s)
  24283. }
  24284. // GoString returns the string representation
  24285. func (s DeletePlacementGroupInput) GoString() string {
  24286. return s.String()
  24287. }
  24288. // Validate inspects the fields of the type to determine if they are valid.
  24289. func (s *DeletePlacementGroupInput) Validate() error {
  24290. invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
  24291. if s.GroupName == nil {
  24292. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  24293. }
  24294. if invalidParams.Len() > 0 {
  24295. return invalidParams
  24296. }
  24297. return nil
  24298. }
  24299. // SetDryRun sets the DryRun field's value.
  24300. func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
  24301. s.DryRun = &v
  24302. return s
  24303. }
  24304. // SetGroupName sets the GroupName field's value.
  24305. func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
  24306. s.GroupName = &v
  24307. return s
  24308. }
  24309. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroupOutput
  24310. type DeletePlacementGroupOutput struct {
  24311. _ struct{} `type:"structure"`
  24312. }
  24313. // String returns the string representation
  24314. func (s DeletePlacementGroupOutput) String() string {
  24315. return awsutil.Prettify(s)
  24316. }
  24317. // GoString returns the string representation
  24318. func (s DeletePlacementGroupOutput) GoString() string {
  24319. return s.String()
  24320. }
  24321. // Contains the parameters for DeleteRoute.
  24322. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteRequest
  24323. type DeleteRouteInput struct {
  24324. _ struct{} `type:"structure"`
  24325. // The IPv4 CIDR range for the route. The value you specify must match the CIDR
  24326. // for the route exactly.
  24327. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  24328. // The IPv6 CIDR range for the route. The value you specify must match the CIDR
  24329. // for the route exactly.
  24330. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  24331. // Checks whether you have the required permissions for the action, without
  24332. // actually making the request, and provides an error response. If you have
  24333. // the required permissions, the error response is DryRunOperation. Otherwise,
  24334. // it is UnauthorizedOperation.
  24335. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24336. // The ID of the route table.
  24337. //
  24338. // RouteTableId is a required field
  24339. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  24340. }
  24341. // String returns the string representation
  24342. func (s DeleteRouteInput) String() string {
  24343. return awsutil.Prettify(s)
  24344. }
  24345. // GoString returns the string representation
  24346. func (s DeleteRouteInput) GoString() string {
  24347. return s.String()
  24348. }
  24349. // Validate inspects the fields of the type to determine if they are valid.
  24350. func (s *DeleteRouteInput) Validate() error {
  24351. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
  24352. if s.RouteTableId == nil {
  24353. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  24354. }
  24355. if invalidParams.Len() > 0 {
  24356. return invalidParams
  24357. }
  24358. return nil
  24359. }
  24360. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  24361. func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
  24362. s.DestinationCidrBlock = &v
  24363. return s
  24364. }
  24365. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  24366. func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
  24367. s.DestinationIpv6CidrBlock = &v
  24368. return s
  24369. }
  24370. // SetDryRun sets the DryRun field's value.
  24371. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
  24372. s.DryRun = &v
  24373. return s
  24374. }
  24375. // SetRouteTableId sets the RouteTableId field's value.
  24376. func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
  24377. s.RouteTableId = &v
  24378. return s
  24379. }
  24380. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteOutput
  24381. type DeleteRouteOutput struct {
  24382. _ struct{} `type:"structure"`
  24383. }
  24384. // String returns the string representation
  24385. func (s DeleteRouteOutput) String() string {
  24386. return awsutil.Prettify(s)
  24387. }
  24388. // GoString returns the string representation
  24389. func (s DeleteRouteOutput) GoString() string {
  24390. return s.String()
  24391. }
  24392. // Contains the parameters for DeleteRouteTable.
  24393. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTableRequest
  24394. type DeleteRouteTableInput struct {
  24395. _ struct{} `type:"structure"`
  24396. // Checks whether you have the required permissions for the action, without
  24397. // actually making the request, and provides an error response. If you have
  24398. // the required permissions, the error response is DryRunOperation. Otherwise,
  24399. // it is UnauthorizedOperation.
  24400. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24401. // The ID of the route table.
  24402. //
  24403. // RouteTableId is a required field
  24404. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  24405. }
  24406. // String returns the string representation
  24407. func (s DeleteRouteTableInput) String() string {
  24408. return awsutil.Prettify(s)
  24409. }
  24410. // GoString returns the string representation
  24411. func (s DeleteRouteTableInput) GoString() string {
  24412. return s.String()
  24413. }
  24414. // Validate inspects the fields of the type to determine if they are valid.
  24415. func (s *DeleteRouteTableInput) Validate() error {
  24416. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
  24417. if s.RouteTableId == nil {
  24418. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  24419. }
  24420. if invalidParams.Len() > 0 {
  24421. return invalidParams
  24422. }
  24423. return nil
  24424. }
  24425. // SetDryRun sets the DryRun field's value.
  24426. func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
  24427. s.DryRun = &v
  24428. return s
  24429. }
  24430. // SetRouteTableId sets the RouteTableId field's value.
  24431. func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
  24432. s.RouteTableId = &v
  24433. return s
  24434. }
  24435. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTableOutput
  24436. type DeleteRouteTableOutput struct {
  24437. _ struct{} `type:"structure"`
  24438. }
  24439. // String returns the string representation
  24440. func (s DeleteRouteTableOutput) String() string {
  24441. return awsutil.Prettify(s)
  24442. }
  24443. // GoString returns the string representation
  24444. func (s DeleteRouteTableOutput) GoString() string {
  24445. return s.String()
  24446. }
  24447. // Contains the parameters for DeleteSecurityGroup.
  24448. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroupRequest
  24449. type DeleteSecurityGroupInput struct {
  24450. _ struct{} `type:"structure"`
  24451. // Checks whether you have the required permissions for the action, without
  24452. // actually making the request, and provides an error response. If you have
  24453. // the required permissions, the error response is DryRunOperation. Otherwise,
  24454. // it is UnauthorizedOperation.
  24455. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24456. // The ID of the security group. Required for a nondefault VPC.
  24457. GroupId *string `type:"string"`
  24458. // [EC2-Classic, default VPC] The name of the security group. You can specify
  24459. // either the security group name or the security group ID.
  24460. GroupName *string `type:"string"`
  24461. }
  24462. // String returns the string representation
  24463. func (s DeleteSecurityGroupInput) String() string {
  24464. return awsutil.Prettify(s)
  24465. }
  24466. // GoString returns the string representation
  24467. func (s DeleteSecurityGroupInput) GoString() string {
  24468. return s.String()
  24469. }
  24470. // SetDryRun sets the DryRun field's value.
  24471. func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
  24472. s.DryRun = &v
  24473. return s
  24474. }
  24475. // SetGroupId sets the GroupId field's value.
  24476. func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
  24477. s.GroupId = &v
  24478. return s
  24479. }
  24480. // SetGroupName sets the GroupName field's value.
  24481. func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
  24482. s.GroupName = &v
  24483. return s
  24484. }
  24485. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroupOutput
  24486. type DeleteSecurityGroupOutput struct {
  24487. _ struct{} `type:"structure"`
  24488. }
  24489. // String returns the string representation
  24490. func (s DeleteSecurityGroupOutput) String() string {
  24491. return awsutil.Prettify(s)
  24492. }
  24493. // GoString returns the string representation
  24494. func (s DeleteSecurityGroupOutput) GoString() string {
  24495. return s.String()
  24496. }
  24497. // Contains the parameters for DeleteSnapshot.
  24498. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshotRequest
  24499. type DeleteSnapshotInput struct {
  24500. _ struct{} `type:"structure"`
  24501. // Checks whether you have the required permissions for the action, without
  24502. // actually making the request, and provides an error response. If you have
  24503. // the required permissions, the error response is DryRunOperation. Otherwise,
  24504. // it is UnauthorizedOperation.
  24505. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24506. // The ID of the EBS snapshot.
  24507. //
  24508. // SnapshotId is a required field
  24509. SnapshotId *string `type:"string" required:"true"`
  24510. }
  24511. // String returns the string representation
  24512. func (s DeleteSnapshotInput) String() string {
  24513. return awsutil.Prettify(s)
  24514. }
  24515. // GoString returns the string representation
  24516. func (s DeleteSnapshotInput) GoString() string {
  24517. return s.String()
  24518. }
  24519. // Validate inspects the fields of the type to determine if they are valid.
  24520. func (s *DeleteSnapshotInput) Validate() error {
  24521. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  24522. if s.SnapshotId == nil {
  24523. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  24524. }
  24525. if invalidParams.Len() > 0 {
  24526. return invalidParams
  24527. }
  24528. return nil
  24529. }
  24530. // SetDryRun sets the DryRun field's value.
  24531. func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
  24532. s.DryRun = &v
  24533. return s
  24534. }
  24535. // SetSnapshotId sets the SnapshotId field's value.
  24536. func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
  24537. s.SnapshotId = &v
  24538. return s
  24539. }
  24540. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshotOutput
  24541. type DeleteSnapshotOutput struct {
  24542. _ struct{} `type:"structure"`
  24543. }
  24544. // String returns the string representation
  24545. func (s DeleteSnapshotOutput) String() string {
  24546. return awsutil.Prettify(s)
  24547. }
  24548. // GoString returns the string representation
  24549. func (s DeleteSnapshotOutput) GoString() string {
  24550. return s.String()
  24551. }
  24552. // Contains the parameters for DeleteSpotDatafeedSubscription.
  24553. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscriptionRequest
  24554. type DeleteSpotDatafeedSubscriptionInput struct {
  24555. _ struct{} `type:"structure"`
  24556. // Checks whether you have the required permissions for the action, without
  24557. // actually making the request, and provides an error response. If you have
  24558. // the required permissions, the error response is DryRunOperation. Otherwise,
  24559. // it is UnauthorizedOperation.
  24560. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24561. }
  24562. // String returns the string representation
  24563. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  24564. return awsutil.Prettify(s)
  24565. }
  24566. // GoString returns the string representation
  24567. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  24568. return s.String()
  24569. }
  24570. // SetDryRun sets the DryRun field's value.
  24571. func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
  24572. s.DryRun = &v
  24573. return s
  24574. }
  24575. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscriptionOutput
  24576. type DeleteSpotDatafeedSubscriptionOutput struct {
  24577. _ struct{} `type:"structure"`
  24578. }
  24579. // String returns the string representation
  24580. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  24581. return awsutil.Prettify(s)
  24582. }
  24583. // GoString returns the string representation
  24584. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  24585. return s.String()
  24586. }
  24587. // Contains the parameters for DeleteSubnet.
  24588. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetRequest
  24589. type DeleteSubnetInput struct {
  24590. _ struct{} `type:"structure"`
  24591. // Checks whether you have the required permissions for the action, without
  24592. // actually making the request, and provides an error response. If you have
  24593. // the required permissions, the error response is DryRunOperation. Otherwise,
  24594. // it is UnauthorizedOperation.
  24595. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24596. // The ID of the subnet.
  24597. //
  24598. // SubnetId is a required field
  24599. SubnetId *string `type:"string" required:"true"`
  24600. }
  24601. // String returns the string representation
  24602. func (s DeleteSubnetInput) String() string {
  24603. return awsutil.Prettify(s)
  24604. }
  24605. // GoString returns the string representation
  24606. func (s DeleteSubnetInput) GoString() string {
  24607. return s.String()
  24608. }
  24609. // Validate inspects the fields of the type to determine if they are valid.
  24610. func (s *DeleteSubnetInput) Validate() error {
  24611. invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
  24612. if s.SubnetId == nil {
  24613. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  24614. }
  24615. if invalidParams.Len() > 0 {
  24616. return invalidParams
  24617. }
  24618. return nil
  24619. }
  24620. // SetDryRun sets the DryRun field's value.
  24621. func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
  24622. s.DryRun = &v
  24623. return s
  24624. }
  24625. // SetSubnetId sets the SubnetId field's value.
  24626. func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
  24627. s.SubnetId = &v
  24628. return s
  24629. }
  24630. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetOutput
  24631. type DeleteSubnetOutput struct {
  24632. _ struct{} `type:"structure"`
  24633. }
  24634. // String returns the string representation
  24635. func (s DeleteSubnetOutput) String() string {
  24636. return awsutil.Prettify(s)
  24637. }
  24638. // GoString returns the string representation
  24639. func (s DeleteSubnetOutput) GoString() string {
  24640. return s.String()
  24641. }
  24642. // Contains the parameters for DeleteTags.
  24643. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTagsRequest
  24644. type DeleteTagsInput struct {
  24645. _ struct{} `type:"structure"`
  24646. // Checks whether you have the required permissions for the action, without
  24647. // actually making the request, and provides an error response. If you have
  24648. // the required permissions, the error response is DryRunOperation. Otherwise,
  24649. // it is UnauthorizedOperation.
  24650. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24651. // The ID of the resource. For example, ami-1a2b3c4d. You can specify more than
  24652. // one resource ID.
  24653. //
  24654. // Resources is a required field
  24655. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  24656. // One or more tags to delete. If you omit the value parameter, we delete the
  24657. // tag regardless of its value. If you specify this parameter with an empty
  24658. // string as the value, we delete the key only if its value is an empty string.
  24659. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  24660. }
  24661. // String returns the string representation
  24662. func (s DeleteTagsInput) String() string {
  24663. return awsutil.Prettify(s)
  24664. }
  24665. // GoString returns the string representation
  24666. func (s DeleteTagsInput) GoString() string {
  24667. return s.String()
  24668. }
  24669. // Validate inspects the fields of the type to determine if they are valid.
  24670. func (s *DeleteTagsInput) Validate() error {
  24671. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  24672. if s.Resources == nil {
  24673. invalidParams.Add(request.NewErrParamRequired("Resources"))
  24674. }
  24675. if invalidParams.Len() > 0 {
  24676. return invalidParams
  24677. }
  24678. return nil
  24679. }
  24680. // SetDryRun sets the DryRun field's value.
  24681. func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
  24682. s.DryRun = &v
  24683. return s
  24684. }
  24685. // SetResources sets the Resources field's value.
  24686. func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
  24687. s.Resources = v
  24688. return s
  24689. }
  24690. // SetTags sets the Tags field's value.
  24691. func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
  24692. s.Tags = v
  24693. return s
  24694. }
  24695. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTagsOutput
  24696. type DeleteTagsOutput struct {
  24697. _ struct{} `type:"structure"`
  24698. }
  24699. // String returns the string representation
  24700. func (s DeleteTagsOutput) String() string {
  24701. return awsutil.Prettify(s)
  24702. }
  24703. // GoString returns the string representation
  24704. func (s DeleteTagsOutput) GoString() string {
  24705. return s.String()
  24706. }
  24707. // Contains the parameters for DeleteVolume.
  24708. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolumeRequest
  24709. type DeleteVolumeInput struct {
  24710. _ struct{} `type:"structure"`
  24711. // Checks whether you have the required permissions for the action, without
  24712. // actually making the request, and provides an error response. If you have
  24713. // the required permissions, the error response is DryRunOperation. Otherwise,
  24714. // it is UnauthorizedOperation.
  24715. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24716. // The ID of the volume.
  24717. //
  24718. // VolumeId is a required field
  24719. VolumeId *string `type:"string" required:"true"`
  24720. }
  24721. // String returns the string representation
  24722. func (s DeleteVolumeInput) String() string {
  24723. return awsutil.Prettify(s)
  24724. }
  24725. // GoString returns the string representation
  24726. func (s DeleteVolumeInput) GoString() string {
  24727. return s.String()
  24728. }
  24729. // Validate inspects the fields of the type to determine if they are valid.
  24730. func (s *DeleteVolumeInput) Validate() error {
  24731. invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  24732. if s.VolumeId == nil {
  24733. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  24734. }
  24735. if invalidParams.Len() > 0 {
  24736. return invalidParams
  24737. }
  24738. return nil
  24739. }
  24740. // SetDryRun sets the DryRun field's value.
  24741. func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
  24742. s.DryRun = &v
  24743. return s
  24744. }
  24745. // SetVolumeId sets the VolumeId field's value.
  24746. func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
  24747. s.VolumeId = &v
  24748. return s
  24749. }
  24750. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolumeOutput
  24751. type DeleteVolumeOutput struct {
  24752. _ struct{} `type:"structure"`
  24753. }
  24754. // String returns the string representation
  24755. func (s DeleteVolumeOutput) String() string {
  24756. return awsutil.Prettify(s)
  24757. }
  24758. // GoString returns the string representation
  24759. func (s DeleteVolumeOutput) GoString() string {
  24760. return s.String()
  24761. }
  24762. // Contains the parameters for DeleteVpcEndpoints.
  24763. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointsRequest
  24764. type DeleteVpcEndpointsInput struct {
  24765. _ struct{} `type:"structure"`
  24766. // Checks whether you have the required permissions for the action, without
  24767. // actually making the request, and provides an error response. If you have
  24768. // the required permissions, the error response is DryRunOperation. Otherwise,
  24769. // it is UnauthorizedOperation.
  24770. DryRun *bool `type:"boolean"`
  24771. // One or more endpoint IDs.
  24772. //
  24773. // VpcEndpointIds is a required field
  24774. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  24775. }
  24776. // String returns the string representation
  24777. func (s DeleteVpcEndpointsInput) String() string {
  24778. return awsutil.Prettify(s)
  24779. }
  24780. // GoString returns the string representation
  24781. func (s DeleteVpcEndpointsInput) GoString() string {
  24782. return s.String()
  24783. }
  24784. // Validate inspects the fields of the type to determine if they are valid.
  24785. func (s *DeleteVpcEndpointsInput) Validate() error {
  24786. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
  24787. if s.VpcEndpointIds == nil {
  24788. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  24789. }
  24790. if invalidParams.Len() > 0 {
  24791. return invalidParams
  24792. }
  24793. return nil
  24794. }
  24795. // SetDryRun sets the DryRun field's value.
  24796. func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
  24797. s.DryRun = &v
  24798. return s
  24799. }
  24800. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  24801. func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
  24802. s.VpcEndpointIds = v
  24803. return s
  24804. }
  24805. // Contains the output of DeleteVpcEndpoints.
  24806. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointsResult
  24807. type DeleteVpcEndpointsOutput struct {
  24808. _ struct{} `type:"structure"`
  24809. // Information about the endpoints that were not successfully deleted.
  24810. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  24811. }
  24812. // String returns the string representation
  24813. func (s DeleteVpcEndpointsOutput) String() string {
  24814. return awsutil.Prettify(s)
  24815. }
  24816. // GoString returns the string representation
  24817. func (s DeleteVpcEndpointsOutput) GoString() string {
  24818. return s.String()
  24819. }
  24820. // SetUnsuccessful sets the Unsuccessful field's value.
  24821. func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
  24822. s.Unsuccessful = v
  24823. return s
  24824. }
  24825. // Contains the parameters for DeleteVpc.
  24826. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcRequest
  24827. type DeleteVpcInput struct {
  24828. _ struct{} `type:"structure"`
  24829. // Checks whether you have the required permissions for the action, without
  24830. // actually making the request, and provides an error response. If you have
  24831. // the required permissions, the error response is DryRunOperation. Otherwise,
  24832. // it is UnauthorizedOperation.
  24833. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24834. // The ID of the VPC.
  24835. //
  24836. // VpcId is a required field
  24837. VpcId *string `type:"string" required:"true"`
  24838. }
  24839. // String returns the string representation
  24840. func (s DeleteVpcInput) String() string {
  24841. return awsutil.Prettify(s)
  24842. }
  24843. // GoString returns the string representation
  24844. func (s DeleteVpcInput) GoString() string {
  24845. return s.String()
  24846. }
  24847. // Validate inspects the fields of the type to determine if they are valid.
  24848. func (s *DeleteVpcInput) Validate() error {
  24849. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
  24850. if s.VpcId == nil {
  24851. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  24852. }
  24853. if invalidParams.Len() > 0 {
  24854. return invalidParams
  24855. }
  24856. return nil
  24857. }
  24858. // SetDryRun sets the DryRun field's value.
  24859. func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
  24860. s.DryRun = &v
  24861. return s
  24862. }
  24863. // SetVpcId sets the VpcId field's value.
  24864. func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
  24865. s.VpcId = &v
  24866. return s
  24867. }
  24868. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcOutput
  24869. type DeleteVpcOutput struct {
  24870. _ struct{} `type:"structure"`
  24871. }
  24872. // String returns the string representation
  24873. func (s DeleteVpcOutput) String() string {
  24874. return awsutil.Prettify(s)
  24875. }
  24876. // GoString returns the string representation
  24877. func (s DeleteVpcOutput) GoString() string {
  24878. return s.String()
  24879. }
  24880. // Contains the parameters for DeleteVpcPeeringConnection.
  24881. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnectionRequest
  24882. type DeleteVpcPeeringConnectionInput struct {
  24883. _ struct{} `type:"structure"`
  24884. // Checks whether you have the required permissions for the action, without
  24885. // actually making the request, and provides an error response. If you have
  24886. // the required permissions, the error response is DryRunOperation. Otherwise,
  24887. // it is UnauthorizedOperation.
  24888. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24889. // The ID of the VPC peering connection.
  24890. //
  24891. // VpcPeeringConnectionId is a required field
  24892. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  24893. }
  24894. // String returns the string representation
  24895. func (s DeleteVpcPeeringConnectionInput) String() string {
  24896. return awsutil.Prettify(s)
  24897. }
  24898. // GoString returns the string representation
  24899. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  24900. return s.String()
  24901. }
  24902. // Validate inspects the fields of the type to determine if they are valid.
  24903. func (s *DeleteVpcPeeringConnectionInput) Validate() error {
  24904. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
  24905. if s.VpcPeeringConnectionId == nil {
  24906. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  24907. }
  24908. if invalidParams.Len() > 0 {
  24909. return invalidParams
  24910. }
  24911. return nil
  24912. }
  24913. // SetDryRun sets the DryRun field's value.
  24914. func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
  24915. s.DryRun = &v
  24916. return s
  24917. }
  24918. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  24919. func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
  24920. s.VpcPeeringConnectionId = &v
  24921. return s
  24922. }
  24923. // Contains the output of DeleteVpcPeeringConnection.
  24924. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnectionResult
  24925. type DeleteVpcPeeringConnectionOutput struct {
  24926. _ struct{} `type:"structure"`
  24927. // Returns true if the request succeeds; otherwise, it returns an error.
  24928. Return *bool `locationName:"return" type:"boolean"`
  24929. }
  24930. // String returns the string representation
  24931. func (s DeleteVpcPeeringConnectionOutput) String() string {
  24932. return awsutil.Prettify(s)
  24933. }
  24934. // GoString returns the string representation
  24935. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  24936. return s.String()
  24937. }
  24938. // SetReturn sets the Return field's value.
  24939. func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
  24940. s.Return = &v
  24941. return s
  24942. }
  24943. // Contains the parameters for DeleteVpnConnection.
  24944. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRequest
  24945. type DeleteVpnConnectionInput struct {
  24946. _ struct{} `type:"structure"`
  24947. // Checks whether you have the required permissions for the action, without
  24948. // actually making the request, and provides an error response. If you have
  24949. // the required permissions, the error response is DryRunOperation. Otherwise,
  24950. // it is UnauthorizedOperation.
  24951. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24952. // The ID of the VPN connection.
  24953. //
  24954. // VpnConnectionId is a required field
  24955. VpnConnectionId *string `type:"string" required:"true"`
  24956. }
  24957. // String returns the string representation
  24958. func (s DeleteVpnConnectionInput) String() string {
  24959. return awsutil.Prettify(s)
  24960. }
  24961. // GoString returns the string representation
  24962. func (s DeleteVpnConnectionInput) GoString() string {
  24963. return s.String()
  24964. }
  24965. // Validate inspects the fields of the type to determine if they are valid.
  24966. func (s *DeleteVpnConnectionInput) Validate() error {
  24967. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
  24968. if s.VpnConnectionId == nil {
  24969. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  24970. }
  24971. if invalidParams.Len() > 0 {
  24972. return invalidParams
  24973. }
  24974. return nil
  24975. }
  24976. // SetDryRun sets the DryRun field's value.
  24977. func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
  24978. s.DryRun = &v
  24979. return s
  24980. }
  24981. // SetVpnConnectionId sets the VpnConnectionId field's value.
  24982. func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
  24983. s.VpnConnectionId = &v
  24984. return s
  24985. }
  24986. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionOutput
  24987. type DeleteVpnConnectionOutput struct {
  24988. _ struct{} `type:"structure"`
  24989. }
  24990. // String returns the string representation
  24991. func (s DeleteVpnConnectionOutput) String() string {
  24992. return awsutil.Prettify(s)
  24993. }
  24994. // GoString returns the string representation
  24995. func (s DeleteVpnConnectionOutput) GoString() string {
  24996. return s.String()
  24997. }
  24998. // Contains the parameters for DeleteVpnConnectionRoute.
  24999. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRouteRequest
  25000. type DeleteVpnConnectionRouteInput struct {
  25001. _ struct{} `type:"structure"`
  25002. // The CIDR block associated with the local subnet of the customer network.
  25003. //
  25004. // DestinationCidrBlock is a required field
  25005. DestinationCidrBlock *string `type:"string" required:"true"`
  25006. // The ID of the VPN connection.
  25007. //
  25008. // VpnConnectionId is a required field
  25009. VpnConnectionId *string `type:"string" required:"true"`
  25010. }
  25011. // String returns the string representation
  25012. func (s DeleteVpnConnectionRouteInput) String() string {
  25013. return awsutil.Prettify(s)
  25014. }
  25015. // GoString returns the string representation
  25016. func (s DeleteVpnConnectionRouteInput) GoString() string {
  25017. return s.String()
  25018. }
  25019. // Validate inspects the fields of the type to determine if they are valid.
  25020. func (s *DeleteVpnConnectionRouteInput) Validate() error {
  25021. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
  25022. if s.DestinationCidrBlock == nil {
  25023. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  25024. }
  25025. if s.VpnConnectionId == nil {
  25026. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  25027. }
  25028. if invalidParams.Len() > 0 {
  25029. return invalidParams
  25030. }
  25031. return nil
  25032. }
  25033. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  25034. func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
  25035. s.DestinationCidrBlock = &v
  25036. return s
  25037. }
  25038. // SetVpnConnectionId sets the VpnConnectionId field's value.
  25039. func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
  25040. s.VpnConnectionId = &v
  25041. return s
  25042. }
  25043. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRouteOutput
  25044. type DeleteVpnConnectionRouteOutput struct {
  25045. _ struct{} `type:"structure"`
  25046. }
  25047. // String returns the string representation
  25048. func (s DeleteVpnConnectionRouteOutput) String() string {
  25049. return awsutil.Prettify(s)
  25050. }
  25051. // GoString returns the string representation
  25052. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  25053. return s.String()
  25054. }
  25055. // Contains the parameters for DeleteVpnGateway.
  25056. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGatewayRequest
  25057. type DeleteVpnGatewayInput struct {
  25058. _ struct{} `type:"structure"`
  25059. // Checks whether you have the required permissions for the action, without
  25060. // actually making the request, and provides an error response. If you have
  25061. // the required permissions, the error response is DryRunOperation. Otherwise,
  25062. // it is UnauthorizedOperation.
  25063. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25064. // The ID of the virtual private gateway.
  25065. //
  25066. // VpnGatewayId is a required field
  25067. VpnGatewayId *string `type:"string" required:"true"`
  25068. }
  25069. // String returns the string representation
  25070. func (s DeleteVpnGatewayInput) String() string {
  25071. return awsutil.Prettify(s)
  25072. }
  25073. // GoString returns the string representation
  25074. func (s DeleteVpnGatewayInput) GoString() string {
  25075. return s.String()
  25076. }
  25077. // Validate inspects the fields of the type to determine if they are valid.
  25078. func (s *DeleteVpnGatewayInput) Validate() error {
  25079. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
  25080. if s.VpnGatewayId == nil {
  25081. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  25082. }
  25083. if invalidParams.Len() > 0 {
  25084. return invalidParams
  25085. }
  25086. return nil
  25087. }
  25088. // SetDryRun sets the DryRun field's value.
  25089. func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
  25090. s.DryRun = &v
  25091. return s
  25092. }
  25093. // SetVpnGatewayId sets the VpnGatewayId field's value.
  25094. func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
  25095. s.VpnGatewayId = &v
  25096. return s
  25097. }
  25098. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGatewayOutput
  25099. type DeleteVpnGatewayOutput struct {
  25100. _ struct{} `type:"structure"`
  25101. }
  25102. // String returns the string representation
  25103. func (s DeleteVpnGatewayOutput) String() string {
  25104. return awsutil.Prettify(s)
  25105. }
  25106. // GoString returns the string representation
  25107. func (s DeleteVpnGatewayOutput) GoString() string {
  25108. return s.String()
  25109. }
  25110. // Contains the parameters for DeregisterImage.
  25111. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImageRequest
  25112. type DeregisterImageInput struct {
  25113. _ struct{} `type:"structure"`
  25114. // Checks whether you have the required permissions for the action, without
  25115. // actually making the request, and provides an error response. If you have
  25116. // the required permissions, the error response is DryRunOperation. Otherwise,
  25117. // it is UnauthorizedOperation.
  25118. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25119. // The ID of the AMI.
  25120. //
  25121. // ImageId is a required field
  25122. ImageId *string `type:"string" required:"true"`
  25123. }
  25124. // String returns the string representation
  25125. func (s DeregisterImageInput) String() string {
  25126. return awsutil.Prettify(s)
  25127. }
  25128. // GoString returns the string representation
  25129. func (s DeregisterImageInput) GoString() string {
  25130. return s.String()
  25131. }
  25132. // Validate inspects the fields of the type to determine if they are valid.
  25133. func (s *DeregisterImageInput) Validate() error {
  25134. invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
  25135. if s.ImageId == nil {
  25136. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  25137. }
  25138. if invalidParams.Len() > 0 {
  25139. return invalidParams
  25140. }
  25141. return nil
  25142. }
  25143. // SetDryRun sets the DryRun field's value.
  25144. func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
  25145. s.DryRun = &v
  25146. return s
  25147. }
  25148. // SetImageId sets the ImageId field's value.
  25149. func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
  25150. s.ImageId = &v
  25151. return s
  25152. }
  25153. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImageOutput
  25154. type DeregisterImageOutput struct {
  25155. _ struct{} `type:"structure"`
  25156. }
  25157. // String returns the string representation
  25158. func (s DeregisterImageOutput) String() string {
  25159. return awsutil.Prettify(s)
  25160. }
  25161. // GoString returns the string representation
  25162. func (s DeregisterImageOutput) GoString() string {
  25163. return s.String()
  25164. }
  25165. // Contains the parameters for DescribeAccountAttributes.
  25166. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributesRequest
  25167. type DescribeAccountAttributesInput struct {
  25168. _ struct{} `type:"structure"`
  25169. // One or more account attribute names.
  25170. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  25171. // Checks whether you have the required permissions for the action, without
  25172. // actually making the request, and provides an error response. If you have
  25173. // the required permissions, the error response is DryRunOperation. Otherwise,
  25174. // it is UnauthorizedOperation.
  25175. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25176. }
  25177. // String returns the string representation
  25178. func (s DescribeAccountAttributesInput) String() string {
  25179. return awsutil.Prettify(s)
  25180. }
  25181. // GoString returns the string representation
  25182. func (s DescribeAccountAttributesInput) GoString() string {
  25183. return s.String()
  25184. }
  25185. // SetAttributeNames sets the AttributeNames field's value.
  25186. func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
  25187. s.AttributeNames = v
  25188. return s
  25189. }
  25190. // SetDryRun sets the DryRun field's value.
  25191. func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
  25192. s.DryRun = &v
  25193. return s
  25194. }
  25195. // Contains the output of DescribeAccountAttributes.
  25196. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributesResult
  25197. type DescribeAccountAttributesOutput struct {
  25198. _ struct{} `type:"structure"`
  25199. // Information about one or more account attributes.
  25200. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  25201. }
  25202. // String returns the string representation
  25203. func (s DescribeAccountAttributesOutput) String() string {
  25204. return awsutil.Prettify(s)
  25205. }
  25206. // GoString returns the string representation
  25207. func (s DescribeAccountAttributesOutput) GoString() string {
  25208. return s.String()
  25209. }
  25210. // SetAccountAttributes sets the AccountAttributes field's value.
  25211. func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  25212. s.AccountAttributes = v
  25213. return s
  25214. }
  25215. // Contains the parameters for DescribeAddresses.
  25216. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesRequest
  25217. type DescribeAddressesInput struct {
  25218. _ struct{} `type:"structure"`
  25219. // [EC2-VPC] One or more allocation IDs.
  25220. //
  25221. // Default: Describes all your Elastic IP addresses.
  25222. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  25223. // Checks whether you have the required permissions for the action, without
  25224. // actually making the request, and provides an error response. If you have
  25225. // the required permissions, the error response is DryRunOperation. Otherwise,
  25226. // it is UnauthorizedOperation.
  25227. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25228. // One or more filters. Filter names and values are case-sensitive.
  25229. //
  25230. // * allocation-id - [EC2-VPC] The allocation ID for the address.
  25231. //
  25232. // * association-id - [EC2-VPC] The association ID for the address.
  25233. //
  25234. // * domain - Indicates whether the address is for use in EC2-Classic (standard)
  25235. // or in a VPC (vpc).
  25236. //
  25237. // * instance-id - The ID of the instance the address is associated with,
  25238. // if any.
  25239. //
  25240. // * network-interface-id - [EC2-VPC] The ID of the network interface that
  25241. // the address is associated with, if any.
  25242. //
  25243. // * network-interface-owner-id - The AWS account ID of the owner.
  25244. //
  25245. // * private-ip-address - [EC2-VPC] The private IP address associated with
  25246. // the Elastic IP address.
  25247. //
  25248. // * public-ip - The Elastic IP address.
  25249. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25250. // [EC2-Classic] One or more Elastic IP addresses.
  25251. //
  25252. // Default: Describes all your Elastic IP addresses.
  25253. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  25254. }
  25255. // String returns the string representation
  25256. func (s DescribeAddressesInput) String() string {
  25257. return awsutil.Prettify(s)
  25258. }
  25259. // GoString returns the string representation
  25260. func (s DescribeAddressesInput) GoString() string {
  25261. return s.String()
  25262. }
  25263. // SetAllocationIds sets the AllocationIds field's value.
  25264. func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
  25265. s.AllocationIds = v
  25266. return s
  25267. }
  25268. // SetDryRun sets the DryRun field's value.
  25269. func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
  25270. s.DryRun = &v
  25271. return s
  25272. }
  25273. // SetFilters sets the Filters field's value.
  25274. func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
  25275. s.Filters = v
  25276. return s
  25277. }
  25278. // SetPublicIps sets the PublicIps field's value.
  25279. func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
  25280. s.PublicIps = v
  25281. return s
  25282. }
  25283. // Contains the output of DescribeAddresses.
  25284. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesResult
  25285. type DescribeAddressesOutput struct {
  25286. _ struct{} `type:"structure"`
  25287. // Information about one or more Elastic IP addresses.
  25288. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  25289. }
  25290. // String returns the string representation
  25291. func (s DescribeAddressesOutput) String() string {
  25292. return awsutil.Prettify(s)
  25293. }
  25294. // GoString returns the string representation
  25295. func (s DescribeAddressesOutput) GoString() string {
  25296. return s.String()
  25297. }
  25298. // SetAddresses sets the Addresses field's value.
  25299. func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
  25300. s.Addresses = v
  25301. return s
  25302. }
  25303. // Contains the parameters for DescribeAvailabilityZones.
  25304. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesRequest
  25305. type DescribeAvailabilityZonesInput struct {
  25306. _ struct{} `type:"structure"`
  25307. // Checks whether you have the required permissions for the action, without
  25308. // actually making the request, and provides an error response. If you have
  25309. // the required permissions, the error response is DryRunOperation. Otherwise,
  25310. // it is UnauthorizedOperation.
  25311. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25312. // One or more filters.
  25313. //
  25314. // * message - Information about the Availability Zone.
  25315. //
  25316. // * region-name - The name of the region for the Availability Zone (for
  25317. // example, us-east-1).
  25318. //
  25319. // * state - The state of the Availability Zone (available | information
  25320. // | impaired | unavailable).
  25321. //
  25322. // * zone-name - The name of the Availability Zone (for example, us-east-1a).
  25323. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25324. // The names of one or more Availability Zones.
  25325. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  25326. }
  25327. // String returns the string representation
  25328. func (s DescribeAvailabilityZonesInput) String() string {
  25329. return awsutil.Prettify(s)
  25330. }
  25331. // GoString returns the string representation
  25332. func (s DescribeAvailabilityZonesInput) GoString() string {
  25333. return s.String()
  25334. }
  25335. // SetDryRun sets the DryRun field's value.
  25336. func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
  25337. s.DryRun = &v
  25338. return s
  25339. }
  25340. // SetFilters sets the Filters field's value.
  25341. func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
  25342. s.Filters = v
  25343. return s
  25344. }
  25345. // SetZoneNames sets the ZoneNames field's value.
  25346. func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
  25347. s.ZoneNames = v
  25348. return s
  25349. }
  25350. // Contains the output of DescribeAvailabiltyZones.
  25351. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesResult
  25352. type DescribeAvailabilityZonesOutput struct {
  25353. _ struct{} `type:"structure"`
  25354. // Information about one or more Availability Zones.
  25355. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  25356. }
  25357. // String returns the string representation
  25358. func (s DescribeAvailabilityZonesOutput) String() string {
  25359. return awsutil.Prettify(s)
  25360. }
  25361. // GoString returns the string representation
  25362. func (s DescribeAvailabilityZonesOutput) GoString() string {
  25363. return s.String()
  25364. }
  25365. // SetAvailabilityZones sets the AvailabilityZones field's value.
  25366. func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
  25367. s.AvailabilityZones = v
  25368. return s
  25369. }
  25370. // Contains the parameters for DescribeBundleTasks.
  25371. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasksRequest
  25372. type DescribeBundleTasksInput struct {
  25373. _ struct{} `type:"structure"`
  25374. // One or more bundle task IDs.
  25375. //
  25376. // Default: Describes all your bundle tasks.
  25377. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  25378. // Checks whether you have the required permissions for the action, without
  25379. // actually making the request, and provides an error response. If you have
  25380. // the required permissions, the error response is DryRunOperation. Otherwise,
  25381. // it is UnauthorizedOperation.
  25382. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25383. // One or more filters.
  25384. //
  25385. // * bundle-id - The ID of the bundle task.
  25386. //
  25387. // * error-code - If the task failed, the error code returned.
  25388. //
  25389. // * error-message - If the task failed, the error message returned.
  25390. //
  25391. // * instance-id - The ID of the instance.
  25392. //
  25393. // * progress - The level of task completion, as a percentage (for example,
  25394. // 20%).
  25395. //
  25396. // * s3-bucket - The Amazon S3 bucket to store the AMI.
  25397. //
  25398. // * s3-prefix - The beginning of the AMI name.
  25399. //
  25400. // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  25401. //
  25402. // * state - The state of the task (pending | waiting-for-shutdown | bundling
  25403. // | storing | cancelling | complete | failed).
  25404. //
  25405. // * update-time - The time of the most recent update for the task.
  25406. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25407. }
  25408. // String returns the string representation
  25409. func (s DescribeBundleTasksInput) String() string {
  25410. return awsutil.Prettify(s)
  25411. }
  25412. // GoString returns the string representation
  25413. func (s DescribeBundleTasksInput) GoString() string {
  25414. return s.String()
  25415. }
  25416. // SetBundleIds sets the BundleIds field's value.
  25417. func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
  25418. s.BundleIds = v
  25419. return s
  25420. }
  25421. // SetDryRun sets the DryRun field's value.
  25422. func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
  25423. s.DryRun = &v
  25424. return s
  25425. }
  25426. // SetFilters sets the Filters field's value.
  25427. func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
  25428. s.Filters = v
  25429. return s
  25430. }
  25431. // Contains the output of DescribeBundleTasks.
  25432. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasksResult
  25433. type DescribeBundleTasksOutput struct {
  25434. _ struct{} `type:"structure"`
  25435. // Information about one or more bundle tasks.
  25436. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  25437. }
  25438. // String returns the string representation
  25439. func (s DescribeBundleTasksOutput) String() string {
  25440. return awsutil.Prettify(s)
  25441. }
  25442. // GoString returns the string representation
  25443. func (s DescribeBundleTasksOutput) GoString() string {
  25444. return s.String()
  25445. }
  25446. // SetBundleTasks sets the BundleTasks field's value.
  25447. func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
  25448. s.BundleTasks = v
  25449. return s
  25450. }
  25451. // Contains the parameters for DescribeClassicLinkInstances.
  25452. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstancesRequest
  25453. type DescribeClassicLinkInstancesInput struct {
  25454. _ struct{} `type:"structure"`
  25455. // Checks whether you have the required permissions for the action, without
  25456. // actually making the request, and provides an error response. If you have
  25457. // the required permissions, the error response is DryRunOperation. Otherwise,
  25458. // it is UnauthorizedOperation.
  25459. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25460. // One or more filters.
  25461. //
  25462. // * group-id - The ID of a VPC security group that's associated with the
  25463. // instance.
  25464. //
  25465. // * instance-id - The ID of the instance.
  25466. //
  25467. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25468. //
  25469. // * tag-key - The key of a tag assigned to the resource. This filter is
  25470. // independent of the tag-value filter. For example, if you use both the
  25471. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25472. // assigned both the tag key Purpose (regardless of what the tag's value
  25473. // is), and the tag value X (regardless of what the tag's key is). If you
  25474. // want to list only resources where Purpose is X, see the tag:key=value
  25475. // filter.
  25476. //
  25477. // * tag-value - The value of a tag assigned to the resource. This filter
  25478. // is independent of the tag-key filter.
  25479. //
  25480. // * vpc-id - The ID of the VPC that the instance is linked to.
  25481. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25482. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  25483. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  25484. // The maximum number of results to return for the request in a single page.
  25485. // The remaining results of the initial request can be seen by sending another
  25486. // request with the returned NextToken value. This value can be between 5 and
  25487. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  25488. // are returned. You cannot specify this parameter and the instance IDs parameter
  25489. // in the same request.
  25490. //
  25491. // Constraint: If the value is greater than 1000, we return only 1000 items.
  25492. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  25493. // The token to retrieve the next page of results.
  25494. NextToken *string `locationName:"nextToken" type:"string"`
  25495. }
  25496. // String returns the string representation
  25497. func (s DescribeClassicLinkInstancesInput) String() string {
  25498. return awsutil.Prettify(s)
  25499. }
  25500. // GoString returns the string representation
  25501. func (s DescribeClassicLinkInstancesInput) GoString() string {
  25502. return s.String()
  25503. }
  25504. // SetDryRun sets the DryRun field's value.
  25505. func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
  25506. s.DryRun = &v
  25507. return s
  25508. }
  25509. // SetFilters sets the Filters field's value.
  25510. func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
  25511. s.Filters = v
  25512. return s
  25513. }
  25514. // SetInstanceIds sets the InstanceIds field's value.
  25515. func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
  25516. s.InstanceIds = v
  25517. return s
  25518. }
  25519. // SetMaxResults sets the MaxResults field's value.
  25520. func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
  25521. s.MaxResults = &v
  25522. return s
  25523. }
  25524. // SetNextToken sets the NextToken field's value.
  25525. func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
  25526. s.NextToken = &v
  25527. return s
  25528. }
  25529. // Contains the output of DescribeClassicLinkInstances.
  25530. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstancesResult
  25531. type DescribeClassicLinkInstancesOutput struct {
  25532. _ struct{} `type:"structure"`
  25533. // Information about one or more linked EC2-Classic instances.
  25534. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  25535. // The token to use to retrieve the next page of results. This value is null
  25536. // when there are no more results to return.
  25537. NextToken *string `locationName:"nextToken" type:"string"`
  25538. }
  25539. // String returns the string representation
  25540. func (s DescribeClassicLinkInstancesOutput) String() string {
  25541. return awsutil.Prettify(s)
  25542. }
  25543. // GoString returns the string representation
  25544. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  25545. return s.String()
  25546. }
  25547. // SetInstances sets the Instances field's value.
  25548. func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
  25549. s.Instances = v
  25550. return s
  25551. }
  25552. // SetNextToken sets the NextToken field's value.
  25553. func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
  25554. s.NextToken = &v
  25555. return s
  25556. }
  25557. // Contains the parameters for DescribeConversionTasks.
  25558. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasksRequest
  25559. type DescribeConversionTasksInput struct {
  25560. _ struct{} `type:"structure"`
  25561. // One or more conversion task IDs.
  25562. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  25563. // Checks whether you have the required permissions for the action, without
  25564. // actually making the request, and provides an error response. If you have
  25565. // the required permissions, the error response is DryRunOperation. Otherwise,
  25566. // it is UnauthorizedOperation.
  25567. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25568. }
  25569. // String returns the string representation
  25570. func (s DescribeConversionTasksInput) String() string {
  25571. return awsutil.Prettify(s)
  25572. }
  25573. // GoString returns the string representation
  25574. func (s DescribeConversionTasksInput) GoString() string {
  25575. return s.String()
  25576. }
  25577. // SetConversionTaskIds sets the ConversionTaskIds field's value.
  25578. func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
  25579. s.ConversionTaskIds = v
  25580. return s
  25581. }
  25582. // SetDryRun sets the DryRun field's value.
  25583. func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
  25584. s.DryRun = &v
  25585. return s
  25586. }
  25587. // Contains the output for DescribeConversionTasks.
  25588. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasksResult
  25589. type DescribeConversionTasksOutput struct {
  25590. _ struct{} `type:"structure"`
  25591. // Information about the conversion tasks.
  25592. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  25593. }
  25594. // String returns the string representation
  25595. func (s DescribeConversionTasksOutput) String() string {
  25596. return awsutil.Prettify(s)
  25597. }
  25598. // GoString returns the string representation
  25599. func (s DescribeConversionTasksOutput) GoString() string {
  25600. return s.String()
  25601. }
  25602. // SetConversionTasks sets the ConversionTasks field's value.
  25603. func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
  25604. s.ConversionTasks = v
  25605. return s
  25606. }
  25607. // Contains the parameters for DescribeCustomerGateways.
  25608. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGatewaysRequest
  25609. type DescribeCustomerGatewaysInput struct {
  25610. _ struct{} `type:"structure"`
  25611. // One or more customer gateway IDs.
  25612. //
  25613. // Default: Describes all your customer gateways.
  25614. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  25615. // Checks whether you have the required permissions for the action, without
  25616. // actually making the request, and provides an error response. If you have
  25617. // the required permissions, the error response is DryRunOperation. Otherwise,
  25618. // it is UnauthorizedOperation.
  25619. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25620. // One or more filters.
  25621. //
  25622. // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  25623. // System Number (ASN).
  25624. //
  25625. // * customer-gateway-id - The ID of the customer gateway.
  25626. //
  25627. // * ip-address - The IP address of the customer gateway's Internet-routable
  25628. // external interface.
  25629. //
  25630. // * state - The state of the customer gateway (pending | available | deleting
  25631. // | deleted).
  25632. //
  25633. // * type - The type of customer gateway. Currently, the only supported type
  25634. // is ipsec.1.
  25635. //
  25636. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25637. // Specify the key of the tag in the filter name and the value of the tag
  25638. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  25639. // for the filter name and X for the filter value.
  25640. //
  25641. // * tag-key - The key of a tag assigned to the resource. This filter is
  25642. // independent of the tag-value filter. For example, if you use both the
  25643. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25644. // assigned both the tag key Purpose (regardless of what the tag's value
  25645. // is), and the tag value X (regardless of what the tag's key is). If you
  25646. // want to list only resources where Purpose is X, see the tag:key=value
  25647. // filter.
  25648. //
  25649. // * tag-value - The value of a tag assigned to the resource. This filter
  25650. // is independent of the tag-key filter.
  25651. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25652. }
  25653. // String returns the string representation
  25654. func (s DescribeCustomerGatewaysInput) String() string {
  25655. return awsutil.Prettify(s)
  25656. }
  25657. // GoString returns the string representation
  25658. func (s DescribeCustomerGatewaysInput) GoString() string {
  25659. return s.String()
  25660. }
  25661. // SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
  25662. func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
  25663. s.CustomerGatewayIds = v
  25664. return s
  25665. }
  25666. // SetDryRun sets the DryRun field's value.
  25667. func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
  25668. s.DryRun = &v
  25669. return s
  25670. }
  25671. // SetFilters sets the Filters field's value.
  25672. func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
  25673. s.Filters = v
  25674. return s
  25675. }
  25676. // Contains the output of DescribeCustomerGateways.
  25677. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGatewaysResult
  25678. type DescribeCustomerGatewaysOutput struct {
  25679. _ struct{} `type:"structure"`
  25680. // Information about one or more customer gateways.
  25681. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  25682. }
  25683. // String returns the string representation
  25684. func (s DescribeCustomerGatewaysOutput) String() string {
  25685. return awsutil.Prettify(s)
  25686. }
  25687. // GoString returns the string representation
  25688. func (s DescribeCustomerGatewaysOutput) GoString() string {
  25689. return s.String()
  25690. }
  25691. // SetCustomerGateways sets the CustomerGateways field's value.
  25692. func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
  25693. s.CustomerGateways = v
  25694. return s
  25695. }
  25696. // Contains the parameters for DescribeDhcpOptions.
  25697. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptionsRequest
  25698. type DescribeDhcpOptionsInput struct {
  25699. _ struct{} `type:"structure"`
  25700. // The IDs of one or more DHCP options sets.
  25701. //
  25702. // Default: Describes all your DHCP options sets.
  25703. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  25704. // Checks whether you have the required permissions for the action, without
  25705. // actually making the request, and provides an error response. If you have
  25706. // the required permissions, the error response is DryRunOperation. Otherwise,
  25707. // it is UnauthorizedOperation.
  25708. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25709. // One or more filters.
  25710. //
  25711. // * dhcp-options-id - The ID of a set of DHCP options.
  25712. //
  25713. // * key - The key for one of the options (for example, domain-name).
  25714. //
  25715. // * value - The value for one of the options.
  25716. //
  25717. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25718. // Specify the key of the tag in the filter name and the value of the tag
  25719. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  25720. // for the filter name and X for the filter value.
  25721. //
  25722. // * tag-key - The key of a tag assigned to the resource. This filter is
  25723. // independent of the tag-value filter. For example, if you use both the
  25724. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25725. // assigned both the tag key Purpose (regardless of what the tag's value
  25726. // is), and the tag value X (regardless of what the tag's key is). If you
  25727. // want to list only resources where Purpose is X, see the tag:key=value
  25728. // filter.
  25729. //
  25730. // * tag-value - The value of a tag assigned to the resource. This filter
  25731. // is independent of the tag-key filter.
  25732. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25733. }
  25734. // String returns the string representation
  25735. func (s DescribeDhcpOptionsInput) String() string {
  25736. return awsutil.Prettify(s)
  25737. }
  25738. // GoString returns the string representation
  25739. func (s DescribeDhcpOptionsInput) GoString() string {
  25740. return s.String()
  25741. }
  25742. // SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
  25743. func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
  25744. s.DhcpOptionsIds = v
  25745. return s
  25746. }
  25747. // SetDryRun sets the DryRun field's value.
  25748. func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
  25749. s.DryRun = &v
  25750. return s
  25751. }
  25752. // SetFilters sets the Filters field's value.
  25753. func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
  25754. s.Filters = v
  25755. return s
  25756. }
  25757. // Contains the output of DescribeDhcpOptions.
  25758. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptionsResult
  25759. type DescribeDhcpOptionsOutput struct {
  25760. _ struct{} `type:"structure"`
  25761. // Information about one or more DHCP options sets.
  25762. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  25763. }
  25764. // String returns the string representation
  25765. func (s DescribeDhcpOptionsOutput) String() string {
  25766. return awsutil.Prettify(s)
  25767. }
  25768. // GoString returns the string representation
  25769. func (s DescribeDhcpOptionsOutput) GoString() string {
  25770. return s.String()
  25771. }
  25772. // SetDhcpOptions sets the DhcpOptions field's value.
  25773. func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
  25774. s.DhcpOptions = v
  25775. return s
  25776. }
  25777. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGatewaysRequest
  25778. type DescribeEgressOnlyInternetGatewaysInput struct {
  25779. _ struct{} `type:"structure"`
  25780. // Checks whether you have the required permissions for the action, without
  25781. // actually making the request, and provides an error response. If you have
  25782. // the required permissions, the error response is DryRunOperation. Otherwise,
  25783. // it is UnauthorizedOperation.
  25784. DryRun *bool `type:"boolean"`
  25785. // One or more egress-only Internet gateway IDs.
  25786. EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
  25787. // The maximum number of results to return for the request in a single page.
  25788. // The remaining results can be seen by sending another request with the returned
  25789. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  25790. // a value larger than 1000, only 1000 results are returned.
  25791. MaxResults *int64 `type:"integer"`
  25792. // The token to retrieve the next page of results.
  25793. NextToken *string `type:"string"`
  25794. }
  25795. // String returns the string representation
  25796. func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
  25797. return awsutil.Prettify(s)
  25798. }
  25799. // GoString returns the string representation
  25800. func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
  25801. return s.String()
  25802. }
  25803. // SetDryRun sets the DryRun field's value.
  25804. func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
  25805. s.DryRun = &v
  25806. return s
  25807. }
  25808. // SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
  25809. func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
  25810. s.EgressOnlyInternetGatewayIds = v
  25811. return s
  25812. }
  25813. // SetMaxResults sets the MaxResults field's value.
  25814. func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
  25815. s.MaxResults = &v
  25816. return s
  25817. }
  25818. // SetNextToken sets the NextToken field's value.
  25819. func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
  25820. s.NextToken = &v
  25821. return s
  25822. }
  25823. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGatewaysResult
  25824. type DescribeEgressOnlyInternetGatewaysOutput struct {
  25825. _ struct{} `type:"structure"`
  25826. // Information about the egress-only Internet gateways.
  25827. EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
  25828. // The token to use to retrieve the next page of results.
  25829. NextToken *string `locationName:"nextToken" type:"string"`
  25830. }
  25831. // String returns the string representation
  25832. func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
  25833. return awsutil.Prettify(s)
  25834. }
  25835. // GoString returns the string representation
  25836. func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
  25837. return s.String()
  25838. }
  25839. // SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
  25840. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
  25841. s.EgressOnlyInternetGateways = v
  25842. return s
  25843. }
  25844. // SetNextToken sets the NextToken field's value.
  25845. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
  25846. s.NextToken = &v
  25847. return s
  25848. }
  25849. // Contains the parameters for DescribeExportTasks.
  25850. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksRequest
  25851. type DescribeExportTasksInput struct {
  25852. _ struct{} `type:"structure"`
  25853. // One or more export task IDs.
  25854. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  25855. }
  25856. // String returns the string representation
  25857. func (s DescribeExportTasksInput) String() string {
  25858. return awsutil.Prettify(s)
  25859. }
  25860. // GoString returns the string representation
  25861. func (s DescribeExportTasksInput) GoString() string {
  25862. return s.String()
  25863. }
  25864. // SetExportTaskIds sets the ExportTaskIds field's value.
  25865. func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
  25866. s.ExportTaskIds = v
  25867. return s
  25868. }
  25869. // Contains the output for DescribeExportTasks.
  25870. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksResult
  25871. type DescribeExportTasksOutput struct {
  25872. _ struct{} `type:"structure"`
  25873. // Information about the export tasks.
  25874. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  25875. }
  25876. // String returns the string representation
  25877. func (s DescribeExportTasksOutput) String() string {
  25878. return awsutil.Prettify(s)
  25879. }
  25880. // GoString returns the string representation
  25881. func (s DescribeExportTasksOutput) GoString() string {
  25882. return s.String()
  25883. }
  25884. // SetExportTasks sets the ExportTasks field's value.
  25885. func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
  25886. s.ExportTasks = v
  25887. return s
  25888. }
  25889. // Contains the parameters for DescribeFlowLogs.
  25890. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogsRequest
  25891. type DescribeFlowLogsInput struct {
  25892. _ struct{} `type:"structure"`
  25893. // One or more filters.
  25894. //
  25895. // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  25896. //
  25897. // * flow-log-id - The ID of the flow log.
  25898. //
  25899. // * log-group-name - The name of the log group.
  25900. //
  25901. // * resource-id - The ID of the VPC, subnet, or network interface.
  25902. //
  25903. // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
  25904. Filter []*Filter `locationNameList:"Filter" type:"list"`
  25905. // One or more flow log IDs.
  25906. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  25907. // The maximum number of results to return for the request in a single page.
  25908. // The remaining results can be seen by sending another request with the returned
  25909. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  25910. // a value larger than 1000, only 1000 results are returned. You cannot specify
  25911. // this parameter and the flow log IDs parameter in the same request.
  25912. MaxResults *int64 `type:"integer"`
  25913. // The token to retrieve the next page of results.
  25914. NextToken *string `type:"string"`
  25915. }
  25916. // String returns the string representation
  25917. func (s DescribeFlowLogsInput) String() string {
  25918. return awsutil.Prettify(s)
  25919. }
  25920. // GoString returns the string representation
  25921. func (s DescribeFlowLogsInput) GoString() string {
  25922. return s.String()
  25923. }
  25924. // SetFilter sets the Filter field's value.
  25925. func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
  25926. s.Filter = v
  25927. return s
  25928. }
  25929. // SetFlowLogIds sets the FlowLogIds field's value.
  25930. func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
  25931. s.FlowLogIds = v
  25932. return s
  25933. }
  25934. // SetMaxResults sets the MaxResults field's value.
  25935. func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
  25936. s.MaxResults = &v
  25937. return s
  25938. }
  25939. // SetNextToken sets the NextToken field's value.
  25940. func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
  25941. s.NextToken = &v
  25942. return s
  25943. }
  25944. // Contains the output of DescribeFlowLogs.
  25945. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogsResult
  25946. type DescribeFlowLogsOutput struct {
  25947. _ struct{} `type:"structure"`
  25948. // Information about the flow logs.
  25949. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  25950. // The token to use to retrieve the next page of results. This value is null
  25951. // when there are no more results to return.
  25952. NextToken *string `locationName:"nextToken" type:"string"`
  25953. }
  25954. // String returns the string representation
  25955. func (s DescribeFlowLogsOutput) String() string {
  25956. return awsutil.Prettify(s)
  25957. }
  25958. // GoString returns the string representation
  25959. func (s DescribeFlowLogsOutput) GoString() string {
  25960. return s.String()
  25961. }
  25962. // SetFlowLogs sets the FlowLogs field's value.
  25963. func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
  25964. s.FlowLogs = v
  25965. return s
  25966. }
  25967. // SetNextToken sets the NextToken field's value.
  25968. func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
  25969. s.NextToken = &v
  25970. return s
  25971. }
  25972. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferingsRequest
  25973. type DescribeHostReservationOfferingsInput struct {
  25974. _ struct{} `type:"structure"`
  25975. // One or more filters.
  25976. //
  25977. // * instance-family - The instance family of the offering (e.g., m4).
  25978. //
  25979. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  25980. Filter []*Filter `locationNameList:"Filter" type:"list"`
  25981. // This is the maximum duration of the reservation you'd like to purchase, specified
  25982. // in seconds. Reservations are available in one-year and three-year terms.
  25983. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  25984. // times one of the supported durations (1 or 3). For example, specify 94608000
  25985. // for three years.
  25986. MaxDuration *int64 `type:"integer"`
  25987. // The maximum number of results to return for the request in a single page.
  25988. // The remaining results can be seen by sending another request with the returned
  25989. // nextToken value. This value can be between 5 and 500; if maxResults is given
  25990. // a larger value than 500, you will receive an error.
  25991. MaxResults *int64 `type:"integer"`
  25992. // This is the minimum duration of the reservation you'd like to purchase, specified
  25993. // in seconds. Reservations are available in one-year and three-year terms.
  25994. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  25995. // times one of the supported durations (1 or 3). For example, specify 31536000
  25996. // for one year.
  25997. MinDuration *int64 `type:"integer"`
  25998. // The token to use to retrieve the next page of results.
  25999. NextToken *string `type:"string"`
  26000. // The ID of the reservation offering.
  26001. OfferingId *string `type:"string"`
  26002. }
  26003. // String returns the string representation
  26004. func (s DescribeHostReservationOfferingsInput) String() string {
  26005. return awsutil.Prettify(s)
  26006. }
  26007. // GoString returns the string representation
  26008. func (s DescribeHostReservationOfferingsInput) GoString() string {
  26009. return s.String()
  26010. }
  26011. // SetFilter sets the Filter field's value.
  26012. func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
  26013. s.Filter = v
  26014. return s
  26015. }
  26016. // SetMaxDuration sets the MaxDuration field's value.
  26017. func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
  26018. s.MaxDuration = &v
  26019. return s
  26020. }
  26021. // SetMaxResults sets the MaxResults field's value.
  26022. func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
  26023. s.MaxResults = &v
  26024. return s
  26025. }
  26026. // SetMinDuration sets the MinDuration field's value.
  26027. func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
  26028. s.MinDuration = &v
  26029. return s
  26030. }
  26031. // SetNextToken sets the NextToken field's value.
  26032. func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
  26033. s.NextToken = &v
  26034. return s
  26035. }
  26036. // SetOfferingId sets the OfferingId field's value.
  26037. func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
  26038. s.OfferingId = &v
  26039. return s
  26040. }
  26041. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferingsResult
  26042. type DescribeHostReservationOfferingsOutput struct {
  26043. _ struct{} `type:"structure"`
  26044. // The token to use to retrieve the next page of results. This value is null
  26045. // when there are no more results to return.
  26046. NextToken *string `locationName:"nextToken" type:"string"`
  26047. // Information about the offerings.
  26048. OfferingSet []*HostOffering `locationName:"offeringSet" type:"list"`
  26049. }
  26050. // String returns the string representation
  26051. func (s DescribeHostReservationOfferingsOutput) String() string {
  26052. return awsutil.Prettify(s)
  26053. }
  26054. // GoString returns the string representation
  26055. func (s DescribeHostReservationOfferingsOutput) GoString() string {
  26056. return s.String()
  26057. }
  26058. // SetNextToken sets the NextToken field's value.
  26059. func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
  26060. s.NextToken = &v
  26061. return s
  26062. }
  26063. // SetOfferingSet sets the OfferingSet field's value.
  26064. func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
  26065. s.OfferingSet = v
  26066. return s
  26067. }
  26068. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationsRequest
  26069. type DescribeHostReservationsInput struct {
  26070. _ struct{} `type:"structure"`
  26071. // One or more filters.
  26072. //
  26073. // * instance-family - The instance family (e.g., m4).
  26074. //
  26075. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  26076. //
  26077. // * state - The state of the reservation (payment-pending | payment-failed
  26078. // | active | retired).
  26079. Filter []*Filter `locationNameList:"Filter" type:"list"`
  26080. // One or more host reservation IDs.
  26081. HostReservationIdSet []*string `locationNameList:"item" type:"list"`
  26082. // The maximum number of results to return for the request in a single page.
  26083. // The remaining results can be seen by sending another request with the returned
  26084. // nextToken value. This value can be between 5 and 500; if maxResults is given
  26085. // a larger value than 500, you will receive an error.
  26086. MaxResults *int64 `type:"integer"`
  26087. // The token to use to retrieve the next page of results.
  26088. NextToken *string `type:"string"`
  26089. }
  26090. // String returns the string representation
  26091. func (s DescribeHostReservationsInput) String() string {
  26092. return awsutil.Prettify(s)
  26093. }
  26094. // GoString returns the string representation
  26095. func (s DescribeHostReservationsInput) GoString() string {
  26096. return s.String()
  26097. }
  26098. // SetFilter sets the Filter field's value.
  26099. func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
  26100. s.Filter = v
  26101. return s
  26102. }
  26103. // SetHostReservationIdSet sets the HostReservationIdSet field's value.
  26104. func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
  26105. s.HostReservationIdSet = v
  26106. return s
  26107. }
  26108. // SetMaxResults sets the MaxResults field's value.
  26109. func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
  26110. s.MaxResults = &v
  26111. return s
  26112. }
  26113. // SetNextToken sets the NextToken field's value.
  26114. func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
  26115. s.NextToken = &v
  26116. return s
  26117. }
  26118. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationsResult
  26119. type DescribeHostReservationsOutput struct {
  26120. _ struct{} `type:"structure"`
  26121. // Details about the reservation's configuration.
  26122. HostReservationSet []*HostReservation `locationName:"hostReservationSet" type:"list"`
  26123. // The token to use to retrieve the next page of results. This value is null
  26124. // when there are no more results to return.
  26125. NextToken *string `locationName:"nextToken" type:"string"`
  26126. }
  26127. // String returns the string representation
  26128. func (s DescribeHostReservationsOutput) String() string {
  26129. return awsutil.Prettify(s)
  26130. }
  26131. // GoString returns the string representation
  26132. func (s DescribeHostReservationsOutput) GoString() string {
  26133. return s.String()
  26134. }
  26135. // SetHostReservationSet sets the HostReservationSet field's value.
  26136. func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
  26137. s.HostReservationSet = v
  26138. return s
  26139. }
  26140. // SetNextToken sets the NextToken field's value.
  26141. func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
  26142. s.NextToken = &v
  26143. return s
  26144. }
  26145. // Contains the parameters for DescribeHosts.
  26146. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostsRequest
  26147. type DescribeHostsInput struct {
  26148. _ struct{} `type:"structure"`
  26149. // One or more filters.
  26150. //
  26151. // * instance-type - The instance type size that the Dedicated Host is configured
  26152. // to support.
  26153. //
  26154. // * auto-placement - Whether auto-placement is enabled or disabled (on |
  26155. // off).
  26156. //
  26157. // * host-reservation-id - The ID of the reservation assigned to this host.
  26158. //
  26159. // * client-token - The idempotency token you provided when you launched
  26160. // the instance
  26161. //
  26162. // * state- The allocation state of the Dedicated Host (available | under-assessment
  26163. // | permanent-failure | released | released-permanent-failure).
  26164. //
  26165. // * availability-zone - The Availability Zone of the host.
  26166. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  26167. // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
  26168. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
  26169. // The maximum number of results to return for the request in a single page.
  26170. // The remaining results can be seen by sending another request with the returned
  26171. // nextToken value. This value can be between 5 and 500; if maxResults is given
  26172. // a larger value than 500, you will receive an error. You cannot specify this
  26173. // parameter and the host IDs parameter in the same request.
  26174. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  26175. // The token to retrieve the next page of results.
  26176. NextToken *string `locationName:"nextToken" type:"string"`
  26177. }
  26178. // String returns the string representation
  26179. func (s DescribeHostsInput) String() string {
  26180. return awsutil.Prettify(s)
  26181. }
  26182. // GoString returns the string representation
  26183. func (s DescribeHostsInput) GoString() string {
  26184. return s.String()
  26185. }
  26186. // SetFilter sets the Filter field's value.
  26187. func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
  26188. s.Filter = v
  26189. return s
  26190. }
  26191. // SetHostIds sets the HostIds field's value.
  26192. func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
  26193. s.HostIds = v
  26194. return s
  26195. }
  26196. // SetMaxResults sets the MaxResults field's value.
  26197. func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
  26198. s.MaxResults = &v
  26199. return s
  26200. }
  26201. // SetNextToken sets the NextToken field's value.
  26202. func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
  26203. s.NextToken = &v
  26204. return s
  26205. }
  26206. // Contains the output of DescribeHosts.
  26207. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostsResult
  26208. type DescribeHostsOutput struct {
  26209. _ struct{} `type:"structure"`
  26210. // Information about the Dedicated Hosts.
  26211. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
  26212. // The token to use to retrieve the next page of results. This value is null
  26213. // when there are no more results to return.
  26214. NextToken *string `locationName:"nextToken" type:"string"`
  26215. }
  26216. // String returns the string representation
  26217. func (s DescribeHostsOutput) String() string {
  26218. return awsutil.Prettify(s)
  26219. }
  26220. // GoString returns the string representation
  26221. func (s DescribeHostsOutput) GoString() string {
  26222. return s.String()
  26223. }
  26224. // SetHosts sets the Hosts field's value.
  26225. func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
  26226. s.Hosts = v
  26227. return s
  26228. }
  26229. // SetNextToken sets the NextToken field's value.
  26230. func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
  26231. s.NextToken = &v
  26232. return s
  26233. }
  26234. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociationsRequest
  26235. type DescribeIamInstanceProfileAssociationsInput struct {
  26236. _ struct{} `type:"structure"`
  26237. // One or more IAM instance profile associations.
  26238. AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
  26239. // One or more filters.
  26240. //
  26241. // * instance-id - The ID of the instance.
  26242. //
  26243. // * state - The state of the association (associating | associated | disassociating
  26244. // | disassociated).
  26245. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26246. // The maximum number of results to return in a single call. To retrieve the
  26247. // remaining results, make another call with the returned NextToken value.
  26248. MaxResults *int64 `min:"5" type:"integer"`
  26249. // The token to request the next page of results.
  26250. NextToken *string `min:"1" type:"string"`
  26251. }
  26252. // String returns the string representation
  26253. func (s DescribeIamInstanceProfileAssociationsInput) String() string {
  26254. return awsutil.Prettify(s)
  26255. }
  26256. // GoString returns the string representation
  26257. func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
  26258. return s.String()
  26259. }
  26260. // Validate inspects the fields of the type to determine if they are valid.
  26261. func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
  26262. invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
  26263. if s.MaxResults != nil && *s.MaxResults < 5 {
  26264. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  26265. }
  26266. if s.NextToken != nil && len(*s.NextToken) < 1 {
  26267. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  26268. }
  26269. if invalidParams.Len() > 0 {
  26270. return invalidParams
  26271. }
  26272. return nil
  26273. }
  26274. // SetAssociationIds sets the AssociationIds field's value.
  26275. func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
  26276. s.AssociationIds = v
  26277. return s
  26278. }
  26279. // SetFilters sets the Filters field's value.
  26280. func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
  26281. s.Filters = v
  26282. return s
  26283. }
  26284. // SetMaxResults sets the MaxResults field's value.
  26285. func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
  26286. s.MaxResults = &v
  26287. return s
  26288. }
  26289. // SetNextToken sets the NextToken field's value.
  26290. func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
  26291. s.NextToken = &v
  26292. return s
  26293. }
  26294. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociationsResult
  26295. type DescribeIamInstanceProfileAssociationsOutput struct {
  26296. _ struct{} `type:"structure"`
  26297. // Information about one or more IAM instance profile associations.
  26298. IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
  26299. // The token to use to retrieve the next page of results. This value is null
  26300. // when there are no more results to return.
  26301. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  26302. }
  26303. // String returns the string representation
  26304. func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
  26305. return awsutil.Prettify(s)
  26306. }
  26307. // GoString returns the string representation
  26308. func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
  26309. return s.String()
  26310. }
  26311. // SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
  26312. func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
  26313. s.IamInstanceProfileAssociations = v
  26314. return s
  26315. }
  26316. // SetNextToken sets the NextToken field's value.
  26317. func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
  26318. s.NextToken = &v
  26319. return s
  26320. }
  26321. // Contains the parameters for DescribeIdFormat.
  26322. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormatRequest
  26323. type DescribeIdFormatInput struct {
  26324. _ struct{} `type:"structure"`
  26325. // The type of resource: instance | reservation | snapshot | volume
  26326. Resource *string `type:"string"`
  26327. }
  26328. // String returns the string representation
  26329. func (s DescribeIdFormatInput) String() string {
  26330. return awsutil.Prettify(s)
  26331. }
  26332. // GoString returns the string representation
  26333. func (s DescribeIdFormatInput) GoString() string {
  26334. return s.String()
  26335. }
  26336. // SetResource sets the Resource field's value.
  26337. func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
  26338. s.Resource = &v
  26339. return s
  26340. }
  26341. // Contains the output of DescribeIdFormat.
  26342. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormatResult
  26343. type DescribeIdFormatOutput struct {
  26344. _ struct{} `type:"structure"`
  26345. // Information about the ID format for the resource.
  26346. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  26347. }
  26348. // String returns the string representation
  26349. func (s DescribeIdFormatOutput) String() string {
  26350. return awsutil.Prettify(s)
  26351. }
  26352. // GoString returns the string representation
  26353. func (s DescribeIdFormatOutput) GoString() string {
  26354. return s.String()
  26355. }
  26356. // SetStatuses sets the Statuses field's value.
  26357. func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
  26358. s.Statuses = v
  26359. return s
  26360. }
  26361. // Contains the parameters for DescribeIdentityIdFormat.
  26362. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormatRequest
  26363. type DescribeIdentityIdFormatInput struct {
  26364. _ struct{} `type:"structure"`
  26365. // The ARN of the principal, which can be an IAM role, IAM user, or the root
  26366. // user.
  26367. //
  26368. // PrincipalArn is a required field
  26369. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  26370. // The type of resource: instance | reservation | snapshot | volume
  26371. Resource *string `locationName:"resource" type:"string"`
  26372. }
  26373. // String returns the string representation
  26374. func (s DescribeIdentityIdFormatInput) String() string {
  26375. return awsutil.Prettify(s)
  26376. }
  26377. // GoString returns the string representation
  26378. func (s DescribeIdentityIdFormatInput) GoString() string {
  26379. return s.String()
  26380. }
  26381. // Validate inspects the fields of the type to determine if they are valid.
  26382. func (s *DescribeIdentityIdFormatInput) Validate() error {
  26383. invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
  26384. if s.PrincipalArn == nil {
  26385. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  26386. }
  26387. if invalidParams.Len() > 0 {
  26388. return invalidParams
  26389. }
  26390. return nil
  26391. }
  26392. // SetPrincipalArn sets the PrincipalArn field's value.
  26393. func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
  26394. s.PrincipalArn = &v
  26395. return s
  26396. }
  26397. // SetResource sets the Resource field's value.
  26398. func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
  26399. s.Resource = &v
  26400. return s
  26401. }
  26402. // Contains the output of DescribeIdentityIdFormat.
  26403. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormatResult
  26404. type DescribeIdentityIdFormatOutput struct {
  26405. _ struct{} `type:"structure"`
  26406. // Information about the ID format for the resources.
  26407. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  26408. }
  26409. // String returns the string representation
  26410. func (s DescribeIdentityIdFormatOutput) String() string {
  26411. return awsutil.Prettify(s)
  26412. }
  26413. // GoString returns the string representation
  26414. func (s DescribeIdentityIdFormatOutput) GoString() string {
  26415. return s.String()
  26416. }
  26417. // SetStatuses sets the Statuses field's value.
  26418. func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
  26419. s.Statuses = v
  26420. return s
  26421. }
  26422. // Contains the parameters for DescribeImageAttribute.
  26423. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttributeRequest
  26424. type DescribeImageAttributeInput struct {
  26425. _ struct{} `type:"structure"`
  26426. // The AMI attribute.
  26427. //
  26428. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  26429. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  26430. // to get information about the block device mapping for the AMI.
  26431. //
  26432. // Attribute is a required field
  26433. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  26434. // Checks whether you have the required permissions for the action, without
  26435. // actually making the request, and provides an error response. If you have
  26436. // the required permissions, the error response is DryRunOperation. Otherwise,
  26437. // it is UnauthorizedOperation.
  26438. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26439. // The ID of the AMI.
  26440. //
  26441. // ImageId is a required field
  26442. ImageId *string `type:"string" required:"true"`
  26443. }
  26444. // String returns the string representation
  26445. func (s DescribeImageAttributeInput) String() string {
  26446. return awsutil.Prettify(s)
  26447. }
  26448. // GoString returns the string representation
  26449. func (s DescribeImageAttributeInput) GoString() string {
  26450. return s.String()
  26451. }
  26452. // Validate inspects the fields of the type to determine if they are valid.
  26453. func (s *DescribeImageAttributeInput) Validate() error {
  26454. invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
  26455. if s.Attribute == nil {
  26456. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  26457. }
  26458. if s.ImageId == nil {
  26459. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  26460. }
  26461. if invalidParams.Len() > 0 {
  26462. return invalidParams
  26463. }
  26464. return nil
  26465. }
  26466. // SetAttribute sets the Attribute field's value.
  26467. func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
  26468. s.Attribute = &v
  26469. return s
  26470. }
  26471. // SetDryRun sets the DryRun field's value.
  26472. func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
  26473. s.DryRun = &v
  26474. return s
  26475. }
  26476. // SetImageId sets the ImageId field's value.
  26477. func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
  26478. s.ImageId = &v
  26479. return s
  26480. }
  26481. // Describes an image attribute.
  26482. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageAttribute
  26483. type DescribeImageAttributeOutput struct {
  26484. _ struct{} `type:"structure"`
  26485. // One or more block device mapping entries.
  26486. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  26487. // A description for the AMI.
  26488. Description *AttributeValue `locationName:"description" type:"structure"`
  26489. // The ID of the AMI.
  26490. ImageId *string `locationName:"imageId" type:"string"`
  26491. // The kernel ID.
  26492. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  26493. // One or more launch permissions.
  26494. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  26495. // One or more product codes.
  26496. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  26497. // The RAM disk ID.
  26498. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  26499. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  26500. // interface is enabled.
  26501. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  26502. }
  26503. // String returns the string representation
  26504. func (s DescribeImageAttributeOutput) String() string {
  26505. return awsutil.Prettify(s)
  26506. }
  26507. // GoString returns the string representation
  26508. func (s DescribeImageAttributeOutput) GoString() string {
  26509. return s.String()
  26510. }
  26511. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  26512. func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
  26513. s.BlockDeviceMappings = v
  26514. return s
  26515. }
  26516. // SetDescription sets the Description field's value.
  26517. func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
  26518. s.Description = v
  26519. return s
  26520. }
  26521. // SetImageId sets the ImageId field's value.
  26522. func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
  26523. s.ImageId = &v
  26524. return s
  26525. }
  26526. // SetKernelId sets the KernelId field's value.
  26527. func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
  26528. s.KernelId = v
  26529. return s
  26530. }
  26531. // SetLaunchPermissions sets the LaunchPermissions field's value.
  26532. func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
  26533. s.LaunchPermissions = v
  26534. return s
  26535. }
  26536. // SetProductCodes sets the ProductCodes field's value.
  26537. func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
  26538. s.ProductCodes = v
  26539. return s
  26540. }
  26541. // SetRamdiskId sets the RamdiskId field's value.
  26542. func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
  26543. s.RamdiskId = v
  26544. return s
  26545. }
  26546. // SetSriovNetSupport sets the SriovNetSupport field's value.
  26547. func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
  26548. s.SriovNetSupport = v
  26549. return s
  26550. }
  26551. // Contains the parameters for DescribeImages.
  26552. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImagesRequest
  26553. type DescribeImagesInput struct {
  26554. _ struct{} `type:"structure"`
  26555. // Checks whether you have the required permissions for the action, without
  26556. // actually making the request, and provides an error response. If you have
  26557. // the required permissions, the error response is DryRunOperation. Otherwise,
  26558. // it is UnauthorizedOperation.
  26559. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26560. // Scopes the images by users with explicit launch permissions. Specify an AWS
  26561. // account ID, self (the sender of the request), or all (public AMIs).
  26562. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  26563. // One or more filters.
  26564. //
  26565. // * architecture - The image architecture (i386 | x86_64).
  26566. //
  26567. // * block-device-mapping.delete-on-termination - A Boolean value that indicates
  26568. // whether the Amazon EBS volume is deleted on instance termination.
  26569. //
  26570. // * block-device-mapping.device-name - The device name for the EBS volume
  26571. // (for example, /dev/sdh).
  26572. //
  26573. // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
  26574. // EBS volume.
  26575. //
  26576. // * block-device-mapping.volume-size - The volume size of the EBS volume,
  26577. // in GiB.
  26578. //
  26579. // * block-device-mapping.volume-type - The volume type of the EBS volume
  26580. // (gp2 | io1 | st1 | sc1 | standard).
  26581. //
  26582. // * description - The description of the image (provided during image creation).
  26583. //
  26584. // * ena-support - A Boolean that indicates whether enhanced networking with
  26585. // ENA is enabled.
  26586. //
  26587. // * hypervisor - The hypervisor type (ovm | xen).
  26588. //
  26589. // * image-id - The ID of the image.
  26590. //
  26591. // * image-type - The image type (machine | kernel | ramdisk).
  26592. //
  26593. // * is-public - A Boolean that indicates whether the image is public.
  26594. //
  26595. // * kernel-id - The kernel ID.
  26596. //
  26597. // * manifest-location - The location of the image manifest.
  26598. //
  26599. // * name - The name of the AMI (provided during image creation).
  26600. //
  26601. // * owner-alias - String value from an Amazon-maintained list (amazon |
  26602. // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
  26603. // the user-configured AWS account alias, which is set from the IAM console.
  26604. //
  26605. // * owner-id - The AWS account ID of the image owner.
  26606. //
  26607. // * platform - The platform. To only list Windows-based AMIs, use windows.
  26608. //
  26609. // * product-code - The product code.
  26610. //
  26611. // * product-code.type - The type of the product code (devpay | marketplace).
  26612. //
  26613. // * ramdisk-id - The RAM disk ID.
  26614. //
  26615. // * root-device-name - The name of the root device volume (for example,
  26616. // /dev/sda1).
  26617. //
  26618. // * root-device-type - The type of the root device volume (ebs | instance-store).
  26619. //
  26620. // * state - The state of the image (available | pending | failed).
  26621. //
  26622. // * state-reason-code - The reason code for the state change.
  26623. //
  26624. // * state-reason-message - The message for the state change.
  26625. //
  26626. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  26627. // Specify the key of the tag in the filter name and the value of the tag
  26628. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  26629. // for the filter name and X for the filter value.
  26630. //
  26631. // * tag-key - The key of a tag assigned to the resource. This filter is
  26632. // independent of the tag-value filter. For example, if you use both the
  26633. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  26634. // assigned both the tag key Purpose (regardless of what the tag's value
  26635. // is), and the tag value X (regardless of what the tag's key is). If you
  26636. // want to list only resources where Purpose is X, see the tag:key=value
  26637. // filter.
  26638. //
  26639. // * tag-value - The value of a tag assigned to the resource. This filter
  26640. // is independent of the tag-key filter.
  26641. //
  26642. // * virtualization-type - The virtualization type (paravirtual | hvm).
  26643. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26644. // One or more image IDs.
  26645. //
  26646. // Default: Describes all images available to you.
  26647. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  26648. // Filters the images by the owner. Specify an AWS account ID, self (owner is
  26649. // the sender of the request), or an AWS owner alias (valid values are amazon
  26650. // | aws-marketplace | microsoft). Omitting this option returns all images for
  26651. // which you have launch permissions, regardless of ownership.
  26652. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  26653. }
  26654. // String returns the string representation
  26655. func (s DescribeImagesInput) String() string {
  26656. return awsutil.Prettify(s)
  26657. }
  26658. // GoString returns the string representation
  26659. func (s DescribeImagesInput) GoString() string {
  26660. return s.String()
  26661. }
  26662. // SetDryRun sets the DryRun field's value.
  26663. func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
  26664. s.DryRun = &v
  26665. return s
  26666. }
  26667. // SetExecutableUsers sets the ExecutableUsers field's value.
  26668. func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
  26669. s.ExecutableUsers = v
  26670. return s
  26671. }
  26672. // SetFilters sets the Filters field's value.
  26673. func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
  26674. s.Filters = v
  26675. return s
  26676. }
  26677. // SetImageIds sets the ImageIds field's value.
  26678. func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
  26679. s.ImageIds = v
  26680. return s
  26681. }
  26682. // SetOwners sets the Owners field's value.
  26683. func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
  26684. s.Owners = v
  26685. return s
  26686. }
  26687. // Contains the output of DescribeImages.
  26688. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImagesResult
  26689. type DescribeImagesOutput struct {
  26690. _ struct{} `type:"structure"`
  26691. // Information about one or more images.
  26692. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  26693. }
  26694. // String returns the string representation
  26695. func (s DescribeImagesOutput) String() string {
  26696. return awsutil.Prettify(s)
  26697. }
  26698. // GoString returns the string representation
  26699. func (s DescribeImagesOutput) GoString() string {
  26700. return s.String()
  26701. }
  26702. // SetImages sets the Images field's value.
  26703. func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
  26704. s.Images = v
  26705. return s
  26706. }
  26707. // Contains the parameters for DescribeImportImageTasks.
  26708. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasksRequest
  26709. type DescribeImportImageTasksInput struct {
  26710. _ struct{} `type:"structure"`
  26711. // Checks whether you have the required permissions for the action, without
  26712. // actually making the request, and provides an error response. If you have
  26713. // the required permissions, the error response is DryRunOperation. Otherwise,
  26714. // it is UnauthorizedOperation.
  26715. DryRun *bool `type:"boolean"`
  26716. // Filter tasks using the task-state filter and one of the following values:
  26717. // active, completed, deleting, deleted.
  26718. Filters []*Filter `locationNameList:"Filter" type:"list"`
  26719. // A list of import image task IDs.
  26720. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  26721. // The maximum number of results to return in a single call. To retrieve the
  26722. // remaining results, make another call with the returned NextToken value.
  26723. MaxResults *int64 `type:"integer"`
  26724. // A token that indicates the next page of results.
  26725. NextToken *string `type:"string"`
  26726. }
  26727. // String returns the string representation
  26728. func (s DescribeImportImageTasksInput) String() string {
  26729. return awsutil.Prettify(s)
  26730. }
  26731. // GoString returns the string representation
  26732. func (s DescribeImportImageTasksInput) GoString() string {
  26733. return s.String()
  26734. }
  26735. // SetDryRun sets the DryRun field's value.
  26736. func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
  26737. s.DryRun = &v
  26738. return s
  26739. }
  26740. // SetFilters sets the Filters field's value.
  26741. func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
  26742. s.Filters = v
  26743. return s
  26744. }
  26745. // SetImportTaskIds sets the ImportTaskIds field's value.
  26746. func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
  26747. s.ImportTaskIds = v
  26748. return s
  26749. }
  26750. // SetMaxResults sets the MaxResults field's value.
  26751. func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
  26752. s.MaxResults = &v
  26753. return s
  26754. }
  26755. // SetNextToken sets the NextToken field's value.
  26756. func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
  26757. s.NextToken = &v
  26758. return s
  26759. }
  26760. // Contains the output for DescribeImportImageTasks.
  26761. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasksResult
  26762. type DescribeImportImageTasksOutput struct {
  26763. _ struct{} `type:"structure"`
  26764. // A list of zero or more import image tasks that are currently active or were
  26765. // completed or canceled in the previous 7 days.
  26766. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  26767. // The token to use to get the next page of results. This value is null when
  26768. // there are no more results to return.
  26769. NextToken *string `locationName:"nextToken" type:"string"`
  26770. }
  26771. // String returns the string representation
  26772. func (s DescribeImportImageTasksOutput) String() string {
  26773. return awsutil.Prettify(s)
  26774. }
  26775. // GoString returns the string representation
  26776. func (s DescribeImportImageTasksOutput) GoString() string {
  26777. return s.String()
  26778. }
  26779. // SetImportImageTasks sets the ImportImageTasks field's value.
  26780. func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
  26781. s.ImportImageTasks = v
  26782. return s
  26783. }
  26784. // SetNextToken sets the NextToken field's value.
  26785. func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
  26786. s.NextToken = &v
  26787. return s
  26788. }
  26789. // Contains the parameters for DescribeImportSnapshotTasks.
  26790. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasksRequest
  26791. type DescribeImportSnapshotTasksInput struct {
  26792. _ struct{} `type:"structure"`
  26793. // Checks whether you have the required permissions for the action, without
  26794. // actually making the request, and provides an error response. If you have
  26795. // the required permissions, the error response is DryRunOperation. Otherwise,
  26796. // it is UnauthorizedOperation.
  26797. DryRun *bool `type:"boolean"`
  26798. // One or more filters.
  26799. Filters []*Filter `locationNameList:"Filter" type:"list"`
  26800. // A list of import snapshot task IDs.
  26801. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  26802. // The maximum number of results to return in a single call. To retrieve the
  26803. // remaining results, make another call with the returned NextToken value.
  26804. MaxResults *int64 `type:"integer"`
  26805. // A token that indicates the next page of results.
  26806. NextToken *string `type:"string"`
  26807. }
  26808. // String returns the string representation
  26809. func (s DescribeImportSnapshotTasksInput) String() string {
  26810. return awsutil.Prettify(s)
  26811. }
  26812. // GoString returns the string representation
  26813. func (s DescribeImportSnapshotTasksInput) GoString() string {
  26814. return s.String()
  26815. }
  26816. // SetDryRun sets the DryRun field's value.
  26817. func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
  26818. s.DryRun = &v
  26819. return s
  26820. }
  26821. // SetFilters sets the Filters field's value.
  26822. func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
  26823. s.Filters = v
  26824. return s
  26825. }
  26826. // SetImportTaskIds sets the ImportTaskIds field's value.
  26827. func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
  26828. s.ImportTaskIds = v
  26829. return s
  26830. }
  26831. // SetMaxResults sets the MaxResults field's value.
  26832. func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
  26833. s.MaxResults = &v
  26834. return s
  26835. }
  26836. // SetNextToken sets the NextToken field's value.
  26837. func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
  26838. s.NextToken = &v
  26839. return s
  26840. }
  26841. // Contains the output for DescribeImportSnapshotTasks.
  26842. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasksResult
  26843. type DescribeImportSnapshotTasksOutput struct {
  26844. _ struct{} `type:"structure"`
  26845. // A list of zero or more import snapshot tasks that are currently active or
  26846. // were completed or canceled in the previous 7 days.
  26847. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  26848. // The token to use to get the next page of results. This value is null when
  26849. // there are no more results to return.
  26850. NextToken *string `locationName:"nextToken" type:"string"`
  26851. }
  26852. // String returns the string representation
  26853. func (s DescribeImportSnapshotTasksOutput) String() string {
  26854. return awsutil.Prettify(s)
  26855. }
  26856. // GoString returns the string representation
  26857. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  26858. return s.String()
  26859. }
  26860. // SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
  26861. func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
  26862. s.ImportSnapshotTasks = v
  26863. return s
  26864. }
  26865. // SetNextToken sets the NextToken field's value.
  26866. func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
  26867. s.NextToken = &v
  26868. return s
  26869. }
  26870. // Contains the parameters for DescribeInstanceAttribute.
  26871. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttributeRequest
  26872. type DescribeInstanceAttributeInput struct {
  26873. _ struct{} `type:"structure"`
  26874. // The instance attribute.
  26875. //
  26876. // Note: The enaSupport attribute is not supported at this time.
  26877. //
  26878. // Attribute is a required field
  26879. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  26880. // Checks whether you have the required permissions for the action, without
  26881. // actually making the request, and provides an error response. If you have
  26882. // the required permissions, the error response is DryRunOperation. Otherwise,
  26883. // it is UnauthorizedOperation.
  26884. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26885. // The ID of the instance.
  26886. //
  26887. // InstanceId is a required field
  26888. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  26889. }
  26890. // String returns the string representation
  26891. func (s DescribeInstanceAttributeInput) String() string {
  26892. return awsutil.Prettify(s)
  26893. }
  26894. // GoString returns the string representation
  26895. func (s DescribeInstanceAttributeInput) GoString() string {
  26896. return s.String()
  26897. }
  26898. // Validate inspects the fields of the type to determine if they are valid.
  26899. func (s *DescribeInstanceAttributeInput) Validate() error {
  26900. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
  26901. if s.Attribute == nil {
  26902. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  26903. }
  26904. if s.InstanceId == nil {
  26905. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  26906. }
  26907. if invalidParams.Len() > 0 {
  26908. return invalidParams
  26909. }
  26910. return nil
  26911. }
  26912. // SetAttribute sets the Attribute field's value.
  26913. func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
  26914. s.Attribute = &v
  26915. return s
  26916. }
  26917. // SetDryRun sets the DryRun field's value.
  26918. func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
  26919. s.DryRun = &v
  26920. return s
  26921. }
  26922. // SetInstanceId sets the InstanceId field's value.
  26923. func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
  26924. s.InstanceId = &v
  26925. return s
  26926. }
  26927. // Describes an instance attribute.
  26928. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceAttribute
  26929. type DescribeInstanceAttributeOutput struct {
  26930. _ struct{} `type:"structure"`
  26931. // The block device mapping of the instance.
  26932. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  26933. // If the value is true, you can't terminate the instance through the Amazon
  26934. // EC2 console, CLI, or API; otherwise, you can.
  26935. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  26936. // Indicates whether the instance is optimized for EBS I/O.
  26937. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  26938. // Indicates whether enhanced networking with ENA is enabled.
  26939. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  26940. // The security groups associated with the instance.
  26941. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  26942. // The ID of the instance.
  26943. InstanceId *string `locationName:"instanceId" type:"string"`
  26944. // Indicates whether an instance stops or terminates when you initiate shutdown
  26945. // from the instance (using the operating system command for system shutdown).
  26946. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  26947. // The instance type.
  26948. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  26949. // The kernel ID.
  26950. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  26951. // A list of product codes.
  26952. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  26953. // The RAM disk ID.
  26954. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  26955. // The name of the root device (for example, /dev/sda1 or /dev/xvda).
  26956. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  26957. // Indicates whether source/destination checking is enabled. A value of true
  26958. // means checking is enabled, and false means checking is disabled. This value
  26959. // must be false for a NAT instance to perform NAT.
  26960. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  26961. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  26962. // interface is enabled.
  26963. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  26964. // The user data.
  26965. UserData *AttributeValue `locationName:"userData" type:"structure"`
  26966. }
  26967. // String returns the string representation
  26968. func (s DescribeInstanceAttributeOutput) String() string {
  26969. return awsutil.Prettify(s)
  26970. }
  26971. // GoString returns the string representation
  26972. func (s DescribeInstanceAttributeOutput) GoString() string {
  26973. return s.String()
  26974. }
  26975. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  26976. func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
  26977. s.BlockDeviceMappings = v
  26978. return s
  26979. }
  26980. // SetDisableApiTermination sets the DisableApiTermination field's value.
  26981. func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  26982. s.DisableApiTermination = v
  26983. return s
  26984. }
  26985. // SetEbsOptimized sets the EbsOptimized field's value.
  26986. func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  26987. s.EbsOptimized = v
  26988. return s
  26989. }
  26990. // SetEnaSupport sets the EnaSupport field's value.
  26991. func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  26992. s.EnaSupport = v
  26993. return s
  26994. }
  26995. // SetGroups sets the Groups field's value.
  26996. func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
  26997. s.Groups = v
  26998. return s
  26999. }
  27000. // SetInstanceId sets the InstanceId field's value.
  27001. func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
  27002. s.InstanceId = &v
  27003. return s
  27004. }
  27005. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  27006. func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27007. s.InstanceInitiatedShutdownBehavior = v
  27008. return s
  27009. }
  27010. // SetInstanceType sets the InstanceType field's value.
  27011. func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27012. s.InstanceType = v
  27013. return s
  27014. }
  27015. // SetKernelId sets the KernelId field's value.
  27016. func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27017. s.KernelId = v
  27018. return s
  27019. }
  27020. // SetProductCodes sets the ProductCodes field's value.
  27021. func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
  27022. s.ProductCodes = v
  27023. return s
  27024. }
  27025. // SetRamdiskId sets the RamdiskId field's value.
  27026. func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27027. s.RamdiskId = v
  27028. return s
  27029. }
  27030. // SetRootDeviceName sets the RootDeviceName field's value.
  27031. func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27032. s.RootDeviceName = v
  27033. return s
  27034. }
  27035. // SetSourceDestCheck sets the SourceDestCheck field's value.
  27036. func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  27037. s.SourceDestCheck = v
  27038. return s
  27039. }
  27040. // SetSriovNetSupport sets the SriovNetSupport field's value.
  27041. func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27042. s.SriovNetSupport = v
  27043. return s
  27044. }
  27045. // SetUserData sets the UserData field's value.
  27046. func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27047. s.UserData = v
  27048. return s
  27049. }
  27050. // Contains the parameters for DescribeInstanceStatus.
  27051. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatusRequest
  27052. type DescribeInstanceStatusInput struct {
  27053. _ struct{} `type:"structure"`
  27054. // Checks whether you have the required permissions for the action, without
  27055. // actually making the request, and provides an error response. If you have
  27056. // the required permissions, the error response is DryRunOperation. Otherwise,
  27057. // it is UnauthorizedOperation.
  27058. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27059. // One or more filters.
  27060. //
  27061. // * availability-zone - The Availability Zone of the instance.
  27062. //
  27063. // * event.code - The code for the scheduled event (instance-reboot | system-reboot
  27064. // | system-maintenance | instance-retirement | instance-stop).
  27065. //
  27066. // * event.description - A description of the event.
  27067. //
  27068. // * event.not-after - The latest end time for the scheduled event (for example,
  27069. // 2014-09-15T17:15:20.000Z).
  27070. //
  27071. // * event.not-before - The earliest start time for the scheduled event (for
  27072. // example, 2014-09-15T17:15:20.000Z).
  27073. //
  27074. // * instance-state-code - The code for the instance state, as a 16-bit unsigned
  27075. // integer. The high byte is an opaque internal value and should be ignored.
  27076. // The low byte is set based on the state represented. The valid values are
  27077. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  27078. // and 80 (stopped).
  27079. //
  27080. // * instance-state-name - The state of the instance (pending | running |
  27081. // shutting-down | terminated | stopping | stopped).
  27082. //
  27083. // * instance-status.reachability - Filters on instance status where the
  27084. // name is reachability (passed | failed | initializing | insufficient-data).
  27085. //
  27086. // * instance-status.status - The status of the instance (ok | impaired |
  27087. // initializing | insufficient-data | not-applicable).
  27088. //
  27089. // * system-status.reachability - Filters on system status where the name
  27090. // is reachability (passed | failed | initializing | insufficient-data).
  27091. //
  27092. // * system-status.status - The system status of the instance (ok | impaired
  27093. // | initializing | insufficient-data | not-applicable).
  27094. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27095. // When true, includes the health status for all instances. When false, includes
  27096. // the health status for running instances only.
  27097. //
  27098. // Default: false
  27099. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  27100. // One or more instance IDs.
  27101. //
  27102. // Default: Describes all your instances.
  27103. //
  27104. // Constraints: Maximum 100 explicitly specified instance IDs.
  27105. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  27106. // The maximum number of results to return in a single call. To retrieve the
  27107. // remaining results, make another call with the returned NextToken value. This
  27108. // value can be between 5 and 1000. You cannot specify this parameter and the
  27109. // instance IDs parameter in the same call.
  27110. MaxResults *int64 `type:"integer"`
  27111. // The token to retrieve the next page of results.
  27112. NextToken *string `type:"string"`
  27113. }
  27114. // String returns the string representation
  27115. func (s DescribeInstanceStatusInput) String() string {
  27116. return awsutil.Prettify(s)
  27117. }
  27118. // GoString returns the string representation
  27119. func (s DescribeInstanceStatusInput) GoString() string {
  27120. return s.String()
  27121. }
  27122. // SetDryRun sets the DryRun field's value.
  27123. func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
  27124. s.DryRun = &v
  27125. return s
  27126. }
  27127. // SetFilters sets the Filters field's value.
  27128. func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
  27129. s.Filters = v
  27130. return s
  27131. }
  27132. // SetIncludeAllInstances sets the IncludeAllInstances field's value.
  27133. func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
  27134. s.IncludeAllInstances = &v
  27135. return s
  27136. }
  27137. // SetInstanceIds sets the InstanceIds field's value.
  27138. func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
  27139. s.InstanceIds = v
  27140. return s
  27141. }
  27142. // SetMaxResults sets the MaxResults field's value.
  27143. func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
  27144. s.MaxResults = &v
  27145. return s
  27146. }
  27147. // SetNextToken sets the NextToken field's value.
  27148. func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
  27149. s.NextToken = &v
  27150. return s
  27151. }
  27152. // Contains the output of DescribeInstanceStatus.
  27153. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatusResult
  27154. type DescribeInstanceStatusOutput struct {
  27155. _ struct{} `type:"structure"`
  27156. // One or more instance status descriptions.
  27157. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  27158. // The token to use to retrieve the next page of results. This value is null
  27159. // when there are no more results to return.
  27160. NextToken *string `locationName:"nextToken" type:"string"`
  27161. }
  27162. // String returns the string representation
  27163. func (s DescribeInstanceStatusOutput) String() string {
  27164. return awsutil.Prettify(s)
  27165. }
  27166. // GoString returns the string representation
  27167. func (s DescribeInstanceStatusOutput) GoString() string {
  27168. return s.String()
  27169. }
  27170. // SetInstanceStatuses sets the InstanceStatuses field's value.
  27171. func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
  27172. s.InstanceStatuses = v
  27173. return s
  27174. }
  27175. // SetNextToken sets the NextToken field's value.
  27176. func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
  27177. s.NextToken = &v
  27178. return s
  27179. }
  27180. // Contains the parameters for DescribeInstances.
  27181. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstancesRequest
  27182. type DescribeInstancesInput struct {
  27183. _ struct{} `type:"structure"`
  27184. // Checks whether you have the required permissions for the action, without
  27185. // actually making the request, and provides an error response. If you have
  27186. // the required permissions, the error response is DryRunOperation. Otherwise,
  27187. // it is UnauthorizedOperation.
  27188. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27189. // One or more filters.
  27190. //
  27191. // * affinity - The affinity setting for an instance running on a Dedicated
  27192. // Host (default | host).
  27193. //
  27194. // * architecture - The instance architecture (i386 | x86_64).
  27195. //
  27196. // * association.public-ip - The address of the Elastic IP address (IPv4)
  27197. // bound to the network interface.
  27198. //
  27199. // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
  27200. // associated with the network interface.
  27201. //
  27202. // * association.allocation-id - The allocation ID returned when you allocated
  27203. // the Elastic IP address (IPv4) for your network interface.
  27204. //
  27205. // * association.association-id - The association ID returned when the network
  27206. // interface was associated with an IPv4 address.
  27207. //
  27208. // * availability-zone - The Availability Zone of the instance.
  27209. //
  27210. // * block-device-mapping.attach-time - The attach time for an EBS volume
  27211. // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
  27212. //
  27213. // * block-device-mapping.delete-on-termination - A Boolean that indicates
  27214. // whether the EBS volume is deleted on instance termination.
  27215. //
  27216. // * block-device-mapping.device-name - The device name for the EBS volume
  27217. // (for example, /dev/sdh or xvdh).
  27218. //
  27219. // * block-device-mapping.status - The status for the EBS volume (attaching
  27220. // | attached | detaching | detached).
  27221. //
  27222. // * block-device-mapping.volume-id - The volume ID of the EBS volume.
  27223. //
  27224. // * client-token - The idempotency token you provided when you launched
  27225. // the instance.
  27226. //
  27227. // * dns-name - The public DNS name of the instance.
  27228. //
  27229. // * group-id - The ID of the security group for the instance. EC2-Classic
  27230. // only.
  27231. //
  27232. // * group-name - The name of the security group for the instance. EC2-Classic
  27233. // only.
  27234. //
  27235. // * host-id - The ID of the Dedicated Host on which the instance is running,
  27236. // if applicable.
  27237. //
  27238. // * hypervisor - The hypervisor type of the instance (ovm | xen).
  27239. //
  27240. // * iam-instance-profile.arn - The instance profile associated with the
  27241. // instance. Specified as an ARN.
  27242. //
  27243. // * image-id - The ID of the image used to launch the instance.
  27244. //
  27245. // * instance-id - The ID of the instance.
  27246. //
  27247. // * instance-lifecycle - Indicates whether this is a Spot Instance or a
  27248. // Scheduled Instance (spot | scheduled).
  27249. //
  27250. // * instance-state-code - The state of the instance, as a 16-bit unsigned
  27251. // integer. The high byte is an opaque internal value and should be ignored.
  27252. // The low byte is set based on the state represented. The valid values are:
  27253. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  27254. // and 80 (stopped).
  27255. //
  27256. // * instance-state-name - The state of the instance (pending | running |
  27257. // shutting-down | terminated | stopping | stopped).
  27258. //
  27259. // * instance-type - The type of instance (for example, t2.micro).
  27260. //
  27261. // * instance.group-id - The ID of the security group for the instance.
  27262. //
  27263. // * instance.group-name - The name of the security group for the instance.
  27264. //
  27265. //
  27266. // * ip-address - The public IPv4 address of the instance.
  27267. //
  27268. // * kernel-id - The kernel ID.
  27269. //
  27270. // * key-name - The name of the key pair used when the instance was launched.
  27271. //
  27272. // * launch-index - When launching multiple instances, this is the index
  27273. // for the instance in the launch group (for example, 0, 1, 2, and so on).
  27274. //
  27275. //
  27276. // * launch-time - The time when the instance was launched.
  27277. //
  27278. // * monitoring-state - Indicates whether detailed monitoring is enabled
  27279. // (disabled | enabled).
  27280. //
  27281. // * network-interface.addresses.private-ip-address - The private IPv4 address
  27282. // associated with the network interface.
  27283. //
  27284. // * network-interface.addresses.primary - Specifies whether the IPv4 address
  27285. // of the network interface is the primary private IPv4 address.
  27286. //
  27287. // * network-interface.addresses.association.public-ip - The ID of the association
  27288. // of an Elastic IP address (IPv4) with a network interface.
  27289. //
  27290. // * network-interface.addresses.association.ip-owner-id - The owner ID of
  27291. // the private IPv4 address associated with the network interface.
  27292. //
  27293. // * network-interface.attachment.attachment-id - The ID of the interface
  27294. // attachment.
  27295. //
  27296. // * network-interface.attachment.instance-id - The ID of the instance to
  27297. // which the network interface is attached.
  27298. //
  27299. // * network-interface.attachment.instance-owner-id - The owner ID of the
  27300. // instance to which the network interface is attached.
  27301. //
  27302. // * network-interface.attachment.device-index - The device index to which
  27303. // the network interface is attached.
  27304. //
  27305. // * network-interface.attachment.status - The status of the attachment (attaching
  27306. // | attached | detaching | detached).
  27307. //
  27308. // * network-interface.attachment.attach-time - The time that the network
  27309. // interface was attached to an instance.
  27310. //
  27311. // * network-interface.attachment.delete-on-termination - Specifies whether
  27312. // the attachment is deleted when an instance is terminated.
  27313. //
  27314. // * network-interface.availability-zone - The Availability Zone for the
  27315. // network interface.
  27316. //
  27317. // * network-interface.description - The description of the network interface.
  27318. //
  27319. // * network-interface.group-id - The ID of a security group associated with
  27320. // the network interface.
  27321. //
  27322. // * network-interface.group-name - The name of a security group associated
  27323. // with the network interface.
  27324. //
  27325. // * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
  27326. // with the network interface.
  27327. //
  27328. // * network-interface.mac-address - The MAC address of the network interface.
  27329. //
  27330. // * network-interface.network-interface-id - The ID of the network interface.
  27331. //
  27332. // * network-interface.owner-id - The ID of the owner of the network interface.
  27333. //
  27334. // * network-interface.private-dns-name - The private DNS name of the network
  27335. // interface.
  27336. //
  27337. // * network-interface.requester-id - The requester ID for the network interface.
  27338. //
  27339. // * network-interface.requester-managed - Indicates whether the network
  27340. // interface is being managed by AWS.
  27341. //
  27342. // * network-interface.status - The status of the network interface (available)
  27343. // | in-use).
  27344. //
  27345. // * network-interface.source-dest-check - Whether the network interface
  27346. // performs source/destination checking. A value of true means checking is
  27347. // enabled, and false means checking is disabled. The value must be false
  27348. // for the network interface to perform network address translation (NAT)
  27349. // in your VPC.
  27350. //
  27351. // * network-interface.subnet-id - The ID of the subnet for the network interface.
  27352. //
  27353. // * network-interface.vpc-id - The ID of the VPC for the network interface.
  27354. //
  27355. // * owner-id - The AWS account ID of the instance owner.
  27356. //
  27357. // * placement-group-name - The name of the placement group for the instance.
  27358. //
  27359. // * platform - The platform. Use windows if you have Windows instances;
  27360. // otherwise, leave blank.
  27361. //
  27362. // * private-dns-name - The private IPv4 DNS name of the instance.
  27363. //
  27364. // * private-ip-address - The private IPv4 address of the instance.
  27365. //
  27366. // * product-code - The product code associated with the AMI used to launch
  27367. // the instance.
  27368. //
  27369. // * product-code.type - The type of product code (devpay | marketplace).
  27370. //
  27371. // * ramdisk-id - The RAM disk ID.
  27372. //
  27373. // * reason - The reason for the current state of the instance (for example,
  27374. // shows "User Initiated [date]" when you stop or terminate the instance).
  27375. // Similar to the state-reason-code filter.
  27376. //
  27377. // * requester-id - The ID of the entity that launched the instance on your
  27378. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  27379. //
  27380. // * reservation-id - The ID of the instance's reservation. A reservation
  27381. // ID is created any time you launch an instance. A reservation ID has a
  27382. // one-to-one relationship with an instance launch request, but can be associated
  27383. // with more than one instance if you launch multiple instances using the
  27384. // same launch request. For example, if you launch one instance, you'll get
  27385. // one reservation ID. If you launch ten instances using the same launch
  27386. // request, you'll also get one reservation ID.
  27387. //
  27388. // * root-device-name - The name of the root device for the instance (for
  27389. // example, /dev/sda1 or /dev/xvda).
  27390. //
  27391. // * root-device-type - The type of root device that the instance uses (ebs
  27392. // | instance-store).
  27393. //
  27394. // * source-dest-check - Indicates whether the instance performs source/destination
  27395. // checking. A value of true means that checking is enabled, and false means
  27396. // checking is disabled. The value must be false for the instance to perform
  27397. // network address translation (NAT) in your VPC.
  27398. //
  27399. // * spot-instance-request-id - The ID of the Spot instance request.
  27400. //
  27401. // * state-reason-code - The reason code for the state change.
  27402. //
  27403. // * state-reason-message - A message that describes the state change.
  27404. //
  27405. // * subnet-id - The ID of the subnet for the instance.
  27406. //
  27407. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  27408. // Specify the key of the tag in the filter name and the value of the tag
  27409. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  27410. // for the filter name and X for the filter value.
  27411. //
  27412. // * tag-key - The key of a tag assigned to the resource. This filter is
  27413. // independent of the tag-value filter. For example, if you use both the
  27414. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  27415. // assigned both the tag key Purpose (regardless of what the tag's value
  27416. // is), and the tag value X (regardless of what the tag's key is). If you
  27417. // want to list only resources where Purpose is X, see the tag:key=value
  27418. // filter.
  27419. //
  27420. // * tag-value - The value of a tag assigned to the resource. This filter
  27421. // is independent of the tag-key filter.
  27422. //
  27423. // * tenancy - The tenancy of an instance (dedicated | default | host).
  27424. //
  27425. // * virtualization-type - The virtualization type of the instance (paravirtual
  27426. // | hvm).
  27427. //
  27428. // * vpc-id - The ID of the VPC that the instance is running in.
  27429. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27430. // One or more instance IDs.
  27431. //
  27432. // Default: Describes all your instances.
  27433. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  27434. // The maximum number of results to return in a single call. To retrieve the
  27435. // remaining results, make another call with the returned NextToken value. This
  27436. // value can be between 5 and 1000. You cannot specify this parameter and the
  27437. // instance IDs parameter or tag filters in the same call.
  27438. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  27439. // The token to request the next page of results.
  27440. NextToken *string `locationName:"nextToken" type:"string"`
  27441. }
  27442. // String returns the string representation
  27443. func (s DescribeInstancesInput) String() string {
  27444. return awsutil.Prettify(s)
  27445. }
  27446. // GoString returns the string representation
  27447. func (s DescribeInstancesInput) GoString() string {
  27448. return s.String()
  27449. }
  27450. // SetDryRun sets the DryRun field's value.
  27451. func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
  27452. s.DryRun = &v
  27453. return s
  27454. }
  27455. // SetFilters sets the Filters field's value.
  27456. func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
  27457. s.Filters = v
  27458. return s
  27459. }
  27460. // SetInstanceIds sets the InstanceIds field's value.
  27461. func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
  27462. s.InstanceIds = v
  27463. return s
  27464. }
  27465. // SetMaxResults sets the MaxResults field's value.
  27466. func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
  27467. s.MaxResults = &v
  27468. return s
  27469. }
  27470. // SetNextToken sets the NextToken field's value.
  27471. func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
  27472. s.NextToken = &v
  27473. return s
  27474. }
  27475. // Contains the output of DescribeInstances.
  27476. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstancesResult
  27477. type DescribeInstancesOutput struct {
  27478. _ struct{} `type:"structure"`
  27479. // The token to use to retrieve the next page of results. This value is null
  27480. // when there are no more results to return.
  27481. NextToken *string `locationName:"nextToken" type:"string"`
  27482. // Zero or more reservations.
  27483. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  27484. }
  27485. // String returns the string representation
  27486. func (s DescribeInstancesOutput) String() string {
  27487. return awsutil.Prettify(s)
  27488. }
  27489. // GoString returns the string representation
  27490. func (s DescribeInstancesOutput) GoString() string {
  27491. return s.String()
  27492. }
  27493. // SetNextToken sets the NextToken field's value.
  27494. func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
  27495. s.NextToken = &v
  27496. return s
  27497. }
  27498. // SetReservations sets the Reservations field's value.
  27499. func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
  27500. s.Reservations = v
  27501. return s
  27502. }
  27503. // Contains the parameters for DescribeInternetGateways.
  27504. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGatewaysRequest
  27505. type DescribeInternetGatewaysInput struct {
  27506. _ struct{} `type:"structure"`
  27507. // Checks whether you have the required permissions for the action, without
  27508. // actually making the request, and provides an error response. If you have
  27509. // the required permissions, the error response is DryRunOperation. Otherwise,
  27510. // it is UnauthorizedOperation.
  27511. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27512. // One or more filters.
  27513. //
  27514. // * attachment.state - The current state of the attachment between the gateway
  27515. // and the VPC (available). Present only if a VPC is attached.
  27516. //
  27517. // * attachment.vpc-id - The ID of an attached VPC.
  27518. //
  27519. // * internet-gateway-id - The ID of the Internet gateway.
  27520. //
  27521. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  27522. // Specify the key of the tag in the filter name and the value of the tag
  27523. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  27524. // for the filter name and X for the filter value.
  27525. //
  27526. // * tag-key - The key of a tag assigned to the resource. This filter is
  27527. // independent of the tag-value filter. For example, if you use both the
  27528. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  27529. // assigned both the tag key Purpose (regardless of what the tag's value
  27530. // is), and the tag value X (regardless of what the tag's key is). If you
  27531. // want to list only resources where Purpose is X, see the tag:key=value
  27532. // filter.
  27533. //
  27534. // * tag-value - The value of a tag assigned to the resource. This filter
  27535. // is independent of the tag-key filter.
  27536. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27537. // One or more Internet gateway IDs.
  27538. //
  27539. // Default: Describes all your Internet gateways.
  27540. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  27541. }
  27542. // String returns the string representation
  27543. func (s DescribeInternetGatewaysInput) String() string {
  27544. return awsutil.Prettify(s)
  27545. }
  27546. // GoString returns the string representation
  27547. func (s DescribeInternetGatewaysInput) GoString() string {
  27548. return s.String()
  27549. }
  27550. // SetDryRun sets the DryRun field's value.
  27551. func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
  27552. s.DryRun = &v
  27553. return s
  27554. }
  27555. // SetFilters sets the Filters field's value.
  27556. func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
  27557. s.Filters = v
  27558. return s
  27559. }
  27560. // SetInternetGatewayIds sets the InternetGatewayIds field's value.
  27561. func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
  27562. s.InternetGatewayIds = v
  27563. return s
  27564. }
  27565. // Contains the output of DescribeInternetGateways.
  27566. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGatewaysResult
  27567. type DescribeInternetGatewaysOutput struct {
  27568. _ struct{} `type:"structure"`
  27569. // Information about one or more Internet gateways.
  27570. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  27571. }
  27572. // String returns the string representation
  27573. func (s DescribeInternetGatewaysOutput) String() string {
  27574. return awsutil.Prettify(s)
  27575. }
  27576. // GoString returns the string representation
  27577. func (s DescribeInternetGatewaysOutput) GoString() string {
  27578. return s.String()
  27579. }
  27580. // SetInternetGateways sets the InternetGateways field's value.
  27581. func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
  27582. s.InternetGateways = v
  27583. return s
  27584. }
  27585. // Contains the parameters for DescribeKeyPairs.
  27586. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairsRequest
  27587. type DescribeKeyPairsInput struct {
  27588. _ struct{} `type:"structure"`
  27589. // Checks whether you have the required permissions for the action, without
  27590. // actually making the request, and provides an error response. If you have
  27591. // the required permissions, the error response is DryRunOperation. Otherwise,
  27592. // it is UnauthorizedOperation.
  27593. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27594. // One or more filters.
  27595. //
  27596. // * fingerprint - The fingerprint of the key pair.
  27597. //
  27598. // * key-name - The name of the key pair.
  27599. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27600. // One or more key pair names.
  27601. //
  27602. // Default: Describes all your key pairs.
  27603. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  27604. }
  27605. // String returns the string representation
  27606. func (s DescribeKeyPairsInput) String() string {
  27607. return awsutil.Prettify(s)
  27608. }
  27609. // GoString returns the string representation
  27610. func (s DescribeKeyPairsInput) GoString() string {
  27611. return s.String()
  27612. }
  27613. // SetDryRun sets the DryRun field's value.
  27614. func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
  27615. s.DryRun = &v
  27616. return s
  27617. }
  27618. // SetFilters sets the Filters field's value.
  27619. func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
  27620. s.Filters = v
  27621. return s
  27622. }
  27623. // SetKeyNames sets the KeyNames field's value.
  27624. func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
  27625. s.KeyNames = v
  27626. return s
  27627. }
  27628. // Contains the output of DescribeKeyPairs.
  27629. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairsResult
  27630. type DescribeKeyPairsOutput struct {
  27631. _ struct{} `type:"structure"`
  27632. // Information about one or more key pairs.
  27633. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  27634. }
  27635. // String returns the string representation
  27636. func (s DescribeKeyPairsOutput) String() string {
  27637. return awsutil.Prettify(s)
  27638. }
  27639. // GoString returns the string representation
  27640. func (s DescribeKeyPairsOutput) GoString() string {
  27641. return s.String()
  27642. }
  27643. // SetKeyPairs sets the KeyPairs field's value.
  27644. func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
  27645. s.KeyPairs = v
  27646. return s
  27647. }
  27648. // Contains the parameters for DescribeMovingAddresses.
  27649. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddressesRequest
  27650. type DescribeMovingAddressesInput struct {
  27651. _ struct{} `type:"structure"`
  27652. // Checks whether you have the required permissions for the action, without
  27653. // actually making the request, and provides an error response. If you have
  27654. // the required permissions, the error response is DryRunOperation. Otherwise,
  27655. // it is UnauthorizedOperation.
  27656. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27657. // One or more filters.
  27658. //
  27659. // * moving-status - The status of the Elastic IP address (MovingToVpc |
  27660. // RestoringToClassic).
  27661. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  27662. // The maximum number of results to return for the request in a single page.
  27663. // The remaining results of the initial request can be seen by sending another
  27664. // request with the returned NextToken value. This value can be between 5 and
  27665. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  27666. //
  27667. // Default: If no value is provided, the default is 1000.
  27668. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  27669. // The token to use to retrieve the next page of results.
  27670. NextToken *string `locationName:"nextToken" type:"string"`
  27671. // One or more Elastic IP addresses.
  27672. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  27673. }
  27674. // String returns the string representation
  27675. func (s DescribeMovingAddressesInput) String() string {
  27676. return awsutil.Prettify(s)
  27677. }
  27678. // GoString returns the string representation
  27679. func (s DescribeMovingAddressesInput) GoString() string {
  27680. return s.String()
  27681. }
  27682. // SetDryRun sets the DryRun field's value.
  27683. func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
  27684. s.DryRun = &v
  27685. return s
  27686. }
  27687. // SetFilters sets the Filters field's value.
  27688. func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
  27689. s.Filters = v
  27690. return s
  27691. }
  27692. // SetMaxResults sets the MaxResults field's value.
  27693. func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
  27694. s.MaxResults = &v
  27695. return s
  27696. }
  27697. // SetNextToken sets the NextToken field's value.
  27698. func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
  27699. s.NextToken = &v
  27700. return s
  27701. }
  27702. // SetPublicIps sets the PublicIps field's value.
  27703. func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
  27704. s.PublicIps = v
  27705. return s
  27706. }
  27707. // Contains the output of DescribeMovingAddresses.
  27708. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddressesResult
  27709. type DescribeMovingAddressesOutput struct {
  27710. _ struct{} `type:"structure"`
  27711. // The status for each Elastic IP address.
  27712. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  27713. // The token to use to retrieve the next page of results. This value is null
  27714. // when there are no more results to return.
  27715. NextToken *string `locationName:"nextToken" type:"string"`
  27716. }
  27717. // String returns the string representation
  27718. func (s DescribeMovingAddressesOutput) String() string {
  27719. return awsutil.Prettify(s)
  27720. }
  27721. // GoString returns the string representation
  27722. func (s DescribeMovingAddressesOutput) GoString() string {
  27723. return s.String()
  27724. }
  27725. // SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
  27726. func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
  27727. s.MovingAddressStatuses = v
  27728. return s
  27729. }
  27730. // SetNextToken sets the NextToken field's value.
  27731. func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
  27732. s.NextToken = &v
  27733. return s
  27734. }
  27735. // Contains the parameters for DescribeNatGateways.
  27736. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGatewaysRequest
  27737. type DescribeNatGatewaysInput struct {
  27738. _ struct{} `type:"structure"`
  27739. // One or more filters.
  27740. //
  27741. // * nat-gateway-id - The ID of the NAT gateway.
  27742. //
  27743. // * state - The state of the NAT gateway (pending | failed | available |
  27744. // deleting | deleted).
  27745. //
  27746. // * subnet-id - The ID of the subnet in which the NAT gateway resides.
  27747. //
  27748. // * vpc-id - The ID of the VPC in which the NAT gateway resides.
  27749. Filter []*Filter `locationNameList:"Filter" type:"list"`
  27750. // The maximum number of items to return for this request. The request returns
  27751. // a token that you can specify in a subsequent call to get the next set of
  27752. // results.
  27753. //
  27754. // Constraint: If the value specified is greater than 1000, we return only 1000
  27755. // items.
  27756. MaxResults *int64 `type:"integer"`
  27757. // One or more NAT gateway IDs.
  27758. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
  27759. // The token to retrieve the next page of results.
  27760. NextToken *string `type:"string"`
  27761. }
  27762. // String returns the string representation
  27763. func (s DescribeNatGatewaysInput) String() string {
  27764. return awsutil.Prettify(s)
  27765. }
  27766. // GoString returns the string representation
  27767. func (s DescribeNatGatewaysInput) GoString() string {
  27768. return s.String()
  27769. }
  27770. // SetFilter sets the Filter field's value.
  27771. func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
  27772. s.Filter = v
  27773. return s
  27774. }
  27775. // SetMaxResults sets the MaxResults field's value.
  27776. func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
  27777. s.MaxResults = &v
  27778. return s
  27779. }
  27780. // SetNatGatewayIds sets the NatGatewayIds field's value.
  27781. func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
  27782. s.NatGatewayIds = v
  27783. return s
  27784. }
  27785. // SetNextToken sets the NextToken field's value.
  27786. func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
  27787. s.NextToken = &v
  27788. return s
  27789. }
  27790. // Contains the output of DescribeNatGateways.
  27791. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGatewaysResult
  27792. type DescribeNatGatewaysOutput struct {
  27793. _ struct{} `type:"structure"`
  27794. // Information about the NAT gateways.
  27795. NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
  27796. // The token to use to retrieve the next page of results. This value is null
  27797. // when there are no more results to return.
  27798. NextToken *string `locationName:"nextToken" type:"string"`
  27799. }
  27800. // String returns the string representation
  27801. func (s DescribeNatGatewaysOutput) String() string {
  27802. return awsutil.Prettify(s)
  27803. }
  27804. // GoString returns the string representation
  27805. func (s DescribeNatGatewaysOutput) GoString() string {
  27806. return s.String()
  27807. }
  27808. // SetNatGateways sets the NatGateways field's value.
  27809. func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
  27810. s.NatGateways = v
  27811. return s
  27812. }
  27813. // SetNextToken sets the NextToken field's value.
  27814. func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
  27815. s.NextToken = &v
  27816. return s
  27817. }
  27818. // Contains the parameters for DescribeNetworkAcls.
  27819. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAclsRequest
  27820. type DescribeNetworkAclsInput struct {
  27821. _ struct{} `type:"structure"`
  27822. // Checks whether you have the required permissions for the action, without
  27823. // actually making the request, and provides an error response. If you have
  27824. // the required permissions, the error response is DryRunOperation. Otherwise,
  27825. // it is UnauthorizedOperation.
  27826. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27827. // One or more filters.
  27828. //
  27829. // * association.association-id - The ID of an association ID for the ACL.
  27830. //
  27831. // * association.network-acl-id - The ID of the network ACL involved in the
  27832. // association.
  27833. //
  27834. // * association.subnet-id - The ID of the subnet involved in the association.
  27835. //
  27836. // * default - Indicates whether the ACL is the default network ACL for the
  27837. // VPC.
  27838. //
  27839. // * entry.cidr - The IPv4 CIDR range specified in the entry.
  27840. //
  27841. // * entry.egress - Indicates whether the entry applies to egress traffic.
  27842. //
  27843. // * entry.icmp.code - The ICMP code specified in the entry, if any.
  27844. //
  27845. // * entry.icmp.type - The ICMP type specified in the entry, if any.
  27846. //
  27847. // * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
  27848. //
  27849. // * entry.port-range.from - The start of the port range specified in the
  27850. // entry.
  27851. //
  27852. // * entry.port-range.to - The end of the port range specified in the entry.
  27853. //
  27854. //
  27855. // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  27856. // or a protocol number).
  27857. //
  27858. // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
  27859. //
  27860. // * entry.rule-number - The number of an entry (in other words, rule) in
  27861. // the ACL's set of entries.
  27862. //
  27863. // * network-acl-id - The ID of the network ACL.
  27864. //
  27865. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  27866. // Specify the key of the tag in the filter name and the value of the tag
  27867. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  27868. // for the filter name and X for the filter value.
  27869. //
  27870. // * tag-key - The key of a tag assigned to the resource. This filter is
  27871. // independent of the tag-value filter. For example, if you use both the
  27872. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  27873. // assigned both the tag key Purpose (regardless of what the tag's value
  27874. // is), and the tag value X (regardless of what the tag's key is). If you
  27875. // want to list only resources where Purpose is X, see the tag:key=value
  27876. // filter.
  27877. //
  27878. // * tag-value - The value of a tag assigned to the resource. This filter
  27879. // is independent of the tag-key filter.
  27880. //
  27881. // * vpc-id - The ID of the VPC for the network ACL.
  27882. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27883. // One or more network ACL IDs.
  27884. //
  27885. // Default: Describes all your network ACLs.
  27886. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  27887. }
  27888. // String returns the string representation
  27889. func (s DescribeNetworkAclsInput) String() string {
  27890. return awsutil.Prettify(s)
  27891. }
  27892. // GoString returns the string representation
  27893. func (s DescribeNetworkAclsInput) GoString() string {
  27894. return s.String()
  27895. }
  27896. // SetDryRun sets the DryRun field's value.
  27897. func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
  27898. s.DryRun = &v
  27899. return s
  27900. }
  27901. // SetFilters sets the Filters field's value.
  27902. func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
  27903. s.Filters = v
  27904. return s
  27905. }
  27906. // SetNetworkAclIds sets the NetworkAclIds field's value.
  27907. func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
  27908. s.NetworkAclIds = v
  27909. return s
  27910. }
  27911. // Contains the output of DescribeNetworkAcls.
  27912. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAclsResult
  27913. type DescribeNetworkAclsOutput struct {
  27914. _ struct{} `type:"structure"`
  27915. // Information about one or more network ACLs.
  27916. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  27917. }
  27918. // String returns the string representation
  27919. func (s DescribeNetworkAclsOutput) String() string {
  27920. return awsutil.Prettify(s)
  27921. }
  27922. // GoString returns the string representation
  27923. func (s DescribeNetworkAclsOutput) GoString() string {
  27924. return s.String()
  27925. }
  27926. // SetNetworkAcls sets the NetworkAcls field's value.
  27927. func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
  27928. s.NetworkAcls = v
  27929. return s
  27930. }
  27931. // Contains the parameters for DescribeNetworkInterfaceAttribute.
  27932. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttributeRequest
  27933. type DescribeNetworkInterfaceAttributeInput struct {
  27934. _ struct{} `type:"structure"`
  27935. // The attribute of the network interface.
  27936. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  27937. // Checks whether you have the required permissions for the action, without
  27938. // actually making the request, and provides an error response. If you have
  27939. // the required permissions, the error response is DryRunOperation. Otherwise,
  27940. // it is UnauthorizedOperation.
  27941. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27942. // The ID of the network interface.
  27943. //
  27944. // NetworkInterfaceId is a required field
  27945. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  27946. }
  27947. // String returns the string representation
  27948. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  27949. return awsutil.Prettify(s)
  27950. }
  27951. // GoString returns the string representation
  27952. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  27953. return s.String()
  27954. }
  27955. // Validate inspects the fields of the type to determine if they are valid.
  27956. func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
  27957. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
  27958. if s.NetworkInterfaceId == nil {
  27959. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  27960. }
  27961. if invalidParams.Len() > 0 {
  27962. return invalidParams
  27963. }
  27964. return nil
  27965. }
  27966. // SetAttribute sets the Attribute field's value.
  27967. func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
  27968. s.Attribute = &v
  27969. return s
  27970. }
  27971. // SetDryRun sets the DryRun field's value.
  27972. func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
  27973. s.DryRun = &v
  27974. return s
  27975. }
  27976. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  27977. func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
  27978. s.NetworkInterfaceId = &v
  27979. return s
  27980. }
  27981. // Contains the output of DescribeNetworkInterfaceAttribute.
  27982. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttributeResult
  27983. type DescribeNetworkInterfaceAttributeOutput struct {
  27984. _ struct{} `type:"structure"`
  27985. // The attachment (if any) of the network interface.
  27986. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  27987. // The description of the network interface.
  27988. Description *AttributeValue `locationName:"description" type:"structure"`
  27989. // The security groups associated with the network interface.
  27990. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  27991. // The ID of the network interface.
  27992. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  27993. // Indicates whether source/destination checking is enabled.
  27994. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  27995. }
  27996. // String returns the string representation
  27997. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  27998. return awsutil.Prettify(s)
  27999. }
  28000. // GoString returns the string representation
  28001. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  28002. return s.String()
  28003. }
  28004. // SetAttachment sets the Attachment field's value.
  28005. func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
  28006. s.Attachment = v
  28007. return s
  28008. }
  28009. // SetDescription sets the Description field's value.
  28010. func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
  28011. s.Description = v
  28012. return s
  28013. }
  28014. // SetGroups sets the Groups field's value.
  28015. func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
  28016. s.Groups = v
  28017. return s
  28018. }
  28019. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  28020. func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
  28021. s.NetworkInterfaceId = &v
  28022. return s
  28023. }
  28024. // SetSourceDestCheck sets the SourceDestCheck field's value.
  28025. func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
  28026. s.SourceDestCheck = v
  28027. return s
  28028. }
  28029. // Contains the parameters for DescribeNetworkInterfaces.
  28030. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesRequest
  28031. type DescribeNetworkInterfacesInput struct {
  28032. _ struct{} `type:"structure"`
  28033. // Checks whether you have the required permissions for the action, without
  28034. // actually making the request, and provides an error response. If you have
  28035. // the required permissions, the error response is DryRunOperation. Otherwise,
  28036. // it is UnauthorizedOperation.
  28037. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28038. // One or more filters.
  28039. //
  28040. // * addresses.private-ip-address - The private IPv4 addresses associated
  28041. // with the network interface.
  28042. //
  28043. // * addresses.primary - Whether the private IPv4 address is the primary
  28044. // IP address associated with the network interface.
  28045. //
  28046. // * addresses.association.public-ip - The association ID returned when the
  28047. // network interface was associated with the Elastic IP address (IPv4).
  28048. //
  28049. // * addresses.association.owner-id - The owner ID of the addresses associated
  28050. // with the network interface.
  28051. //
  28052. // * association.association-id - The association ID returned when the network
  28053. // interface was associated with an IPv4 address.
  28054. //
  28055. // * association.allocation-id - The allocation ID returned when you allocated
  28056. // the Elastic IP address (IPv4) for your network interface.
  28057. //
  28058. // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
  28059. // associated with the network interface.
  28060. //
  28061. // * association.public-ip - The address of the Elastic IP address (IPv4)
  28062. // bound to the network interface.
  28063. //
  28064. // * association.public-dns-name - The public DNS name for the network interface
  28065. // (IPv4).
  28066. //
  28067. // * attachment.attachment-id - The ID of the interface attachment.
  28068. //
  28069. // * attachment.attach.time - The time that the network interface was attached
  28070. // to an instance.
  28071. //
  28072. // * attachment.delete-on-termination - Indicates whether the attachment
  28073. // is deleted when an instance is terminated.
  28074. //
  28075. // * attachment.device-index - The device index to which the network interface
  28076. // is attached.
  28077. //
  28078. // * attachment.instance-id - The ID of the instance to which the network
  28079. // interface is attached.
  28080. //
  28081. // * attachment.instance-owner-id - The owner ID of the instance to which
  28082. // the network interface is attached.
  28083. //
  28084. // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
  28085. // interface is attached.
  28086. //
  28087. // * attachment.status - The status of the attachment (attaching | attached
  28088. // | detaching | detached).
  28089. //
  28090. // * availability-zone - The Availability Zone of the network interface.
  28091. //
  28092. // * description - The description of the network interface.
  28093. //
  28094. // * group-id - The ID of a security group associated with the network interface.
  28095. //
  28096. // * group-name - The name of a security group associated with the network
  28097. // interface.
  28098. //
  28099. // * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
  28100. // interface.
  28101. //
  28102. // * mac-address - The MAC address of the network interface.
  28103. //
  28104. // * network-interface-id - The ID of the network interface.
  28105. //
  28106. // * owner-id - The AWS account ID of the network interface owner.
  28107. //
  28108. // * private-ip-address - The private IPv4 address or addresses of the network
  28109. // interface.
  28110. //
  28111. // * private-dns-name - The private DNS name of the network interface (IPv4).
  28112. //
  28113. // * requester-id - The ID of the entity that launched the instance on your
  28114. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  28115. //
  28116. // * requester-managed - Indicates whether the network interface is being
  28117. // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
  28118. // and so on).
  28119. //
  28120. // * source-desk-check - Indicates whether the network interface performs
  28121. // source/destination checking. A value of true means checking is enabled,
  28122. // and false means checking is disabled. The value must be false for the
  28123. // network interface to perform network address translation (NAT) in your
  28124. // VPC.
  28125. //
  28126. // * status - The status of the network interface. If the network interface
  28127. // is not attached to an instance, the status is available; if a network
  28128. // interface is attached to an instance the status is in-use.
  28129. //
  28130. // * subnet-id - The ID of the subnet for the network interface.
  28131. //
  28132. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  28133. // Specify the key of the tag in the filter name and the value of the tag
  28134. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  28135. // for the filter name and X for the filter value.
  28136. //
  28137. // * tag-key - The key of a tag assigned to the resource. This filter is
  28138. // independent of the tag-value filter. For example, if you use both the
  28139. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  28140. // assigned both the tag key Purpose (regardless of what the tag's value
  28141. // is), and the tag value X (regardless of what the tag's key is). If you
  28142. // want to list only resources where Purpose is X, see the tag:key=value
  28143. // filter.
  28144. //
  28145. // * tag-value - The value of a tag assigned to the resource. This filter
  28146. // is independent of the tag-key filter.
  28147. //
  28148. // * vpc-id - The ID of the VPC for the network interface.
  28149. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  28150. // One or more network interface IDs.
  28151. //
  28152. // Default: Describes all your network interfaces.
  28153. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  28154. }
  28155. // String returns the string representation
  28156. func (s DescribeNetworkInterfacesInput) String() string {
  28157. return awsutil.Prettify(s)
  28158. }
  28159. // GoString returns the string representation
  28160. func (s DescribeNetworkInterfacesInput) GoString() string {
  28161. return s.String()
  28162. }
  28163. // SetDryRun sets the DryRun field's value.
  28164. func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
  28165. s.DryRun = &v
  28166. return s
  28167. }
  28168. // SetFilters sets the Filters field's value.
  28169. func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
  28170. s.Filters = v
  28171. return s
  28172. }
  28173. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  28174. func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
  28175. s.NetworkInterfaceIds = v
  28176. return s
  28177. }
  28178. // Contains the output of DescribeNetworkInterfaces.
  28179. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesResult
  28180. type DescribeNetworkInterfacesOutput struct {
  28181. _ struct{} `type:"structure"`
  28182. // Information about one or more network interfaces.
  28183. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  28184. }
  28185. // String returns the string representation
  28186. func (s DescribeNetworkInterfacesOutput) String() string {
  28187. return awsutil.Prettify(s)
  28188. }
  28189. // GoString returns the string representation
  28190. func (s DescribeNetworkInterfacesOutput) GoString() string {
  28191. return s.String()
  28192. }
  28193. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  28194. func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
  28195. s.NetworkInterfaces = v
  28196. return s
  28197. }
  28198. // Contains the parameters for DescribePlacementGroups.
  28199. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroupsRequest
  28200. type DescribePlacementGroupsInput struct {
  28201. _ struct{} `type:"structure"`
  28202. // Checks whether you have the required permissions for the action, without
  28203. // actually making the request, and provides an error response. If you have
  28204. // the required permissions, the error response is DryRunOperation. Otherwise,
  28205. // it is UnauthorizedOperation.
  28206. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28207. // One or more filters.
  28208. //
  28209. // * group-name - The name of the placement group.
  28210. //
  28211. // * state - The state of the placement group (pending | available | deleting
  28212. // | deleted).
  28213. //
  28214. // * strategy - The strategy of the placement group (cluster).
  28215. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28216. // One or more placement group names.
  28217. //
  28218. // Default: Describes all your placement groups, or only those otherwise specified.
  28219. GroupNames []*string `locationName:"groupName" type:"list"`
  28220. }
  28221. // String returns the string representation
  28222. func (s DescribePlacementGroupsInput) String() string {
  28223. return awsutil.Prettify(s)
  28224. }
  28225. // GoString returns the string representation
  28226. func (s DescribePlacementGroupsInput) GoString() string {
  28227. return s.String()
  28228. }
  28229. // SetDryRun sets the DryRun field's value.
  28230. func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
  28231. s.DryRun = &v
  28232. return s
  28233. }
  28234. // SetFilters sets the Filters field's value.
  28235. func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
  28236. s.Filters = v
  28237. return s
  28238. }
  28239. // SetGroupNames sets the GroupNames field's value.
  28240. func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
  28241. s.GroupNames = v
  28242. return s
  28243. }
  28244. // Contains the output of DescribePlacementGroups.
  28245. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroupsResult
  28246. type DescribePlacementGroupsOutput struct {
  28247. _ struct{} `type:"structure"`
  28248. // One or more placement groups.
  28249. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  28250. }
  28251. // String returns the string representation
  28252. func (s DescribePlacementGroupsOutput) String() string {
  28253. return awsutil.Prettify(s)
  28254. }
  28255. // GoString returns the string representation
  28256. func (s DescribePlacementGroupsOutput) GoString() string {
  28257. return s.String()
  28258. }
  28259. // SetPlacementGroups sets the PlacementGroups field's value.
  28260. func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
  28261. s.PlacementGroups = v
  28262. return s
  28263. }
  28264. // Contains the parameters for DescribePrefixLists.
  28265. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixListsRequest
  28266. type DescribePrefixListsInput struct {
  28267. _ struct{} `type:"structure"`
  28268. // Checks whether you have the required permissions for the action, without
  28269. // actually making the request, and provides an error response. If you have
  28270. // the required permissions, the error response is DryRunOperation. Otherwise,
  28271. // it is UnauthorizedOperation.
  28272. DryRun *bool `type:"boolean"`
  28273. // One or more filters.
  28274. //
  28275. // * prefix-list-id: The ID of a prefix list.
  28276. //
  28277. // * prefix-list-name: The name of a prefix list.
  28278. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28279. // The maximum number of items to return for this request. The request returns
  28280. // a token that you can specify in a subsequent call to get the next set of
  28281. // results.
  28282. //
  28283. // Constraint: If the value specified is greater than 1000, we return only 1000
  28284. // items.
  28285. MaxResults *int64 `type:"integer"`
  28286. // The token for the next set of items to return. (You received this token from
  28287. // a prior call.)
  28288. NextToken *string `type:"string"`
  28289. // One or more prefix list IDs.
  28290. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  28291. }
  28292. // String returns the string representation
  28293. func (s DescribePrefixListsInput) String() string {
  28294. return awsutil.Prettify(s)
  28295. }
  28296. // GoString returns the string representation
  28297. func (s DescribePrefixListsInput) GoString() string {
  28298. return s.String()
  28299. }
  28300. // SetDryRun sets the DryRun field's value.
  28301. func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
  28302. s.DryRun = &v
  28303. return s
  28304. }
  28305. // SetFilters sets the Filters field's value.
  28306. func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
  28307. s.Filters = v
  28308. return s
  28309. }
  28310. // SetMaxResults sets the MaxResults field's value.
  28311. func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
  28312. s.MaxResults = &v
  28313. return s
  28314. }
  28315. // SetNextToken sets the NextToken field's value.
  28316. func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
  28317. s.NextToken = &v
  28318. return s
  28319. }
  28320. // SetPrefixListIds sets the PrefixListIds field's value.
  28321. func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
  28322. s.PrefixListIds = v
  28323. return s
  28324. }
  28325. // Contains the output of DescribePrefixLists.
  28326. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixListsResult
  28327. type DescribePrefixListsOutput struct {
  28328. _ struct{} `type:"structure"`
  28329. // The token to use when requesting the next set of items. If there are no additional
  28330. // items to return, the string is empty.
  28331. NextToken *string `locationName:"nextToken" type:"string"`
  28332. // All available prefix lists.
  28333. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  28334. }
  28335. // String returns the string representation
  28336. func (s DescribePrefixListsOutput) String() string {
  28337. return awsutil.Prettify(s)
  28338. }
  28339. // GoString returns the string representation
  28340. func (s DescribePrefixListsOutput) GoString() string {
  28341. return s.String()
  28342. }
  28343. // SetNextToken sets the NextToken field's value.
  28344. func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
  28345. s.NextToken = &v
  28346. return s
  28347. }
  28348. // SetPrefixLists sets the PrefixLists field's value.
  28349. func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
  28350. s.PrefixLists = v
  28351. return s
  28352. }
  28353. // Contains the parameters for DescribeRegions.
  28354. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegionsRequest
  28355. type DescribeRegionsInput struct {
  28356. _ struct{} `type:"structure"`
  28357. // Checks whether you have the required permissions for the action, without
  28358. // actually making the request, and provides an error response. If you have
  28359. // the required permissions, the error response is DryRunOperation. Otherwise,
  28360. // it is UnauthorizedOperation.
  28361. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28362. // One or more filters.
  28363. //
  28364. // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
  28365. //
  28366. // * region-name - The name of the region (for example, us-east-1).
  28367. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28368. // The names of one or more regions.
  28369. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  28370. }
  28371. // String returns the string representation
  28372. func (s DescribeRegionsInput) String() string {
  28373. return awsutil.Prettify(s)
  28374. }
  28375. // GoString returns the string representation
  28376. func (s DescribeRegionsInput) GoString() string {
  28377. return s.String()
  28378. }
  28379. // SetDryRun sets the DryRun field's value.
  28380. func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
  28381. s.DryRun = &v
  28382. return s
  28383. }
  28384. // SetFilters sets the Filters field's value.
  28385. func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
  28386. s.Filters = v
  28387. return s
  28388. }
  28389. // SetRegionNames sets the RegionNames field's value.
  28390. func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
  28391. s.RegionNames = v
  28392. return s
  28393. }
  28394. // Contains the output of DescribeRegions.
  28395. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegionsResult
  28396. type DescribeRegionsOutput struct {
  28397. _ struct{} `type:"structure"`
  28398. // Information about one or more regions.
  28399. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  28400. }
  28401. // String returns the string representation
  28402. func (s DescribeRegionsOutput) String() string {
  28403. return awsutil.Prettify(s)
  28404. }
  28405. // GoString returns the string representation
  28406. func (s DescribeRegionsOutput) GoString() string {
  28407. return s.String()
  28408. }
  28409. // SetRegions sets the Regions field's value.
  28410. func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
  28411. s.Regions = v
  28412. return s
  28413. }
  28414. // Contains the parameters for DescribeReservedInstances.
  28415. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesRequest
  28416. type DescribeReservedInstancesInput struct {
  28417. _ struct{} `type:"structure"`
  28418. // Checks whether you have the required permissions for the action, without
  28419. // actually making the request, and provides an error response. If you have
  28420. // the required permissions, the error response is DryRunOperation. Otherwise,
  28421. // it is UnauthorizedOperation.
  28422. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28423. // One or more filters.
  28424. //
  28425. // * availability-zone - The Availability Zone where the Reserved Instance
  28426. // can be used.
  28427. //
  28428. // * duration - The duration of the Reserved Instance (one year or three
  28429. // years), in seconds (31536000 | 94608000).
  28430. //
  28431. // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  28432. //
  28433. // * fixed-price - The purchase price of the Reserved Instance (for example,
  28434. // 9800.0).
  28435. //
  28436. // * instance-type - The instance type that is covered by the reservation.
  28437. //
  28438. // * scope - The scope of the Reserved Instance (Region or Availability Zone).
  28439. //
  28440. // * product-description - The Reserved Instance product platform description.
  28441. // Instances that include (Amazon VPC) in the product platform description
  28442. // will only be displayed to EC2-Classic account holders and are for use
  28443. // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
  28444. // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
  28445. // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
  28446. // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
  28447. // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
  28448. // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
  28449. //
  28450. // * reserved-instances-id - The ID of the Reserved Instance.
  28451. //
  28452. // * start - The time at which the Reserved Instance purchase request was
  28453. // placed (for example, 2014-08-07T11:54:42.000Z).
  28454. //
  28455. // * state - The state of the Reserved Instance (payment-pending | active
  28456. // | payment-failed | retired).
  28457. //
  28458. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  28459. // Specify the key of the tag in the filter name and the value of the tag
  28460. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  28461. // for the filter name and X for the filter value.
  28462. //
  28463. // * tag-key - The key of a tag assigned to the resource. This filter is
  28464. // independent of the tag-value filter. For example, if you use both the
  28465. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  28466. // assigned both the tag key Purpose (regardless of what the tag's value
  28467. // is), and the tag value X (regardless of what the tag's key is). If you
  28468. // want to list only resources where Purpose is X, see the tag:key=value
  28469. // filter.
  28470. //
  28471. // * tag-value - The value of a tag assigned to the resource. This filter
  28472. // is independent of the tag-key filter.
  28473. //
  28474. // * usage-price - The usage price of the Reserved Instance, per hour (for
  28475. // example, 0.84).
  28476. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28477. // Describes whether the Reserved Instance is Standard or Convertible.
  28478. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  28479. // The Reserved Instance offering type. If you are using tools that predate
  28480. // the 2011-11-01 API version, you only have access to the Medium Utilization
  28481. // Reserved Instance offering type.
  28482. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  28483. // One or more Reserved Instance IDs.
  28484. //
  28485. // Default: Describes all your Reserved Instances, or only those otherwise specified.
  28486. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  28487. }
  28488. // String returns the string representation
  28489. func (s DescribeReservedInstancesInput) String() string {
  28490. return awsutil.Prettify(s)
  28491. }
  28492. // GoString returns the string representation
  28493. func (s DescribeReservedInstancesInput) GoString() string {
  28494. return s.String()
  28495. }
  28496. // SetDryRun sets the DryRun field's value.
  28497. func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
  28498. s.DryRun = &v
  28499. return s
  28500. }
  28501. // SetFilters sets the Filters field's value.
  28502. func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
  28503. s.Filters = v
  28504. return s
  28505. }
  28506. // SetOfferingClass sets the OfferingClass field's value.
  28507. func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
  28508. s.OfferingClass = &v
  28509. return s
  28510. }
  28511. // SetOfferingType sets the OfferingType field's value.
  28512. func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
  28513. s.OfferingType = &v
  28514. return s
  28515. }
  28516. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  28517. func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
  28518. s.ReservedInstancesIds = v
  28519. return s
  28520. }
  28521. // Contains the parameters for DescribeReservedInstancesListings.
  28522. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListingsRequest
  28523. type DescribeReservedInstancesListingsInput struct {
  28524. _ struct{} `type:"structure"`
  28525. // One or more filters.
  28526. //
  28527. // * reserved-instances-id - The ID of the Reserved Instances.
  28528. //
  28529. // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
  28530. //
  28531. // * status - The status of the Reserved Instance listing (pending | active
  28532. // | cancelled | closed).
  28533. //
  28534. // * status-message - The reason for the status.
  28535. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28536. // One or more Reserved Instance IDs.
  28537. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  28538. // One or more Reserved Instance listing IDs.
  28539. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  28540. }
  28541. // String returns the string representation
  28542. func (s DescribeReservedInstancesListingsInput) String() string {
  28543. return awsutil.Prettify(s)
  28544. }
  28545. // GoString returns the string representation
  28546. func (s DescribeReservedInstancesListingsInput) GoString() string {
  28547. return s.String()
  28548. }
  28549. // SetFilters sets the Filters field's value.
  28550. func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
  28551. s.Filters = v
  28552. return s
  28553. }
  28554. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  28555. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
  28556. s.ReservedInstancesId = &v
  28557. return s
  28558. }
  28559. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  28560. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
  28561. s.ReservedInstancesListingId = &v
  28562. return s
  28563. }
  28564. // Contains the output of DescribeReservedInstancesListings.
  28565. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListingsResult
  28566. type DescribeReservedInstancesListingsOutput struct {
  28567. _ struct{} `type:"structure"`
  28568. // Information about the Reserved Instance listing.
  28569. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  28570. }
  28571. // String returns the string representation
  28572. func (s DescribeReservedInstancesListingsOutput) String() string {
  28573. return awsutil.Prettify(s)
  28574. }
  28575. // GoString returns the string representation
  28576. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  28577. return s.String()
  28578. }
  28579. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  28580. func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
  28581. s.ReservedInstancesListings = v
  28582. return s
  28583. }
  28584. // Contains the parameters for DescribeReservedInstancesModifications.
  28585. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModificationsRequest
  28586. type DescribeReservedInstancesModificationsInput struct {
  28587. _ struct{} `type:"structure"`
  28588. // One or more filters.
  28589. //
  28590. // * client-token - The idempotency token for the modification request.
  28591. //
  28592. // * create-date - The time when the modification request was created.
  28593. //
  28594. // * effective-date - The time when the modification becomes effective.
  28595. //
  28596. // * modification-result.reserved-instances-id - The ID for the Reserved
  28597. // Instances created as part of the modification request. This ID is only
  28598. // available when the status of the modification is fulfilled.
  28599. //
  28600. // * modification-result.target-configuration.availability-zone - The Availability
  28601. // Zone for the new Reserved Instances.
  28602. //
  28603. // * modification-result.target-configuration.instance-count - The number
  28604. // of new Reserved Instances.
  28605. //
  28606. // * modification-result.target-configuration.instance-type - The instance
  28607. // type of the new Reserved Instances.
  28608. //
  28609. // * modification-result.target-configuration.platform - The network platform
  28610. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  28611. //
  28612. // * reserved-instances-id - The ID of the Reserved Instances modified.
  28613. //
  28614. // * reserved-instances-modification-id - The ID of the modification request.
  28615. //
  28616. // * status - The status of the Reserved Instances modification request (processing
  28617. // | fulfilled | failed).
  28618. //
  28619. // * status-message - The reason for the status.
  28620. //
  28621. // * update-date - The time when the modification request was last updated.
  28622. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28623. // The token to retrieve the next page of results.
  28624. NextToken *string `locationName:"nextToken" type:"string"`
  28625. // IDs for the submitted modification request.
  28626. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  28627. }
  28628. // String returns the string representation
  28629. func (s DescribeReservedInstancesModificationsInput) String() string {
  28630. return awsutil.Prettify(s)
  28631. }
  28632. // GoString returns the string representation
  28633. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  28634. return s.String()
  28635. }
  28636. // SetFilters sets the Filters field's value.
  28637. func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
  28638. s.Filters = v
  28639. return s
  28640. }
  28641. // SetNextToken sets the NextToken field's value.
  28642. func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
  28643. s.NextToken = &v
  28644. return s
  28645. }
  28646. // SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
  28647. func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
  28648. s.ReservedInstancesModificationIds = v
  28649. return s
  28650. }
  28651. // Contains the output of DescribeReservedInstancesModifications.
  28652. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModificationsResult
  28653. type DescribeReservedInstancesModificationsOutput struct {
  28654. _ struct{} `type:"structure"`
  28655. // The token to use to retrieve the next page of results. This value is null
  28656. // when there are no more results to return.
  28657. NextToken *string `locationName:"nextToken" type:"string"`
  28658. // The Reserved Instance modification information.
  28659. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  28660. }
  28661. // String returns the string representation
  28662. func (s DescribeReservedInstancesModificationsOutput) String() string {
  28663. return awsutil.Prettify(s)
  28664. }
  28665. // GoString returns the string representation
  28666. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  28667. return s.String()
  28668. }
  28669. // SetNextToken sets the NextToken field's value.
  28670. func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
  28671. s.NextToken = &v
  28672. return s
  28673. }
  28674. // SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
  28675. func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
  28676. s.ReservedInstancesModifications = v
  28677. return s
  28678. }
  28679. // Contains the parameters for DescribeReservedInstancesOfferings.
  28680. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferingsRequest
  28681. type DescribeReservedInstancesOfferingsInput struct {
  28682. _ struct{} `type:"structure"`
  28683. // The Availability Zone in which the Reserved Instance can be used.
  28684. AvailabilityZone *string `type:"string"`
  28685. // Checks whether you have the required permissions for the action, without
  28686. // actually making the request, and provides an error response. If you have
  28687. // the required permissions, the error response is DryRunOperation. Otherwise,
  28688. // it is UnauthorizedOperation.
  28689. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28690. // One or more filters.
  28691. //
  28692. // * availability-zone - The Availability Zone where the Reserved Instance
  28693. // can be used.
  28694. //
  28695. // * duration - The duration of the Reserved Instance (for example, one year
  28696. // or three years), in seconds (31536000 | 94608000).
  28697. //
  28698. // * fixed-price - The purchase price of the Reserved Instance (for example,
  28699. // 9800.0).
  28700. //
  28701. // * instance-type - The instance type that is covered by the reservation.
  28702. //
  28703. // * marketplace - Set to true to show only Reserved Instance Marketplace
  28704. // offerings. When this filter is not used, which is the default behavior,
  28705. // all offerings from both AWS and the Reserved Instance Marketplace are
  28706. // listed.
  28707. //
  28708. // * product-description - The Reserved Instance product platform description.
  28709. // Instances that include (Amazon VPC) in the product platform description
  28710. // will only be displayed to EC2-Classic account holders and are for use
  28711. // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
  28712. // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
  28713. // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
  28714. // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
  28715. // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
  28716. // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
  28717. // VPC))
  28718. //
  28719. // * reserved-instances-offering-id - The Reserved Instances offering ID.
  28720. //
  28721. // * scope - The scope of the Reserved Instance (Availability Zone or Region).
  28722. //
  28723. // * usage-price - The usage price of the Reserved Instance, per hour (for
  28724. // example, 0.84).
  28725. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28726. // Include Reserved Instance Marketplace offerings in the response.
  28727. IncludeMarketplace *bool `type:"boolean"`
  28728. // The tenancy of the instances covered by the reservation. A Reserved Instance
  28729. // with a tenancy of dedicated is applied to instances that run in a VPC on
  28730. // single-tenant hardware (i.e., Dedicated Instances).
  28731. //
  28732. // Default: default
  28733. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  28734. // The instance type that the reservation will cover (for example, m1.small).
  28735. // For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  28736. // in the Amazon Elastic Compute Cloud User Guide.
  28737. InstanceType *string `type:"string" enum:"InstanceType"`
  28738. // The maximum duration (in seconds) to filter when searching for offerings.
  28739. //
  28740. // Default: 94608000 (3 years)
  28741. MaxDuration *int64 `type:"long"`
  28742. // The maximum number of instances to filter when searching for offerings.
  28743. //
  28744. // Default: 20
  28745. MaxInstanceCount *int64 `type:"integer"`
  28746. // The maximum number of results to return for the request in a single page.
  28747. // The remaining results of the initial request can be seen by sending another
  28748. // request with the returned NextToken value. The maximum is 100.
  28749. //
  28750. // Default: 100
  28751. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  28752. // The minimum duration (in seconds) to filter when searching for offerings.
  28753. //
  28754. // Default: 2592000 (1 month)
  28755. MinDuration *int64 `type:"long"`
  28756. // The token to retrieve the next page of results.
  28757. NextToken *string `locationName:"nextToken" type:"string"`
  28758. // The offering class of the Reserved Instance. Can be standard or convertible.
  28759. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  28760. // The Reserved Instance offering type. If you are using tools that predate
  28761. // the 2011-11-01 API version, you only have access to the Medium Utilization
  28762. // Reserved Instance offering type.
  28763. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  28764. // The Reserved Instance product platform description. Instances that include
  28765. // (Amazon VPC) in the description are for use with Amazon VPC.
  28766. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  28767. // One or more Reserved Instances offering IDs.
  28768. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  28769. }
  28770. // String returns the string representation
  28771. func (s DescribeReservedInstancesOfferingsInput) String() string {
  28772. return awsutil.Prettify(s)
  28773. }
  28774. // GoString returns the string representation
  28775. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  28776. return s.String()
  28777. }
  28778. // SetAvailabilityZone sets the AvailabilityZone field's value.
  28779. func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
  28780. s.AvailabilityZone = &v
  28781. return s
  28782. }
  28783. // SetDryRun sets the DryRun field's value.
  28784. func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
  28785. s.DryRun = &v
  28786. return s
  28787. }
  28788. // SetFilters sets the Filters field's value.
  28789. func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
  28790. s.Filters = v
  28791. return s
  28792. }
  28793. // SetIncludeMarketplace sets the IncludeMarketplace field's value.
  28794. func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
  28795. s.IncludeMarketplace = &v
  28796. return s
  28797. }
  28798. // SetInstanceTenancy sets the InstanceTenancy field's value.
  28799. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
  28800. s.InstanceTenancy = &v
  28801. return s
  28802. }
  28803. // SetInstanceType sets the InstanceType field's value.
  28804. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
  28805. s.InstanceType = &v
  28806. return s
  28807. }
  28808. // SetMaxDuration sets the MaxDuration field's value.
  28809. func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  28810. s.MaxDuration = &v
  28811. return s
  28812. }
  28813. // SetMaxInstanceCount sets the MaxInstanceCount field's value.
  28814. func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
  28815. s.MaxInstanceCount = &v
  28816. return s
  28817. }
  28818. // SetMaxResults sets the MaxResults field's value.
  28819. func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
  28820. s.MaxResults = &v
  28821. return s
  28822. }
  28823. // SetMinDuration sets the MinDuration field's value.
  28824. func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  28825. s.MinDuration = &v
  28826. return s
  28827. }
  28828. // SetNextToken sets the NextToken field's value.
  28829. func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
  28830. s.NextToken = &v
  28831. return s
  28832. }
  28833. // SetOfferingClass sets the OfferingClass field's value.
  28834. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
  28835. s.OfferingClass = &v
  28836. return s
  28837. }
  28838. // SetOfferingType sets the OfferingType field's value.
  28839. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
  28840. s.OfferingType = &v
  28841. return s
  28842. }
  28843. // SetProductDescription sets the ProductDescription field's value.
  28844. func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
  28845. s.ProductDescription = &v
  28846. return s
  28847. }
  28848. // SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
  28849. func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
  28850. s.ReservedInstancesOfferingIds = v
  28851. return s
  28852. }
  28853. // Contains the output of DescribeReservedInstancesOfferings.
  28854. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferingsResult
  28855. type DescribeReservedInstancesOfferingsOutput struct {
  28856. _ struct{} `type:"structure"`
  28857. // The token to use to retrieve the next page of results. This value is null
  28858. // when there are no more results to return.
  28859. NextToken *string `locationName:"nextToken" type:"string"`
  28860. // A list of Reserved Instances offerings.
  28861. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  28862. }
  28863. // String returns the string representation
  28864. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  28865. return awsutil.Prettify(s)
  28866. }
  28867. // GoString returns the string representation
  28868. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  28869. return s.String()
  28870. }
  28871. // SetNextToken sets the NextToken field's value.
  28872. func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
  28873. s.NextToken = &v
  28874. return s
  28875. }
  28876. // SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
  28877. func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
  28878. s.ReservedInstancesOfferings = v
  28879. return s
  28880. }
  28881. // Contains the output for DescribeReservedInstances.
  28882. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesResult
  28883. type DescribeReservedInstancesOutput struct {
  28884. _ struct{} `type:"structure"`
  28885. // A list of Reserved Instances.
  28886. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  28887. }
  28888. // String returns the string representation
  28889. func (s DescribeReservedInstancesOutput) String() string {
  28890. return awsutil.Prettify(s)
  28891. }
  28892. // GoString returns the string representation
  28893. func (s DescribeReservedInstancesOutput) GoString() string {
  28894. return s.String()
  28895. }
  28896. // SetReservedInstances sets the ReservedInstances field's value.
  28897. func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
  28898. s.ReservedInstances = v
  28899. return s
  28900. }
  28901. // Contains the parameters for DescribeRouteTables.
  28902. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTablesRequest
  28903. type DescribeRouteTablesInput struct {
  28904. _ struct{} `type:"structure"`
  28905. // Checks whether you have the required permissions for the action, without
  28906. // actually making the request, and provides an error response. If you have
  28907. // the required permissions, the error response is DryRunOperation. Otherwise,
  28908. // it is UnauthorizedOperation.
  28909. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28910. // One or more filters.
  28911. //
  28912. // * association.route-table-association-id - The ID of an association ID
  28913. // for the route table.
  28914. //
  28915. // * association.route-table-id - The ID of the route table involved in the
  28916. // association.
  28917. //
  28918. // * association.subnet-id - The ID of the subnet involved in the association.
  28919. //
  28920. // * association.main - Indicates whether the route table is the main route
  28921. // table for the VPC (true | false).
  28922. //
  28923. // * route-table-id - The ID of the route table.
  28924. //
  28925. // * route.destination-cidr-block - The IPv4 CIDR range specified in a route
  28926. // in the table.
  28927. //
  28928. // * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
  28929. // a route in the route table.
  28930. //
  28931. // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
  28932. // specified in a route in the table.
  28933. //
  28934. // * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
  28935. // gateway specified in a route in the route table.
  28936. //
  28937. // * route.gateway-id - The ID of a gateway specified in a route in the table.
  28938. //
  28939. // * route.instance-id - The ID of an instance specified in a route in the
  28940. // table.
  28941. //
  28942. // * route.nat-gateway-id - The ID of a NAT gateway.
  28943. //
  28944. // * route.origin - Describes how the route was created. CreateRouteTable
  28945. // indicates that the route was automatically created when the route table
  28946. // was created; CreateRoute indicates that the route was manually added to
  28947. // the route table; EnableVgwRoutePropagation indicates that the route was
  28948. // propagated by route propagation.
  28949. //
  28950. // * route.state - The state of a route in the route table (active | blackhole).
  28951. // The blackhole state indicates that the route's target isn't available
  28952. // (for example, the specified gateway isn't attached to the VPC, the specified
  28953. // NAT instance has been terminated, and so on).
  28954. //
  28955. // * route.vpc-peering-connection-id - The ID of a VPC peering connection
  28956. // specified in a route in the table.
  28957. //
  28958. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  28959. // Specify the key of the tag in the filter name and the value of the tag
  28960. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  28961. // for the filter name and X for the filter value.
  28962. //
  28963. // * tag-key - The key of a tag assigned to the resource. This filter is
  28964. // independent of the tag-value filter. For example, if you use both the
  28965. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  28966. // assigned both the tag key Purpose (regardless of what the tag's value
  28967. // is), and the tag value X (regardless of what the tag's key is). If you
  28968. // want to list only resources where Purpose is X, see the tag:key=value
  28969. // filter.
  28970. //
  28971. // * tag-value - The value of a tag assigned to the resource. This filter
  28972. // is independent of the tag-key filter.
  28973. //
  28974. // * vpc-id - The ID of the VPC for the route table.
  28975. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28976. // One or more route table IDs.
  28977. //
  28978. // Default: Describes all your route tables.
  28979. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  28980. }
  28981. // String returns the string representation
  28982. func (s DescribeRouteTablesInput) String() string {
  28983. return awsutil.Prettify(s)
  28984. }
  28985. // GoString returns the string representation
  28986. func (s DescribeRouteTablesInput) GoString() string {
  28987. return s.String()
  28988. }
  28989. // SetDryRun sets the DryRun field's value.
  28990. func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
  28991. s.DryRun = &v
  28992. return s
  28993. }
  28994. // SetFilters sets the Filters field's value.
  28995. func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
  28996. s.Filters = v
  28997. return s
  28998. }
  28999. // SetRouteTableIds sets the RouteTableIds field's value.
  29000. func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
  29001. s.RouteTableIds = v
  29002. return s
  29003. }
  29004. // Contains the output of DescribeRouteTables.
  29005. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTablesResult
  29006. type DescribeRouteTablesOutput struct {
  29007. _ struct{} `type:"structure"`
  29008. // Information about one or more route tables.
  29009. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  29010. }
  29011. // String returns the string representation
  29012. func (s DescribeRouteTablesOutput) String() string {
  29013. return awsutil.Prettify(s)
  29014. }
  29015. // GoString returns the string representation
  29016. func (s DescribeRouteTablesOutput) GoString() string {
  29017. return s.String()
  29018. }
  29019. // SetRouteTables sets the RouteTables field's value.
  29020. func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
  29021. s.RouteTables = v
  29022. return s
  29023. }
  29024. // Contains the parameters for DescribeScheduledInstanceAvailability.
  29025. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailabilityRequest
  29026. type DescribeScheduledInstanceAvailabilityInput struct {
  29027. _ struct{} `type:"structure"`
  29028. // Checks whether you have the required permissions for the action, without
  29029. // actually making the request, and provides an error response. If you have
  29030. // the required permissions, the error response is DryRunOperation. Otherwise,
  29031. // it is UnauthorizedOperation.
  29032. DryRun *bool `type:"boolean"`
  29033. // One or more filters.
  29034. //
  29035. // * availability-zone - The Availability Zone (for example, us-west-2a).
  29036. //
  29037. // * instance-type - The instance type (for example, c4.large).
  29038. //
  29039. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  29040. //
  29041. // * platform - The platform (Linux/UNIX or Windows).
  29042. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29043. // The time period for the first schedule to start.
  29044. //
  29045. // FirstSlotStartTimeRange is a required field
  29046. FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
  29047. // The maximum number of results to return in a single call. This value can
  29048. // be between 5 and 300. The default value is 300. To retrieve the remaining
  29049. // results, make another call with the returned NextToken value.
  29050. MaxResults *int64 `type:"integer"`
  29051. // The maximum available duration, in hours. This value must be greater than
  29052. // MinSlotDurationInHours and less than 1,720.
  29053. MaxSlotDurationInHours *int64 `type:"integer"`
  29054. // The minimum available duration, in hours. The minimum required duration is
  29055. // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
  29056. // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
  29057. // is 100 hours.
  29058. MinSlotDurationInHours *int64 `type:"integer"`
  29059. // The token for the next set of results.
  29060. NextToken *string `type:"string"`
  29061. // The schedule recurrence.
  29062. //
  29063. // Recurrence is a required field
  29064. Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
  29065. }
  29066. // String returns the string representation
  29067. func (s DescribeScheduledInstanceAvailabilityInput) String() string {
  29068. return awsutil.Prettify(s)
  29069. }
  29070. // GoString returns the string representation
  29071. func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
  29072. return s.String()
  29073. }
  29074. // Validate inspects the fields of the type to determine if they are valid.
  29075. func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
  29076. invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
  29077. if s.FirstSlotStartTimeRange == nil {
  29078. invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
  29079. }
  29080. if s.Recurrence == nil {
  29081. invalidParams.Add(request.NewErrParamRequired("Recurrence"))
  29082. }
  29083. if s.FirstSlotStartTimeRange != nil {
  29084. if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
  29085. invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
  29086. }
  29087. }
  29088. if invalidParams.Len() > 0 {
  29089. return invalidParams
  29090. }
  29091. return nil
  29092. }
  29093. // SetDryRun sets the DryRun field's value.
  29094. func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
  29095. s.DryRun = &v
  29096. return s
  29097. }
  29098. // SetFilters sets the Filters field's value.
  29099. func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
  29100. s.Filters = v
  29101. return s
  29102. }
  29103. // SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
  29104. func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
  29105. s.FirstSlotStartTimeRange = v
  29106. return s
  29107. }
  29108. // SetMaxResults sets the MaxResults field's value.
  29109. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
  29110. s.MaxResults = &v
  29111. return s
  29112. }
  29113. // SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
  29114. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  29115. s.MaxSlotDurationInHours = &v
  29116. return s
  29117. }
  29118. // SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
  29119. func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  29120. s.MinSlotDurationInHours = &v
  29121. return s
  29122. }
  29123. // SetNextToken sets the NextToken field's value.
  29124. func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
  29125. s.NextToken = &v
  29126. return s
  29127. }
  29128. // SetRecurrence sets the Recurrence field's value.
  29129. func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
  29130. s.Recurrence = v
  29131. return s
  29132. }
  29133. // Contains the output of DescribeScheduledInstanceAvailability.
  29134. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailabilityResult
  29135. type DescribeScheduledInstanceAvailabilityOutput struct {
  29136. _ struct{} `type:"structure"`
  29137. // The token required to retrieve the next set of results. This value is null
  29138. // when there are no more results to return.
  29139. NextToken *string `locationName:"nextToken" type:"string"`
  29140. // Information about the available Scheduled Instances.
  29141. ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
  29142. }
  29143. // String returns the string representation
  29144. func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
  29145. return awsutil.Prettify(s)
  29146. }
  29147. // GoString returns the string representation
  29148. func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
  29149. return s.String()
  29150. }
  29151. // SetNextToken sets the NextToken field's value.
  29152. func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
  29153. s.NextToken = &v
  29154. return s
  29155. }
  29156. // SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
  29157. func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
  29158. s.ScheduledInstanceAvailabilitySet = v
  29159. return s
  29160. }
  29161. // Contains the parameters for DescribeScheduledInstances.
  29162. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstancesRequest
  29163. type DescribeScheduledInstancesInput struct {
  29164. _ struct{} `type:"structure"`
  29165. // Checks whether you have the required permissions for the action, without
  29166. // actually making the request, and provides an error response. If you have
  29167. // the required permissions, the error response is DryRunOperation. Otherwise,
  29168. // it is UnauthorizedOperation.
  29169. DryRun *bool `type:"boolean"`
  29170. // One or more filters.
  29171. //
  29172. // * availability-zone - The Availability Zone (for example, us-west-2a).
  29173. //
  29174. // * instance-type - The instance type (for example, c4.large).
  29175. //
  29176. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  29177. //
  29178. // * platform - The platform (Linux/UNIX or Windows).
  29179. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29180. // The maximum number of results to return in a single call. This value can
  29181. // be between 5 and 300. The default value is 100. To retrieve the remaining
  29182. // results, make another call with the returned NextToken value.
  29183. MaxResults *int64 `type:"integer"`
  29184. // The token for the next set of results.
  29185. NextToken *string `type:"string"`
  29186. // One or more Scheduled Instance IDs.
  29187. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
  29188. // The time period for the first schedule to start.
  29189. SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
  29190. }
  29191. // String returns the string representation
  29192. func (s DescribeScheduledInstancesInput) String() string {
  29193. return awsutil.Prettify(s)
  29194. }
  29195. // GoString returns the string representation
  29196. func (s DescribeScheduledInstancesInput) GoString() string {
  29197. return s.String()
  29198. }
  29199. // SetDryRun sets the DryRun field's value.
  29200. func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
  29201. s.DryRun = &v
  29202. return s
  29203. }
  29204. // SetFilters sets the Filters field's value.
  29205. func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
  29206. s.Filters = v
  29207. return s
  29208. }
  29209. // SetMaxResults sets the MaxResults field's value.
  29210. func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
  29211. s.MaxResults = &v
  29212. return s
  29213. }
  29214. // SetNextToken sets the NextToken field's value.
  29215. func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
  29216. s.NextToken = &v
  29217. return s
  29218. }
  29219. // SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
  29220. func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
  29221. s.ScheduledInstanceIds = v
  29222. return s
  29223. }
  29224. // SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
  29225. func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
  29226. s.SlotStartTimeRange = v
  29227. return s
  29228. }
  29229. // Contains the output of DescribeScheduledInstances.
  29230. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstancesResult
  29231. type DescribeScheduledInstancesOutput struct {
  29232. _ struct{} `type:"structure"`
  29233. // The token required to retrieve the next set of results. This value is null
  29234. // when there are no more results to return.
  29235. NextToken *string `locationName:"nextToken" type:"string"`
  29236. // Information about the Scheduled Instances.
  29237. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  29238. }
  29239. // String returns the string representation
  29240. func (s DescribeScheduledInstancesOutput) String() string {
  29241. return awsutil.Prettify(s)
  29242. }
  29243. // GoString returns the string representation
  29244. func (s DescribeScheduledInstancesOutput) GoString() string {
  29245. return s.String()
  29246. }
  29247. // SetNextToken sets the NextToken field's value.
  29248. func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
  29249. s.NextToken = &v
  29250. return s
  29251. }
  29252. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  29253. func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
  29254. s.ScheduledInstanceSet = v
  29255. return s
  29256. }
  29257. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferencesRequest
  29258. type DescribeSecurityGroupReferencesInput struct {
  29259. _ struct{} `type:"structure"`
  29260. // Checks whether you have the required permissions for the operation, without
  29261. // actually making the request, and provides an error response. If you have
  29262. // the required permissions, the error response is DryRunOperation. Otherwise,
  29263. // it is UnauthorizedOperation.
  29264. DryRun *bool `type:"boolean"`
  29265. // One or more security group IDs in your account.
  29266. //
  29267. // GroupId is a required field
  29268. GroupId []*string `locationNameList:"item" type:"list" required:"true"`
  29269. }
  29270. // String returns the string representation
  29271. func (s DescribeSecurityGroupReferencesInput) String() string {
  29272. return awsutil.Prettify(s)
  29273. }
  29274. // GoString returns the string representation
  29275. func (s DescribeSecurityGroupReferencesInput) GoString() string {
  29276. return s.String()
  29277. }
  29278. // Validate inspects the fields of the type to determine if they are valid.
  29279. func (s *DescribeSecurityGroupReferencesInput) Validate() error {
  29280. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
  29281. if s.GroupId == nil {
  29282. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  29283. }
  29284. if invalidParams.Len() > 0 {
  29285. return invalidParams
  29286. }
  29287. return nil
  29288. }
  29289. // SetDryRun sets the DryRun field's value.
  29290. func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
  29291. s.DryRun = &v
  29292. return s
  29293. }
  29294. // SetGroupId sets the GroupId field's value.
  29295. func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
  29296. s.GroupId = v
  29297. return s
  29298. }
  29299. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferencesResult
  29300. type DescribeSecurityGroupReferencesOutput struct {
  29301. _ struct{} `type:"structure"`
  29302. // Information about the VPCs with the referencing security groups.
  29303. SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
  29304. }
  29305. // String returns the string representation
  29306. func (s DescribeSecurityGroupReferencesOutput) String() string {
  29307. return awsutil.Prettify(s)
  29308. }
  29309. // GoString returns the string representation
  29310. func (s DescribeSecurityGroupReferencesOutput) GoString() string {
  29311. return s.String()
  29312. }
  29313. // SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
  29314. func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
  29315. s.SecurityGroupReferenceSet = v
  29316. return s
  29317. }
  29318. // Contains the parameters for DescribeSecurityGroups.
  29319. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupsRequest
  29320. type DescribeSecurityGroupsInput struct {
  29321. _ struct{} `type:"structure"`
  29322. // Checks whether you have the required permissions for the action, without
  29323. // actually making the request, and provides an error response. If you have
  29324. // the required permissions, the error response is DryRunOperation. Otherwise,
  29325. // it is UnauthorizedOperation.
  29326. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29327. // One or more filters. If using multiple filters for rules, the results include
  29328. // security groups for which any combination of rules - not necessarily a single
  29329. // rule - match all filters.
  29330. //
  29331. // * description - The description of the security group.
  29332. //
  29333. // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  29334. // to which the security group allows access.
  29335. //
  29336. // * group-id - The ID of the security group.
  29337. //
  29338. // * group-name - The name of the security group.
  29339. //
  29340. // * ip-permission.cidr - An IPv4 CIDR range that has been granted permission
  29341. // in a security group rule.
  29342. //
  29343. // * ip-permission.from-port - The start of port range for the TCP and UDP
  29344. // protocols, or an ICMP type number.
  29345. //
  29346. // * ip-permission.group-id - The ID of a security group that has been granted
  29347. // permission.
  29348. //
  29349. // * ip-permission.group-name - The name of a security group that has been
  29350. // granted permission.
  29351. //
  29352. // * ip-permission.ipv6-cidr - An IPv6 CIDR range that has been granted permission
  29353. // in a security group rule.
  29354. //
  29355. // * ip-permission.protocol - The IP protocol for the permission (tcp | udp
  29356. // | icmp or a protocol number).
  29357. //
  29358. // * ip-permission.to-port - The end of port range for the TCP and UDP protocols,
  29359. // or an ICMP code.
  29360. //
  29361. // * ip-permission.user-id - The ID of an AWS account that has been granted
  29362. // permission.
  29363. //
  29364. // * owner-id - The AWS account ID of the owner of the security group.
  29365. //
  29366. // * tag-key - The key of a tag assigned to the security group.
  29367. //
  29368. // * tag-value - The value of a tag assigned to the security group.
  29369. //
  29370. // * vpc-id - The ID of the VPC specified when the security group was created.
  29371. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29372. // One or more security group IDs. Required for security groups in a nondefault
  29373. // VPC.
  29374. //
  29375. // Default: Describes all your security groups.
  29376. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  29377. // [EC2-Classic and default VPC only] One or more security group names. You
  29378. // can specify either the security group name or the security group ID. For
  29379. // security groups in a nondefault VPC, use the group-name filter to describe
  29380. // security groups by name.
  29381. //
  29382. // Default: Describes all your security groups.
  29383. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  29384. }
  29385. // String returns the string representation
  29386. func (s DescribeSecurityGroupsInput) String() string {
  29387. return awsutil.Prettify(s)
  29388. }
  29389. // GoString returns the string representation
  29390. func (s DescribeSecurityGroupsInput) GoString() string {
  29391. return s.String()
  29392. }
  29393. // SetDryRun sets the DryRun field's value.
  29394. func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
  29395. s.DryRun = &v
  29396. return s
  29397. }
  29398. // SetFilters sets the Filters field's value.
  29399. func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
  29400. s.Filters = v
  29401. return s
  29402. }
  29403. // SetGroupIds sets the GroupIds field's value.
  29404. func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
  29405. s.GroupIds = v
  29406. return s
  29407. }
  29408. // SetGroupNames sets the GroupNames field's value.
  29409. func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
  29410. s.GroupNames = v
  29411. return s
  29412. }
  29413. // Contains the output of DescribeSecurityGroups.
  29414. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupsResult
  29415. type DescribeSecurityGroupsOutput struct {
  29416. _ struct{} `type:"structure"`
  29417. // Information about one or more security groups.
  29418. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  29419. }
  29420. // String returns the string representation
  29421. func (s DescribeSecurityGroupsOutput) String() string {
  29422. return awsutil.Prettify(s)
  29423. }
  29424. // GoString returns the string representation
  29425. func (s DescribeSecurityGroupsOutput) GoString() string {
  29426. return s.String()
  29427. }
  29428. // SetSecurityGroups sets the SecurityGroups field's value.
  29429. func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
  29430. s.SecurityGroups = v
  29431. return s
  29432. }
  29433. // Contains the parameters for DescribeSnapshotAttribute.
  29434. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttributeRequest
  29435. type DescribeSnapshotAttributeInput struct {
  29436. _ struct{} `type:"structure"`
  29437. // The snapshot attribute you would like to view.
  29438. //
  29439. // Attribute is a required field
  29440. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  29441. // Checks whether you have the required permissions for the action, without
  29442. // actually making the request, and provides an error response. If you have
  29443. // the required permissions, the error response is DryRunOperation. Otherwise,
  29444. // it is UnauthorizedOperation.
  29445. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29446. // The ID of the EBS snapshot.
  29447. //
  29448. // SnapshotId is a required field
  29449. SnapshotId *string `type:"string" required:"true"`
  29450. }
  29451. // String returns the string representation
  29452. func (s DescribeSnapshotAttributeInput) String() string {
  29453. return awsutil.Prettify(s)
  29454. }
  29455. // GoString returns the string representation
  29456. func (s DescribeSnapshotAttributeInput) GoString() string {
  29457. return s.String()
  29458. }
  29459. // Validate inspects the fields of the type to determine if they are valid.
  29460. func (s *DescribeSnapshotAttributeInput) Validate() error {
  29461. invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
  29462. if s.Attribute == nil {
  29463. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  29464. }
  29465. if s.SnapshotId == nil {
  29466. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  29467. }
  29468. if invalidParams.Len() > 0 {
  29469. return invalidParams
  29470. }
  29471. return nil
  29472. }
  29473. // SetAttribute sets the Attribute field's value.
  29474. func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
  29475. s.Attribute = &v
  29476. return s
  29477. }
  29478. // SetDryRun sets the DryRun field's value.
  29479. func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
  29480. s.DryRun = &v
  29481. return s
  29482. }
  29483. // SetSnapshotId sets the SnapshotId field's value.
  29484. func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
  29485. s.SnapshotId = &v
  29486. return s
  29487. }
  29488. // Contains the output of DescribeSnapshotAttribute.
  29489. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttributeResult
  29490. type DescribeSnapshotAttributeOutput struct {
  29491. _ struct{} `type:"structure"`
  29492. // A list of permissions for creating volumes from the snapshot.
  29493. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  29494. // A list of product codes.
  29495. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  29496. // The ID of the EBS snapshot.
  29497. SnapshotId *string `locationName:"snapshotId" type:"string"`
  29498. }
  29499. // String returns the string representation
  29500. func (s DescribeSnapshotAttributeOutput) String() string {
  29501. return awsutil.Prettify(s)
  29502. }
  29503. // GoString returns the string representation
  29504. func (s DescribeSnapshotAttributeOutput) GoString() string {
  29505. return s.String()
  29506. }
  29507. // SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
  29508. func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
  29509. s.CreateVolumePermissions = v
  29510. return s
  29511. }
  29512. // SetProductCodes sets the ProductCodes field's value.
  29513. func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
  29514. s.ProductCodes = v
  29515. return s
  29516. }
  29517. // SetSnapshotId sets the SnapshotId field's value.
  29518. func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
  29519. s.SnapshotId = &v
  29520. return s
  29521. }
  29522. // Contains the parameters for DescribeSnapshots.
  29523. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotsRequest
  29524. type DescribeSnapshotsInput struct {
  29525. _ struct{} `type:"structure"`
  29526. // Checks whether you have the required permissions for the action, without
  29527. // actually making the request, and provides an error response. If you have
  29528. // the required permissions, the error response is DryRunOperation. Otherwise,
  29529. // it is UnauthorizedOperation.
  29530. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29531. // One or more filters.
  29532. //
  29533. // * description - A description of the snapshot.
  29534. //
  29535. // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
  29536. // | microsoft) of snapshot owners. Not to be confused with the user-configured
  29537. // AWS account alias, which is set from the IAM consolew.
  29538. //
  29539. // * owner-id - The ID of the AWS account that owns the snapshot.
  29540. //
  29541. // * progress - The progress of the snapshot, as a percentage (for example,
  29542. // 80%).
  29543. //
  29544. // * snapshot-id - The snapshot ID.
  29545. //
  29546. // * start-time - The time stamp when the snapshot was initiated.
  29547. //
  29548. // * status - The status of the snapshot (pending | completed | error).
  29549. //
  29550. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  29551. // Specify the key of the tag in the filter name and the value of the tag
  29552. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  29553. // for the filter name and X for the filter value.
  29554. //
  29555. // * tag-key - The key of a tag assigned to the resource. This filter is
  29556. // independent of the tag-value filter. For example, if you use both the
  29557. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  29558. // assigned both the tag key Purpose (regardless of what the tag's value
  29559. // is), and the tag value X (regardless of what the tag's key is). If you
  29560. // want to list only resources where Purpose is X, see the tag:key=value
  29561. // filter.
  29562. //
  29563. // * tag-value - The value of a tag assigned to the resource. This filter
  29564. // is independent of the tag-key filter.
  29565. //
  29566. // * volume-id - The ID of the volume the snapshot is for.
  29567. //
  29568. // * volume-size - The size of the volume, in GiB.
  29569. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29570. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  29571. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  29572. // results in a single page along with a NextToken response element. The remaining
  29573. // results of the initial request can be seen by sending another DescribeSnapshots
  29574. // request with the returned NextToken value. This value can be between 5 and
  29575. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  29576. // are returned. If this parameter is not used, then DescribeSnapshots returns
  29577. // all results. You cannot specify this parameter and the snapshot IDs parameter
  29578. // in the same request.
  29579. MaxResults *int64 `type:"integer"`
  29580. // The NextToken value returned from a previous paginated DescribeSnapshots
  29581. // request where MaxResults was used and the results exceeded the value of that
  29582. // parameter. Pagination continues from the end of the previous results that
  29583. // returned the NextToken value. This value is null when there are no more results
  29584. // to return.
  29585. NextToken *string `type:"string"`
  29586. // Returns the snapshots owned by the specified owner. Multiple owners can be
  29587. // specified.
  29588. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  29589. // One or more AWS accounts IDs that can create volumes from the snapshot.
  29590. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  29591. // One or more snapshot IDs.
  29592. //
  29593. // Default: Describes snapshots for which you have launch permissions.
  29594. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  29595. }
  29596. // String returns the string representation
  29597. func (s DescribeSnapshotsInput) String() string {
  29598. return awsutil.Prettify(s)
  29599. }
  29600. // GoString returns the string representation
  29601. func (s DescribeSnapshotsInput) GoString() string {
  29602. return s.String()
  29603. }
  29604. // SetDryRun sets the DryRun field's value.
  29605. func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
  29606. s.DryRun = &v
  29607. return s
  29608. }
  29609. // SetFilters sets the Filters field's value.
  29610. func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
  29611. s.Filters = v
  29612. return s
  29613. }
  29614. // SetMaxResults sets the MaxResults field's value.
  29615. func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
  29616. s.MaxResults = &v
  29617. return s
  29618. }
  29619. // SetNextToken sets the NextToken field's value.
  29620. func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
  29621. s.NextToken = &v
  29622. return s
  29623. }
  29624. // SetOwnerIds sets the OwnerIds field's value.
  29625. func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
  29626. s.OwnerIds = v
  29627. return s
  29628. }
  29629. // SetRestorableByUserIds sets the RestorableByUserIds field's value.
  29630. func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
  29631. s.RestorableByUserIds = v
  29632. return s
  29633. }
  29634. // SetSnapshotIds sets the SnapshotIds field's value.
  29635. func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
  29636. s.SnapshotIds = v
  29637. return s
  29638. }
  29639. // Contains the output of DescribeSnapshots.
  29640. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotsResult
  29641. type DescribeSnapshotsOutput struct {
  29642. _ struct{} `type:"structure"`
  29643. // The NextToken value to include in a future DescribeSnapshots request. When
  29644. // the results of a DescribeSnapshots request exceed MaxResults, this value
  29645. // can be used to retrieve the next page of results. This value is null when
  29646. // there are no more results to return.
  29647. NextToken *string `locationName:"nextToken" type:"string"`
  29648. // Information about the snapshots.
  29649. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  29650. }
  29651. // String returns the string representation
  29652. func (s DescribeSnapshotsOutput) String() string {
  29653. return awsutil.Prettify(s)
  29654. }
  29655. // GoString returns the string representation
  29656. func (s DescribeSnapshotsOutput) GoString() string {
  29657. return s.String()
  29658. }
  29659. // SetNextToken sets the NextToken field's value.
  29660. func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
  29661. s.NextToken = &v
  29662. return s
  29663. }
  29664. // SetSnapshots sets the Snapshots field's value.
  29665. func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
  29666. s.Snapshots = v
  29667. return s
  29668. }
  29669. // Contains the parameters for DescribeSpotDatafeedSubscription.
  29670. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscriptionRequest
  29671. type DescribeSpotDatafeedSubscriptionInput struct {
  29672. _ struct{} `type:"structure"`
  29673. // Checks whether you have the required permissions for the action, without
  29674. // actually making the request, and provides an error response. If you have
  29675. // the required permissions, the error response is DryRunOperation. Otherwise,
  29676. // it is UnauthorizedOperation.
  29677. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29678. }
  29679. // String returns the string representation
  29680. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  29681. return awsutil.Prettify(s)
  29682. }
  29683. // GoString returns the string representation
  29684. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  29685. return s.String()
  29686. }
  29687. // SetDryRun sets the DryRun field's value.
  29688. func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
  29689. s.DryRun = &v
  29690. return s
  29691. }
  29692. // Contains the output of DescribeSpotDatafeedSubscription.
  29693. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscriptionResult
  29694. type DescribeSpotDatafeedSubscriptionOutput struct {
  29695. _ struct{} `type:"structure"`
  29696. // The Spot instance data feed subscription.
  29697. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  29698. }
  29699. // String returns the string representation
  29700. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  29701. return awsutil.Prettify(s)
  29702. }
  29703. // GoString returns the string representation
  29704. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  29705. return s.String()
  29706. }
  29707. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  29708. func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
  29709. s.SpotDatafeedSubscription = v
  29710. return s
  29711. }
  29712. // Contains the parameters for DescribeSpotFleetInstances.
  29713. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstancesRequest
  29714. type DescribeSpotFleetInstancesInput struct {
  29715. _ struct{} `type:"structure"`
  29716. // Checks whether you have the required permissions for the action, without
  29717. // actually making the request, and provides an error response. If you have
  29718. // the required permissions, the error response is DryRunOperation. Otherwise,
  29719. // it is UnauthorizedOperation.
  29720. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29721. // The maximum number of results to return in a single call. Specify a value
  29722. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  29723. // results, make another call with the returned NextToken value.
  29724. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  29725. // The token for the next set of results.
  29726. NextToken *string `locationName:"nextToken" type:"string"`
  29727. // The ID of the Spot fleet request.
  29728. //
  29729. // SpotFleetRequestId is a required field
  29730. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  29731. }
  29732. // String returns the string representation
  29733. func (s DescribeSpotFleetInstancesInput) String() string {
  29734. return awsutil.Prettify(s)
  29735. }
  29736. // GoString returns the string representation
  29737. func (s DescribeSpotFleetInstancesInput) GoString() string {
  29738. return s.String()
  29739. }
  29740. // Validate inspects the fields of the type to determine if they are valid.
  29741. func (s *DescribeSpotFleetInstancesInput) Validate() error {
  29742. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
  29743. if s.SpotFleetRequestId == nil {
  29744. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  29745. }
  29746. if invalidParams.Len() > 0 {
  29747. return invalidParams
  29748. }
  29749. return nil
  29750. }
  29751. // SetDryRun sets the DryRun field's value.
  29752. func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
  29753. s.DryRun = &v
  29754. return s
  29755. }
  29756. // SetMaxResults sets the MaxResults field's value.
  29757. func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
  29758. s.MaxResults = &v
  29759. return s
  29760. }
  29761. // SetNextToken sets the NextToken field's value.
  29762. func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
  29763. s.NextToken = &v
  29764. return s
  29765. }
  29766. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  29767. func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
  29768. s.SpotFleetRequestId = &v
  29769. return s
  29770. }
  29771. // Contains the output of DescribeSpotFleetInstances.
  29772. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstancesResponse
  29773. type DescribeSpotFleetInstancesOutput struct {
  29774. _ struct{} `type:"structure"`
  29775. // The running instances. Note that this list is refreshed periodically and
  29776. // might be out of date.
  29777. //
  29778. // ActiveInstances is a required field
  29779. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"`
  29780. // The token required to retrieve the next set of results. This value is null
  29781. // when there are no more results to return.
  29782. NextToken *string `locationName:"nextToken" type:"string"`
  29783. // The ID of the Spot fleet request.
  29784. //
  29785. // SpotFleetRequestId is a required field
  29786. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  29787. }
  29788. // String returns the string representation
  29789. func (s DescribeSpotFleetInstancesOutput) String() string {
  29790. return awsutil.Prettify(s)
  29791. }
  29792. // GoString returns the string representation
  29793. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  29794. return s.String()
  29795. }
  29796. // SetActiveInstances sets the ActiveInstances field's value.
  29797. func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
  29798. s.ActiveInstances = v
  29799. return s
  29800. }
  29801. // SetNextToken sets the NextToken field's value.
  29802. func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
  29803. s.NextToken = &v
  29804. return s
  29805. }
  29806. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  29807. func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
  29808. s.SpotFleetRequestId = &v
  29809. return s
  29810. }
  29811. // Contains the parameters for DescribeSpotFleetRequestHistory.
  29812. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistoryRequest
  29813. type DescribeSpotFleetRequestHistoryInput struct {
  29814. _ struct{} `type:"structure"`
  29815. // Checks whether you have the required permissions for the action, without
  29816. // actually making the request, and provides an error response. If you have
  29817. // the required permissions, the error response is DryRunOperation. Otherwise,
  29818. // it is UnauthorizedOperation.
  29819. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29820. // The type of events to describe. By default, all events are described.
  29821. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  29822. // The maximum number of results to return in a single call. Specify a value
  29823. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  29824. // results, make another call with the returned NextToken value.
  29825. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  29826. // The token for the next set of results.
  29827. NextToken *string `locationName:"nextToken" type:"string"`
  29828. // The ID of the Spot fleet request.
  29829. //
  29830. // SpotFleetRequestId is a required field
  29831. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  29832. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  29833. //
  29834. // StartTime is a required field
  29835. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  29836. }
  29837. // String returns the string representation
  29838. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  29839. return awsutil.Prettify(s)
  29840. }
  29841. // GoString returns the string representation
  29842. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  29843. return s.String()
  29844. }
  29845. // Validate inspects the fields of the type to determine if they are valid.
  29846. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
  29847. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
  29848. if s.SpotFleetRequestId == nil {
  29849. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  29850. }
  29851. if s.StartTime == nil {
  29852. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  29853. }
  29854. if invalidParams.Len() > 0 {
  29855. return invalidParams
  29856. }
  29857. return nil
  29858. }
  29859. // SetDryRun sets the DryRun field's value.
  29860. func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
  29861. s.DryRun = &v
  29862. return s
  29863. }
  29864. // SetEventType sets the EventType field's value.
  29865. func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
  29866. s.EventType = &v
  29867. return s
  29868. }
  29869. // SetMaxResults sets the MaxResults field's value.
  29870. func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
  29871. s.MaxResults = &v
  29872. return s
  29873. }
  29874. // SetNextToken sets the NextToken field's value.
  29875. func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
  29876. s.NextToken = &v
  29877. return s
  29878. }
  29879. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  29880. func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
  29881. s.SpotFleetRequestId = &v
  29882. return s
  29883. }
  29884. // SetStartTime sets the StartTime field's value.
  29885. func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
  29886. s.StartTime = &v
  29887. return s
  29888. }
  29889. // Contains the output of DescribeSpotFleetRequestHistory.
  29890. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistoryResponse
  29891. type DescribeSpotFleetRequestHistoryOutput struct {
  29892. _ struct{} `type:"structure"`
  29893. // Information about the events in the history of the Spot fleet request.
  29894. //
  29895. // HistoryRecords is a required field
  29896. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"`
  29897. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  29898. // All records up to this time were retrieved.
  29899. //
  29900. // If nextToken indicates that there are more results, this value is not present.
  29901. //
  29902. // LastEvaluatedTime is a required field
  29903. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  29904. // The token required to retrieve the next set of results. This value is null
  29905. // when there are no more results to return.
  29906. NextToken *string `locationName:"nextToken" type:"string"`
  29907. // The ID of the Spot fleet request.
  29908. //
  29909. // SpotFleetRequestId is a required field
  29910. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  29911. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  29912. //
  29913. // StartTime is a required field
  29914. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  29915. }
  29916. // String returns the string representation
  29917. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  29918. return awsutil.Prettify(s)
  29919. }
  29920. // GoString returns the string representation
  29921. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  29922. return s.String()
  29923. }
  29924. // SetHistoryRecords sets the HistoryRecords field's value.
  29925. func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
  29926. s.HistoryRecords = v
  29927. return s
  29928. }
  29929. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  29930. func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  29931. s.LastEvaluatedTime = &v
  29932. return s
  29933. }
  29934. // SetNextToken sets the NextToken field's value.
  29935. func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
  29936. s.NextToken = &v
  29937. return s
  29938. }
  29939. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  29940. func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
  29941. s.SpotFleetRequestId = &v
  29942. return s
  29943. }
  29944. // SetStartTime sets the StartTime field's value.
  29945. func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  29946. s.StartTime = &v
  29947. return s
  29948. }
  29949. // Contains the parameters for DescribeSpotFleetRequests.
  29950. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestsRequest
  29951. type DescribeSpotFleetRequestsInput struct {
  29952. _ struct{} `type:"structure"`
  29953. // Checks whether you have the required permissions for the action, without
  29954. // actually making the request, and provides an error response. If you have
  29955. // the required permissions, the error response is DryRunOperation. Otherwise,
  29956. // it is UnauthorizedOperation.
  29957. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29958. // The maximum number of results to return in a single call. Specify a value
  29959. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  29960. // results, make another call with the returned NextToken value.
  29961. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  29962. // The token for the next set of results.
  29963. NextToken *string `locationName:"nextToken" type:"string"`
  29964. // The IDs of the Spot fleet requests.
  29965. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  29966. }
  29967. // String returns the string representation
  29968. func (s DescribeSpotFleetRequestsInput) String() string {
  29969. return awsutil.Prettify(s)
  29970. }
  29971. // GoString returns the string representation
  29972. func (s DescribeSpotFleetRequestsInput) GoString() string {
  29973. return s.String()
  29974. }
  29975. // SetDryRun sets the DryRun field's value.
  29976. func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
  29977. s.DryRun = &v
  29978. return s
  29979. }
  29980. // SetMaxResults sets the MaxResults field's value.
  29981. func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
  29982. s.MaxResults = &v
  29983. return s
  29984. }
  29985. // SetNextToken sets the NextToken field's value.
  29986. func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
  29987. s.NextToken = &v
  29988. return s
  29989. }
  29990. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  29991. func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
  29992. s.SpotFleetRequestIds = v
  29993. return s
  29994. }
  29995. // Contains the output of DescribeSpotFleetRequests.
  29996. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestsResponse
  29997. type DescribeSpotFleetRequestsOutput struct {
  29998. _ struct{} `type:"structure"`
  29999. // The token required to retrieve the next set of results. This value is null
  30000. // when there are no more results to return.
  30001. NextToken *string `locationName:"nextToken" type:"string"`
  30002. // Information about the configuration of your Spot fleet.
  30003. //
  30004. // SpotFleetRequestConfigs is a required field
  30005. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
  30006. }
  30007. // String returns the string representation
  30008. func (s DescribeSpotFleetRequestsOutput) String() string {
  30009. return awsutil.Prettify(s)
  30010. }
  30011. // GoString returns the string representation
  30012. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  30013. return s.String()
  30014. }
  30015. // SetNextToken sets the NextToken field's value.
  30016. func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
  30017. s.NextToken = &v
  30018. return s
  30019. }
  30020. // SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
  30021. func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
  30022. s.SpotFleetRequestConfigs = v
  30023. return s
  30024. }
  30025. // Contains the parameters for DescribeSpotInstanceRequests.
  30026. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequestsRequest
  30027. type DescribeSpotInstanceRequestsInput struct {
  30028. _ struct{} `type:"structure"`
  30029. // Checks whether you have the required permissions for the action, without
  30030. // actually making the request, and provides an error response. If you have
  30031. // the required permissions, the error response is DryRunOperation. Otherwise,
  30032. // it is UnauthorizedOperation.
  30033. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30034. // One or more filters.
  30035. //
  30036. // * availability-zone-group - The Availability Zone group.
  30037. //
  30038. // * create-time - The time stamp when the Spot instance request was created.
  30039. //
  30040. // * fault-code - The fault code related to the request.
  30041. //
  30042. // * fault-message - The fault message related to the request.
  30043. //
  30044. // * instance-id - The ID of the instance that fulfilled the request.
  30045. //
  30046. // * launch-group - The Spot instance launch group.
  30047. //
  30048. // * launch.block-device-mapping.delete-on-termination - Indicates whether
  30049. // the Amazon EBS volume is deleted on instance termination.
  30050. //
  30051. // * launch.block-device-mapping.device-name - The device name for the Amazon
  30052. // EBS volume (for example, /dev/sdh).
  30053. //
  30054. // * launch.block-device-mapping.snapshot-id - The ID of the snapshot used
  30055. // for the Amazon EBS volume.
  30056. //
  30057. // * launch.block-device-mapping.volume-size - The size of the Amazon EBS
  30058. // volume, in GiB.
  30059. //
  30060. // * launch.block-device-mapping.volume-type - The type of the Amazon EBS
  30061. // volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1
  30062. // for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
  30063. //
  30064. // * launch.group-id - The security group for the instance.
  30065. //
  30066. // * launch.image-id - The ID of the AMI.
  30067. //
  30068. // * launch.instance-type - The type of instance (for example, m3.medium).
  30069. //
  30070. // * launch.kernel-id - The kernel ID.
  30071. //
  30072. // * launch.key-name - The name of the key pair the instance launched with.
  30073. //
  30074. // * launch.monitoring-enabled - Whether monitoring is enabled for the Spot
  30075. // instance.
  30076. //
  30077. // * launch.ramdisk-id - The RAM disk ID.
  30078. //
  30079. // * network-interface.network-interface-id - The ID of the network interface.
  30080. //
  30081. // * network-interface.device-index - The index of the device for the network
  30082. // interface attachment on the instance.
  30083. //
  30084. // * network-interface.subnet-id - The ID of the subnet for the instance.
  30085. //
  30086. // * network-interface.description - A description of the network interface.
  30087. //
  30088. // * network-interface.private-ip-address - The primary private IP address
  30089. // of the network interface.
  30090. //
  30091. // * network-interface.delete-on-termination - Indicates whether the network
  30092. // interface is deleted when the instance is terminated.
  30093. //
  30094. // * network-interface.group-id - The ID of the security group associated
  30095. // with the network interface.
  30096. //
  30097. // * network-interface.group-name - The name of the security group associated
  30098. // with the network interface.
  30099. //
  30100. // * network-interface.addresses.primary - Indicates whether the IP address
  30101. // is the primary private IP address.
  30102. //
  30103. // * product-description - The product description associated with the instance
  30104. // (Linux/UNIX | Windows).
  30105. //
  30106. // * spot-instance-request-id - The Spot instance request ID.
  30107. //
  30108. // * spot-price - The maximum hourly price for any Spot instance launched
  30109. // to fulfill the request.
  30110. //
  30111. // * state - The state of the Spot instance request (open | active | closed
  30112. // | cancelled | failed). Spot bid status information can help you track
  30113. // your Amazon EC2 Spot instance requests. For more information, see Spot
  30114. // Bid Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  30115. // in the Amazon Elastic Compute Cloud User Guide.
  30116. //
  30117. // * status-code - The short code describing the most recent evaluation of
  30118. // your Spot instance request.
  30119. //
  30120. // * status-message - The message explaining the status of the Spot instance
  30121. // request.
  30122. //
  30123. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30124. // Specify the key of the tag in the filter name and the value of the tag
  30125. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30126. // for the filter name and X for the filter value.
  30127. //
  30128. // * tag-key - The key of a tag assigned to the resource. This filter is
  30129. // independent of the tag-value filter. For example, if you use both the
  30130. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30131. // assigned both the tag key Purpose (regardless of what the tag's value
  30132. // is), and the tag value X (regardless of what the tag's key is). If you
  30133. // want to list only resources where Purpose is X, see the tag:key=value
  30134. // filter.
  30135. //
  30136. // * tag-value - The value of a tag assigned to the resource. This filter
  30137. // is independent of the tag-key filter.
  30138. //
  30139. // * type - The type of Spot instance request (one-time | persistent).
  30140. //
  30141. // * launched-availability-zone - The Availability Zone in which the bid
  30142. // is launched.
  30143. //
  30144. // * valid-from - The start date of the request.
  30145. //
  30146. // * valid-until - The end date of the request.
  30147. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30148. // One or more Spot instance request IDs.
  30149. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  30150. }
  30151. // String returns the string representation
  30152. func (s DescribeSpotInstanceRequestsInput) String() string {
  30153. return awsutil.Prettify(s)
  30154. }
  30155. // GoString returns the string representation
  30156. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  30157. return s.String()
  30158. }
  30159. // SetDryRun sets the DryRun field's value.
  30160. func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
  30161. s.DryRun = &v
  30162. return s
  30163. }
  30164. // SetFilters sets the Filters field's value.
  30165. func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
  30166. s.Filters = v
  30167. return s
  30168. }
  30169. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  30170. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
  30171. s.SpotInstanceRequestIds = v
  30172. return s
  30173. }
  30174. // Contains the output of DescribeSpotInstanceRequests.
  30175. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequestsResult
  30176. type DescribeSpotInstanceRequestsOutput struct {
  30177. _ struct{} `type:"structure"`
  30178. // One or more Spot instance requests.
  30179. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  30180. }
  30181. // String returns the string representation
  30182. func (s DescribeSpotInstanceRequestsOutput) String() string {
  30183. return awsutil.Prettify(s)
  30184. }
  30185. // GoString returns the string representation
  30186. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  30187. return s.String()
  30188. }
  30189. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  30190. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
  30191. s.SpotInstanceRequests = v
  30192. return s
  30193. }
  30194. // Contains the parameters for DescribeSpotPriceHistory.
  30195. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistoryRequest
  30196. type DescribeSpotPriceHistoryInput struct {
  30197. _ struct{} `type:"structure"`
  30198. // Filters the results by the specified Availability Zone.
  30199. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  30200. // Checks whether you have the required permissions for the action, without
  30201. // actually making the request, and provides an error response. If you have
  30202. // the required permissions, the error response is DryRunOperation. Otherwise,
  30203. // it is UnauthorizedOperation.
  30204. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30205. // The date and time, up to the current date, from which to stop retrieving
  30206. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  30207. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  30208. // One or more filters.
  30209. //
  30210. // * availability-zone - The Availability Zone for which prices should be
  30211. // returned.
  30212. //
  30213. // * instance-type - The type of instance (for example, m3.medium).
  30214. //
  30215. // * product-description - The product description for the Spot price (Linux/UNIX
  30216. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
  30217. // VPC) | Windows (Amazon VPC)).
  30218. //
  30219. // * spot-price - The Spot price. The value must match exactly (or use wildcards;
  30220. // greater than or less than comparison is not supported).
  30221. //
  30222. // * timestamp - The timestamp of the Spot price history, in UTC format (for
  30223. // example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
  30224. // than or less than comparison is not supported.
  30225. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30226. // Filters the results by the specified instance types. Note that T2 and HS1
  30227. // instance types are not supported.
  30228. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  30229. // The maximum number of results to return in a single call. Specify a value
  30230. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  30231. // results, make another call with the returned NextToken value.
  30232. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30233. // The token for the next set of results.
  30234. NextToken *string `locationName:"nextToken" type:"string"`
  30235. // Filters the results by the specified basic product descriptions.
  30236. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  30237. // The date and time, up to the past 90 days, from which to start retrieving
  30238. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  30239. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  30240. }
  30241. // String returns the string representation
  30242. func (s DescribeSpotPriceHistoryInput) String() string {
  30243. return awsutil.Prettify(s)
  30244. }
  30245. // GoString returns the string representation
  30246. func (s DescribeSpotPriceHistoryInput) GoString() string {
  30247. return s.String()
  30248. }
  30249. // SetAvailabilityZone sets the AvailabilityZone field's value.
  30250. func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
  30251. s.AvailabilityZone = &v
  30252. return s
  30253. }
  30254. // SetDryRun sets the DryRun field's value.
  30255. func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
  30256. s.DryRun = &v
  30257. return s
  30258. }
  30259. // SetEndTime sets the EndTime field's value.
  30260. func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
  30261. s.EndTime = &v
  30262. return s
  30263. }
  30264. // SetFilters sets the Filters field's value.
  30265. func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
  30266. s.Filters = v
  30267. return s
  30268. }
  30269. // SetInstanceTypes sets the InstanceTypes field's value.
  30270. func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
  30271. s.InstanceTypes = v
  30272. return s
  30273. }
  30274. // SetMaxResults sets the MaxResults field's value.
  30275. func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
  30276. s.MaxResults = &v
  30277. return s
  30278. }
  30279. // SetNextToken sets the NextToken field's value.
  30280. func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
  30281. s.NextToken = &v
  30282. return s
  30283. }
  30284. // SetProductDescriptions sets the ProductDescriptions field's value.
  30285. func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
  30286. s.ProductDescriptions = v
  30287. return s
  30288. }
  30289. // SetStartTime sets the StartTime field's value.
  30290. func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
  30291. s.StartTime = &v
  30292. return s
  30293. }
  30294. // Contains the output of DescribeSpotPriceHistory.
  30295. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistoryResult
  30296. type DescribeSpotPriceHistoryOutput struct {
  30297. _ struct{} `type:"structure"`
  30298. // The token required to retrieve the next set of results. This value is null
  30299. // when there are no more results to return.
  30300. NextToken *string `locationName:"nextToken" type:"string"`
  30301. // The historical Spot prices.
  30302. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  30303. }
  30304. // String returns the string representation
  30305. func (s DescribeSpotPriceHistoryOutput) String() string {
  30306. return awsutil.Prettify(s)
  30307. }
  30308. // GoString returns the string representation
  30309. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  30310. return s.String()
  30311. }
  30312. // SetNextToken sets the NextToken field's value.
  30313. func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
  30314. s.NextToken = &v
  30315. return s
  30316. }
  30317. // SetSpotPriceHistory sets the SpotPriceHistory field's value.
  30318. func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
  30319. s.SpotPriceHistory = v
  30320. return s
  30321. }
  30322. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroupsRequest
  30323. type DescribeStaleSecurityGroupsInput struct {
  30324. _ struct{} `type:"structure"`
  30325. // Checks whether you have the required permissions for the operation, without
  30326. // actually making the request, and provides an error response. If you have
  30327. // the required permissions, the error response is DryRunOperation. Otherwise,
  30328. // it is UnauthorizedOperation.
  30329. DryRun *bool `type:"boolean"`
  30330. // The maximum number of items to return for this request. The request returns
  30331. // a token that you can specify in a subsequent call to get the next set of
  30332. // results.
  30333. MaxResults *int64 `min:"5" type:"integer"`
  30334. // The token for the next set of items to return. (You received this token from
  30335. // a prior call.)
  30336. NextToken *string `min:"1" type:"string"`
  30337. // The ID of the VPC.
  30338. //
  30339. // VpcId is a required field
  30340. VpcId *string `type:"string" required:"true"`
  30341. }
  30342. // String returns the string representation
  30343. func (s DescribeStaleSecurityGroupsInput) String() string {
  30344. return awsutil.Prettify(s)
  30345. }
  30346. // GoString returns the string representation
  30347. func (s DescribeStaleSecurityGroupsInput) GoString() string {
  30348. return s.String()
  30349. }
  30350. // Validate inspects the fields of the type to determine if they are valid.
  30351. func (s *DescribeStaleSecurityGroupsInput) Validate() error {
  30352. invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
  30353. if s.MaxResults != nil && *s.MaxResults < 5 {
  30354. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  30355. }
  30356. if s.NextToken != nil && len(*s.NextToken) < 1 {
  30357. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  30358. }
  30359. if s.VpcId == nil {
  30360. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  30361. }
  30362. if invalidParams.Len() > 0 {
  30363. return invalidParams
  30364. }
  30365. return nil
  30366. }
  30367. // SetDryRun sets the DryRun field's value.
  30368. func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
  30369. s.DryRun = &v
  30370. return s
  30371. }
  30372. // SetMaxResults sets the MaxResults field's value.
  30373. func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
  30374. s.MaxResults = &v
  30375. return s
  30376. }
  30377. // SetNextToken sets the NextToken field's value.
  30378. func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
  30379. s.NextToken = &v
  30380. return s
  30381. }
  30382. // SetVpcId sets the VpcId field's value.
  30383. func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
  30384. s.VpcId = &v
  30385. return s
  30386. }
  30387. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroupsResult
  30388. type DescribeStaleSecurityGroupsOutput struct {
  30389. _ struct{} `type:"structure"`
  30390. // The token to use when requesting the next set of items. If there are no additional
  30391. // items to return, the string is empty.
  30392. NextToken *string `locationName:"nextToken" type:"string"`
  30393. // Information about the stale security groups.
  30394. StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
  30395. }
  30396. // String returns the string representation
  30397. func (s DescribeStaleSecurityGroupsOutput) String() string {
  30398. return awsutil.Prettify(s)
  30399. }
  30400. // GoString returns the string representation
  30401. func (s DescribeStaleSecurityGroupsOutput) GoString() string {
  30402. return s.String()
  30403. }
  30404. // SetNextToken sets the NextToken field's value.
  30405. func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
  30406. s.NextToken = &v
  30407. return s
  30408. }
  30409. // SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
  30410. func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
  30411. s.StaleSecurityGroupSet = v
  30412. return s
  30413. }
  30414. // Contains the parameters for DescribeSubnets.
  30415. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnetsRequest
  30416. type DescribeSubnetsInput struct {
  30417. _ struct{} `type:"structure"`
  30418. // Checks whether you have the required permissions for the action, without
  30419. // actually making the request, and provides an error response. If you have
  30420. // the required permissions, the error response is DryRunOperation. Otherwise,
  30421. // it is UnauthorizedOperation.
  30422. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30423. // One or more filters.
  30424. //
  30425. // * availabilityZone - The Availability Zone for the subnet. You can also
  30426. // use availability-zone as the filter name.
  30427. //
  30428. // * available-ip-address-count - The number of IPv4 addresses in the subnet
  30429. // that are available.
  30430. //
  30431. // * cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify
  30432. // must exactly match the subnet's CIDR block for information to be returned
  30433. // for the subnet. You can also use cidr or cidr-block as the filter names.
  30434. //
  30435. // * defaultForAz - Indicates whether this is the default subnet for the
  30436. // Availability Zone. You can also use default-for-az as the filter name.
  30437. //
  30438. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  30439. // with the subnet.
  30440. //
  30441. // * ipv6-cidr-block-association.association-id - An association ID for an
  30442. // IPv6 CIDR block associated with the subnet.
  30443. //
  30444. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  30445. // associated with the subnet.
  30446. //
  30447. // * state - The state of the subnet (pending | available).
  30448. //
  30449. // * subnet-id - The ID of the subnet.
  30450. //
  30451. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30452. // Specify the key of the tag in the filter name and the value of the tag
  30453. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30454. // for the filter name and X for the filter value.
  30455. //
  30456. // * tag-key - The key of a tag assigned to the resource. This filter is
  30457. // independent of the tag-value filter. For example, if you use both the
  30458. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30459. // assigned both the tag key Purpose (regardless of what the tag's value
  30460. // is), and the tag value X (regardless of what the tag's key is). If you
  30461. // want to list only resources where Purpose is X, see the tag:key=value
  30462. // filter.
  30463. //
  30464. // * tag-value - The value of a tag assigned to the resource. This filter
  30465. // is independent of the tag-key filter.
  30466. //
  30467. // * vpc-id - The ID of the VPC for the subnet.
  30468. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30469. // One or more subnet IDs.
  30470. //
  30471. // Default: Describes all your subnets.
  30472. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  30473. }
  30474. // String returns the string representation
  30475. func (s DescribeSubnetsInput) String() string {
  30476. return awsutil.Prettify(s)
  30477. }
  30478. // GoString returns the string representation
  30479. func (s DescribeSubnetsInput) GoString() string {
  30480. return s.String()
  30481. }
  30482. // SetDryRun sets the DryRun field's value.
  30483. func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
  30484. s.DryRun = &v
  30485. return s
  30486. }
  30487. // SetFilters sets the Filters field's value.
  30488. func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
  30489. s.Filters = v
  30490. return s
  30491. }
  30492. // SetSubnetIds sets the SubnetIds field's value.
  30493. func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
  30494. s.SubnetIds = v
  30495. return s
  30496. }
  30497. // Contains the output of DescribeSubnets.
  30498. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnetsResult
  30499. type DescribeSubnetsOutput struct {
  30500. _ struct{} `type:"structure"`
  30501. // Information about one or more subnets.
  30502. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  30503. }
  30504. // String returns the string representation
  30505. func (s DescribeSubnetsOutput) String() string {
  30506. return awsutil.Prettify(s)
  30507. }
  30508. // GoString returns the string representation
  30509. func (s DescribeSubnetsOutput) GoString() string {
  30510. return s.String()
  30511. }
  30512. // SetSubnets sets the Subnets field's value.
  30513. func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
  30514. s.Subnets = v
  30515. return s
  30516. }
  30517. // Contains the parameters for DescribeTags.
  30518. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTagsRequest
  30519. type DescribeTagsInput struct {
  30520. _ struct{} `type:"structure"`
  30521. // Checks whether you have the required permissions for the action, without
  30522. // actually making the request, and provides an error response. If you have
  30523. // the required permissions, the error response is DryRunOperation. Otherwise,
  30524. // it is UnauthorizedOperation.
  30525. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30526. // One or more filters.
  30527. //
  30528. // * key - The tag key.
  30529. //
  30530. // * resource-id - The resource ID.
  30531. //
  30532. // * resource-type - The resource type (customer-gateway | dhcp-options |
  30533. // image | instance | internet-gateway | network-acl | network-interface
  30534. // | reserved-instances | route-table | security-group | snapshot | spot-instances-request
  30535. // | subnet | volume | vpc | vpn-connection | vpn-gateway).
  30536. //
  30537. // * value - The tag value.
  30538. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30539. // The maximum number of results to return in a single call. This value can
  30540. // be between 5 and 1000. To retrieve the remaining results, make another call
  30541. // with the returned NextToken value.
  30542. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30543. // The token to retrieve the next page of results.
  30544. NextToken *string `locationName:"nextToken" type:"string"`
  30545. }
  30546. // String returns the string representation
  30547. func (s DescribeTagsInput) String() string {
  30548. return awsutil.Prettify(s)
  30549. }
  30550. // GoString returns the string representation
  30551. func (s DescribeTagsInput) GoString() string {
  30552. return s.String()
  30553. }
  30554. // SetDryRun sets the DryRun field's value.
  30555. func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
  30556. s.DryRun = &v
  30557. return s
  30558. }
  30559. // SetFilters sets the Filters field's value.
  30560. func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
  30561. s.Filters = v
  30562. return s
  30563. }
  30564. // SetMaxResults sets the MaxResults field's value.
  30565. func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
  30566. s.MaxResults = &v
  30567. return s
  30568. }
  30569. // SetNextToken sets the NextToken field's value.
  30570. func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
  30571. s.NextToken = &v
  30572. return s
  30573. }
  30574. // Contains the output of DescribeTags.
  30575. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTagsResult
  30576. type DescribeTagsOutput struct {
  30577. _ struct{} `type:"structure"`
  30578. // The token to use to retrieve the next page of results. This value is null
  30579. // when there are no more results to return..
  30580. NextToken *string `locationName:"nextToken" type:"string"`
  30581. // A list of tags.
  30582. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  30583. }
  30584. // String returns the string representation
  30585. func (s DescribeTagsOutput) String() string {
  30586. return awsutil.Prettify(s)
  30587. }
  30588. // GoString returns the string representation
  30589. func (s DescribeTagsOutput) GoString() string {
  30590. return s.String()
  30591. }
  30592. // SetNextToken sets the NextToken field's value.
  30593. func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
  30594. s.NextToken = &v
  30595. return s
  30596. }
  30597. // SetTags sets the Tags field's value.
  30598. func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
  30599. s.Tags = v
  30600. return s
  30601. }
  30602. // Contains the parameters for DescribeVolumeAttribute.
  30603. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttributeRequest
  30604. type DescribeVolumeAttributeInput struct {
  30605. _ struct{} `type:"structure"`
  30606. // The instance attribute.
  30607. Attribute *string `type:"string" enum:"VolumeAttributeName"`
  30608. // Checks whether you have the required permissions for the action, without
  30609. // actually making the request, and provides an error response. If you have
  30610. // the required permissions, the error response is DryRunOperation. Otherwise,
  30611. // it is UnauthorizedOperation.
  30612. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30613. // The ID of the volume.
  30614. //
  30615. // VolumeId is a required field
  30616. VolumeId *string `type:"string" required:"true"`
  30617. }
  30618. // String returns the string representation
  30619. func (s DescribeVolumeAttributeInput) String() string {
  30620. return awsutil.Prettify(s)
  30621. }
  30622. // GoString returns the string representation
  30623. func (s DescribeVolumeAttributeInput) GoString() string {
  30624. return s.String()
  30625. }
  30626. // Validate inspects the fields of the type to determine if they are valid.
  30627. func (s *DescribeVolumeAttributeInput) Validate() error {
  30628. invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
  30629. if s.VolumeId == nil {
  30630. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  30631. }
  30632. if invalidParams.Len() > 0 {
  30633. return invalidParams
  30634. }
  30635. return nil
  30636. }
  30637. // SetAttribute sets the Attribute field's value.
  30638. func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
  30639. s.Attribute = &v
  30640. return s
  30641. }
  30642. // SetDryRun sets the DryRun field's value.
  30643. func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
  30644. s.DryRun = &v
  30645. return s
  30646. }
  30647. // SetVolumeId sets the VolumeId field's value.
  30648. func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
  30649. s.VolumeId = &v
  30650. return s
  30651. }
  30652. // Contains the output of DescribeVolumeAttribute.
  30653. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttributeResult
  30654. type DescribeVolumeAttributeOutput struct {
  30655. _ struct{} `type:"structure"`
  30656. // The state of autoEnableIO attribute.
  30657. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  30658. // A list of product codes.
  30659. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  30660. // The ID of the volume.
  30661. VolumeId *string `locationName:"volumeId" type:"string"`
  30662. }
  30663. // String returns the string representation
  30664. func (s DescribeVolumeAttributeOutput) String() string {
  30665. return awsutil.Prettify(s)
  30666. }
  30667. // GoString returns the string representation
  30668. func (s DescribeVolumeAttributeOutput) GoString() string {
  30669. return s.String()
  30670. }
  30671. // SetAutoEnableIO sets the AutoEnableIO field's value.
  30672. func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
  30673. s.AutoEnableIO = v
  30674. return s
  30675. }
  30676. // SetProductCodes sets the ProductCodes field's value.
  30677. func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
  30678. s.ProductCodes = v
  30679. return s
  30680. }
  30681. // SetVolumeId sets the VolumeId field's value.
  30682. func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
  30683. s.VolumeId = &v
  30684. return s
  30685. }
  30686. // Contains the parameters for DescribeVolumeStatus.
  30687. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatusRequest
  30688. type DescribeVolumeStatusInput struct {
  30689. _ struct{} `type:"structure"`
  30690. // Checks whether you have the required permissions for the action, without
  30691. // actually making the request, and provides an error response. If you have
  30692. // the required permissions, the error response is DryRunOperation. Otherwise,
  30693. // it is UnauthorizedOperation.
  30694. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30695. // One or more filters.
  30696. //
  30697. // * action.code - The action code for the event (for example, enable-volume-io).
  30698. //
  30699. // * action.description - A description of the action.
  30700. //
  30701. // * action.event-id - The event ID associated with the action.
  30702. //
  30703. // * availability-zone - The Availability Zone of the instance.
  30704. //
  30705. // * event.description - A description of the event.
  30706. //
  30707. // * event.event-id - The event ID.
  30708. //
  30709. // * event.event-type - The event type (for io-enabled: passed | failed;
  30710. // for io-performance: io-performance:degraded | io-performance:severely-degraded
  30711. // | io-performance:stalled).
  30712. //
  30713. // * event.not-after - The latest end time for the event.
  30714. //
  30715. // * event.not-before - The earliest start time for the event.
  30716. //
  30717. // * volume-status.details-name - The cause for volume-status.status (io-enabled
  30718. // | io-performance).
  30719. //
  30720. // * volume-status.details-status - The status of volume-status.details-name
  30721. // (for io-enabled: passed | failed; for io-performance: normal | degraded
  30722. // | severely-degraded | stalled).
  30723. //
  30724. // * volume-status.status - The status of the volume (ok | impaired | warning
  30725. // | insufficient-data).
  30726. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30727. // The maximum number of volume results returned by DescribeVolumeStatus in
  30728. // paginated output. When this parameter is used, the request only returns MaxResults
  30729. // results in a single page along with a NextToken response element. The remaining
  30730. // results of the initial request can be seen by sending another request with
  30731. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  30732. // is given a value larger than 1000, only 1000 results are returned. If this
  30733. // parameter is not used, then DescribeVolumeStatus returns all results. You
  30734. // cannot specify this parameter and the volume IDs parameter in the same request.
  30735. MaxResults *int64 `type:"integer"`
  30736. // The NextToken value to include in a future DescribeVolumeStatus request.
  30737. // When the results of the request exceed MaxResults, this value can be used
  30738. // to retrieve the next page of results. This value is null when there are no
  30739. // more results to return.
  30740. NextToken *string `type:"string"`
  30741. // One or more volume IDs.
  30742. //
  30743. // Default: Describes all your volumes.
  30744. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  30745. }
  30746. // String returns the string representation
  30747. func (s DescribeVolumeStatusInput) String() string {
  30748. return awsutil.Prettify(s)
  30749. }
  30750. // GoString returns the string representation
  30751. func (s DescribeVolumeStatusInput) GoString() string {
  30752. return s.String()
  30753. }
  30754. // SetDryRun sets the DryRun field's value.
  30755. func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
  30756. s.DryRun = &v
  30757. return s
  30758. }
  30759. // SetFilters sets the Filters field's value.
  30760. func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
  30761. s.Filters = v
  30762. return s
  30763. }
  30764. // SetMaxResults sets the MaxResults field's value.
  30765. func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
  30766. s.MaxResults = &v
  30767. return s
  30768. }
  30769. // SetNextToken sets the NextToken field's value.
  30770. func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
  30771. s.NextToken = &v
  30772. return s
  30773. }
  30774. // SetVolumeIds sets the VolumeIds field's value.
  30775. func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
  30776. s.VolumeIds = v
  30777. return s
  30778. }
  30779. // Contains the output of DescribeVolumeStatus.
  30780. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatusResult
  30781. type DescribeVolumeStatusOutput struct {
  30782. _ struct{} `type:"structure"`
  30783. // The token to use to retrieve the next page of results. This value is null
  30784. // when there are no more results to return.
  30785. NextToken *string `locationName:"nextToken" type:"string"`
  30786. // A list of volumes.
  30787. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  30788. }
  30789. // String returns the string representation
  30790. func (s DescribeVolumeStatusOutput) String() string {
  30791. return awsutil.Prettify(s)
  30792. }
  30793. // GoString returns the string representation
  30794. func (s DescribeVolumeStatusOutput) GoString() string {
  30795. return s.String()
  30796. }
  30797. // SetNextToken sets the NextToken field's value.
  30798. func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
  30799. s.NextToken = &v
  30800. return s
  30801. }
  30802. // SetVolumeStatuses sets the VolumeStatuses field's value.
  30803. func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
  30804. s.VolumeStatuses = v
  30805. return s
  30806. }
  30807. // Contains the parameters for DescribeVolumes.
  30808. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesRequest
  30809. type DescribeVolumesInput struct {
  30810. _ struct{} `type:"structure"`
  30811. // Checks whether you have the required permissions for the action, without
  30812. // actually making the request, and provides an error response. If you have
  30813. // the required permissions, the error response is DryRunOperation. Otherwise,
  30814. // it is UnauthorizedOperation.
  30815. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30816. // One or more filters.
  30817. //
  30818. // * attachment.attach-time - The time stamp when the attachment initiated.
  30819. //
  30820. // * attachment.delete-on-termination - Whether the volume is deleted on
  30821. // instance termination.
  30822. //
  30823. // * attachment.device - The device name that is exposed to the instance
  30824. // (for example, /dev/sda1).
  30825. //
  30826. // * attachment.instance-id - The ID of the instance the volume is attached
  30827. // to.
  30828. //
  30829. // * attachment.status - The attachment state (attaching | attached | detaching
  30830. // | detached).
  30831. //
  30832. // * availability-zone - The Availability Zone in which the volume was created.
  30833. //
  30834. // * create-time - The time stamp when the volume was created.
  30835. //
  30836. // * encrypted - The encryption status of the volume.
  30837. //
  30838. // * size - The size of the volume, in GiB.
  30839. //
  30840. // * snapshot-id - The snapshot from which the volume was created.
  30841. //
  30842. // * status - The status of the volume (creating | available | in-use | deleting
  30843. // | deleted | error).
  30844. //
  30845. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30846. // Specify the key of the tag in the filter name and the value of the tag
  30847. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30848. // for the filter name and X for the filter value.
  30849. //
  30850. // * tag-key - The key of a tag assigned to the resource. This filter is
  30851. // independent of the tag-value filter. For example, if you use both the
  30852. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30853. // assigned both the tag key Purpose (regardless of what the tag's value
  30854. // is), and the tag value X (regardless of what the tag's key is). If you
  30855. // want to list only resources where Purpose is X, see the tag:key=value
  30856. // filter.
  30857. //
  30858. // * tag-value - The value of a tag assigned to the resource. This filter
  30859. // is independent of the tag-key filter.
  30860. //
  30861. // * volume-id - The volume ID.
  30862. //
  30863. // * volume-type - The Amazon EBS volume type. This can be gp2 for General
  30864. // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
  30865. // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
  30866. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30867. // The maximum number of volume results returned by DescribeVolumes in paginated
  30868. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  30869. // results in a single page along with a NextToken response element. The remaining
  30870. // results of the initial request can be seen by sending another DescribeVolumes
  30871. // request with the returned NextToken value. This value can be between 5 and
  30872. // 500; if MaxResults is given a value larger than 500, only 500 results are
  30873. // returned. If this parameter is not used, then DescribeVolumes returns all
  30874. // results. You cannot specify this parameter and the volume IDs parameter in
  30875. // the same request.
  30876. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30877. // The NextToken value returned from a previous paginated DescribeVolumes request
  30878. // where MaxResults was used and the results exceeded the value of that parameter.
  30879. // Pagination continues from the end of the previous results that returned the
  30880. // NextToken value. This value is null when there are no more results to return.
  30881. NextToken *string `locationName:"nextToken" type:"string"`
  30882. // One or more volume IDs.
  30883. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  30884. }
  30885. // String returns the string representation
  30886. func (s DescribeVolumesInput) String() string {
  30887. return awsutil.Prettify(s)
  30888. }
  30889. // GoString returns the string representation
  30890. func (s DescribeVolumesInput) GoString() string {
  30891. return s.String()
  30892. }
  30893. // SetDryRun sets the DryRun field's value.
  30894. func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
  30895. s.DryRun = &v
  30896. return s
  30897. }
  30898. // SetFilters sets the Filters field's value.
  30899. func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
  30900. s.Filters = v
  30901. return s
  30902. }
  30903. // SetMaxResults sets the MaxResults field's value.
  30904. func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
  30905. s.MaxResults = &v
  30906. return s
  30907. }
  30908. // SetNextToken sets the NextToken field's value.
  30909. func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
  30910. s.NextToken = &v
  30911. return s
  30912. }
  30913. // SetVolumeIds sets the VolumeIds field's value.
  30914. func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
  30915. s.VolumeIds = v
  30916. return s
  30917. }
  30918. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModificationsRequest
  30919. type DescribeVolumesModificationsInput struct {
  30920. _ struct{} `type:"structure"`
  30921. // Checks whether you have the required permissions for the action, without
  30922. // actually making the request, and provides an error response. If you have
  30923. // the required permissions, the error response is DryRunOperation. Otherwise,
  30924. // it is UnauthorizedOperation.
  30925. DryRun *bool `type:"boolean"`
  30926. // One or more filters. Supported filters: volume-id, modification-state, target-size,
  30927. // target-iops, target-volume-type, original-size, original-iops, original-volume-type,
  30928. // start-time.
  30929. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30930. // The maximum number of results (up to a limit of 500) to be returned in a
  30931. // paginated request.
  30932. MaxResults *int64 `type:"integer"`
  30933. // The nextToken value returned by a previous paginated request.
  30934. NextToken *string `type:"string"`
  30935. // One or more volume IDs for which in-progress modifications will be described.
  30936. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  30937. }
  30938. // String returns the string representation
  30939. func (s DescribeVolumesModificationsInput) String() string {
  30940. return awsutil.Prettify(s)
  30941. }
  30942. // GoString returns the string representation
  30943. func (s DescribeVolumesModificationsInput) GoString() string {
  30944. return s.String()
  30945. }
  30946. // SetDryRun sets the DryRun field's value.
  30947. func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
  30948. s.DryRun = &v
  30949. return s
  30950. }
  30951. // SetFilters sets the Filters field's value.
  30952. func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
  30953. s.Filters = v
  30954. return s
  30955. }
  30956. // SetMaxResults sets the MaxResults field's value.
  30957. func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
  30958. s.MaxResults = &v
  30959. return s
  30960. }
  30961. // SetNextToken sets the NextToken field's value.
  30962. func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
  30963. s.NextToken = &v
  30964. return s
  30965. }
  30966. // SetVolumeIds sets the VolumeIds field's value.
  30967. func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
  30968. s.VolumeIds = v
  30969. return s
  30970. }
  30971. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModificationsResult
  30972. type DescribeVolumesModificationsOutput struct {
  30973. _ struct{} `type:"structure"`
  30974. // Token for pagination, null if there are no more results
  30975. NextToken *string `locationName:"nextToken" type:"string"`
  30976. // A list of returned VolumeModification objects.
  30977. VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
  30978. }
  30979. // String returns the string representation
  30980. func (s DescribeVolumesModificationsOutput) String() string {
  30981. return awsutil.Prettify(s)
  30982. }
  30983. // GoString returns the string representation
  30984. func (s DescribeVolumesModificationsOutput) GoString() string {
  30985. return s.String()
  30986. }
  30987. // SetNextToken sets the NextToken field's value.
  30988. func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
  30989. s.NextToken = &v
  30990. return s
  30991. }
  30992. // SetVolumesModifications sets the VolumesModifications field's value.
  30993. func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
  30994. s.VolumesModifications = v
  30995. return s
  30996. }
  30997. // Contains the output of DescribeVolumes.
  30998. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesResult
  30999. type DescribeVolumesOutput struct {
  31000. _ struct{} `type:"structure"`
  31001. // The NextToken value to include in a future DescribeVolumes request. When
  31002. // the results of a DescribeVolumes request exceed MaxResults, this value can
  31003. // be used to retrieve the next page of results. This value is null when there
  31004. // are no more results to return.
  31005. NextToken *string `locationName:"nextToken" type:"string"`
  31006. // Information about the volumes.
  31007. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  31008. }
  31009. // String returns the string representation
  31010. func (s DescribeVolumesOutput) String() string {
  31011. return awsutil.Prettify(s)
  31012. }
  31013. // GoString returns the string representation
  31014. func (s DescribeVolumesOutput) GoString() string {
  31015. return s.String()
  31016. }
  31017. // SetNextToken sets the NextToken field's value.
  31018. func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
  31019. s.NextToken = &v
  31020. return s
  31021. }
  31022. // SetVolumes sets the Volumes field's value.
  31023. func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
  31024. s.Volumes = v
  31025. return s
  31026. }
  31027. // Contains the parameters for DescribeVpcAttribute.
  31028. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttributeRequest
  31029. type DescribeVpcAttributeInput struct {
  31030. _ struct{} `type:"structure"`
  31031. // The VPC attribute.
  31032. //
  31033. // Attribute is a required field
  31034. Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
  31035. // Checks whether you have the required permissions for the action, without
  31036. // actually making the request, and provides an error response. If you have
  31037. // the required permissions, the error response is DryRunOperation. Otherwise,
  31038. // it is UnauthorizedOperation.
  31039. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31040. // The ID of the VPC.
  31041. //
  31042. // VpcId is a required field
  31043. VpcId *string `type:"string" required:"true"`
  31044. }
  31045. // String returns the string representation
  31046. func (s DescribeVpcAttributeInput) String() string {
  31047. return awsutil.Prettify(s)
  31048. }
  31049. // GoString returns the string representation
  31050. func (s DescribeVpcAttributeInput) GoString() string {
  31051. return s.String()
  31052. }
  31053. // Validate inspects the fields of the type to determine if they are valid.
  31054. func (s *DescribeVpcAttributeInput) Validate() error {
  31055. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
  31056. if s.Attribute == nil {
  31057. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  31058. }
  31059. if s.VpcId == nil {
  31060. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  31061. }
  31062. if invalidParams.Len() > 0 {
  31063. return invalidParams
  31064. }
  31065. return nil
  31066. }
  31067. // SetAttribute sets the Attribute field's value.
  31068. func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
  31069. s.Attribute = &v
  31070. return s
  31071. }
  31072. // SetDryRun sets the DryRun field's value.
  31073. func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
  31074. s.DryRun = &v
  31075. return s
  31076. }
  31077. // SetVpcId sets the VpcId field's value.
  31078. func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
  31079. s.VpcId = &v
  31080. return s
  31081. }
  31082. // Contains the output of DescribeVpcAttribute.
  31083. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttributeResult
  31084. type DescribeVpcAttributeOutput struct {
  31085. _ struct{} `type:"structure"`
  31086. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  31087. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  31088. // they do not.
  31089. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  31090. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  31091. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  31092. // to their corresponding IP addresses; otherwise, it does not.
  31093. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  31094. // The ID of the VPC.
  31095. VpcId *string `locationName:"vpcId" type:"string"`
  31096. }
  31097. // String returns the string representation
  31098. func (s DescribeVpcAttributeOutput) String() string {
  31099. return awsutil.Prettify(s)
  31100. }
  31101. // GoString returns the string representation
  31102. func (s DescribeVpcAttributeOutput) GoString() string {
  31103. return s.String()
  31104. }
  31105. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  31106. func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  31107. s.EnableDnsHostnames = v
  31108. return s
  31109. }
  31110. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  31111. func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  31112. s.EnableDnsSupport = v
  31113. return s
  31114. }
  31115. // SetVpcId sets the VpcId field's value.
  31116. func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
  31117. s.VpcId = &v
  31118. return s
  31119. }
  31120. // Contains the parameters for DescribeVpcClassicLinkDnsSupport.
  31121. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupportRequest
  31122. type DescribeVpcClassicLinkDnsSupportInput struct {
  31123. _ struct{} `type:"structure"`
  31124. // The maximum number of items to return for this request. The request returns
  31125. // a token that you can specify in a subsequent call to get the next set of
  31126. // results.
  31127. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  31128. // The token for the next set of items to return. (You received this token from
  31129. // a prior call.)
  31130. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  31131. // One or more VPC IDs.
  31132. VpcIds []*string `locationNameList:"VpcId" type:"list"`
  31133. }
  31134. // String returns the string representation
  31135. func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
  31136. return awsutil.Prettify(s)
  31137. }
  31138. // GoString returns the string representation
  31139. func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
  31140. return s.String()
  31141. }
  31142. // Validate inspects the fields of the type to determine if they are valid.
  31143. func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
  31144. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
  31145. if s.MaxResults != nil && *s.MaxResults < 5 {
  31146. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  31147. }
  31148. if s.NextToken != nil && len(*s.NextToken) < 1 {
  31149. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  31150. }
  31151. if invalidParams.Len() > 0 {
  31152. return invalidParams
  31153. }
  31154. return nil
  31155. }
  31156. // SetMaxResults sets the MaxResults field's value.
  31157. func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
  31158. s.MaxResults = &v
  31159. return s
  31160. }
  31161. // SetNextToken sets the NextToken field's value.
  31162. func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
  31163. s.NextToken = &v
  31164. return s
  31165. }
  31166. // SetVpcIds sets the VpcIds field's value.
  31167. func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
  31168. s.VpcIds = v
  31169. return s
  31170. }
  31171. // Contains the output of DescribeVpcClassicLinkDnsSupport.
  31172. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupportResult
  31173. type DescribeVpcClassicLinkDnsSupportOutput struct {
  31174. _ struct{} `type:"structure"`
  31175. // The token to use when requesting the next set of items.
  31176. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  31177. // Information about the ClassicLink DNS support status of the VPCs.
  31178. Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
  31179. }
  31180. // String returns the string representation
  31181. func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
  31182. return awsutil.Prettify(s)
  31183. }
  31184. // GoString returns the string representation
  31185. func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
  31186. return s.String()
  31187. }
  31188. // SetNextToken sets the NextToken field's value.
  31189. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
  31190. s.NextToken = &v
  31191. return s
  31192. }
  31193. // SetVpcs sets the Vpcs field's value.
  31194. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
  31195. s.Vpcs = v
  31196. return s
  31197. }
  31198. // Contains the parameters for DescribeVpcClassicLink.
  31199. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkRequest
  31200. type DescribeVpcClassicLinkInput struct {
  31201. _ struct{} `type:"structure"`
  31202. // Checks whether you have the required permissions for the action, without
  31203. // actually making the request, and provides an error response. If you have
  31204. // the required permissions, the error response is DryRunOperation. Otherwise,
  31205. // it is UnauthorizedOperation.
  31206. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31207. // One or more filters.
  31208. //
  31209. // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
  31210. // (true | false).
  31211. //
  31212. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31213. // Specify the key of the tag in the filter name and the value of the tag
  31214. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31215. // for the filter name and X for the filter value.
  31216. //
  31217. // * tag-key - The key of a tag assigned to the resource. This filter is
  31218. // independent of the tag-value filter. For example, if you use both the
  31219. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31220. // assigned both the tag key Purpose (regardless of what the tag's value
  31221. // is), and the tag value X (regardless of what the tag's key is). If you
  31222. // want to list only resources where Purpose is X, see the tag:key=value
  31223. // filter.
  31224. //
  31225. // * tag-value - The value of a tag assigned to the resource. This filter
  31226. // is independent of the tag-key filter.
  31227. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31228. // One or more VPCs for which you want to describe the ClassicLink status.
  31229. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  31230. }
  31231. // String returns the string representation
  31232. func (s DescribeVpcClassicLinkInput) String() string {
  31233. return awsutil.Prettify(s)
  31234. }
  31235. // GoString returns the string representation
  31236. func (s DescribeVpcClassicLinkInput) GoString() string {
  31237. return s.String()
  31238. }
  31239. // SetDryRun sets the DryRun field's value.
  31240. func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
  31241. s.DryRun = &v
  31242. return s
  31243. }
  31244. // SetFilters sets the Filters field's value.
  31245. func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
  31246. s.Filters = v
  31247. return s
  31248. }
  31249. // SetVpcIds sets the VpcIds field's value.
  31250. func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
  31251. s.VpcIds = v
  31252. return s
  31253. }
  31254. // Contains the output of DescribeVpcClassicLink.
  31255. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkResult
  31256. type DescribeVpcClassicLinkOutput struct {
  31257. _ struct{} `type:"structure"`
  31258. // The ClassicLink status of one or more VPCs.
  31259. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  31260. }
  31261. // String returns the string representation
  31262. func (s DescribeVpcClassicLinkOutput) String() string {
  31263. return awsutil.Prettify(s)
  31264. }
  31265. // GoString returns the string representation
  31266. func (s DescribeVpcClassicLinkOutput) GoString() string {
  31267. return s.String()
  31268. }
  31269. // SetVpcs sets the Vpcs field's value.
  31270. func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
  31271. s.Vpcs = v
  31272. return s
  31273. }
  31274. // Contains the parameters for DescribeVpcEndpointServices.
  31275. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicesRequest
  31276. type DescribeVpcEndpointServicesInput struct {
  31277. _ struct{} `type:"structure"`
  31278. // Checks whether you have the required permissions for the action, without
  31279. // actually making the request, and provides an error response. If you have
  31280. // the required permissions, the error response is DryRunOperation. Otherwise,
  31281. // it is UnauthorizedOperation.
  31282. DryRun *bool `type:"boolean"`
  31283. // The maximum number of items to return for this request. The request returns
  31284. // a token that you can specify in a subsequent call to get the next set of
  31285. // results.
  31286. //
  31287. // Constraint: If the value is greater than 1000, we return only 1000 items.
  31288. MaxResults *int64 `type:"integer"`
  31289. // The token for the next set of items to return. (You received this token from
  31290. // a prior call.)
  31291. NextToken *string `type:"string"`
  31292. }
  31293. // String returns the string representation
  31294. func (s DescribeVpcEndpointServicesInput) String() string {
  31295. return awsutil.Prettify(s)
  31296. }
  31297. // GoString returns the string representation
  31298. func (s DescribeVpcEndpointServicesInput) GoString() string {
  31299. return s.String()
  31300. }
  31301. // SetDryRun sets the DryRun field's value.
  31302. func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
  31303. s.DryRun = &v
  31304. return s
  31305. }
  31306. // SetMaxResults sets the MaxResults field's value.
  31307. func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
  31308. s.MaxResults = &v
  31309. return s
  31310. }
  31311. // SetNextToken sets the NextToken field's value.
  31312. func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
  31313. s.NextToken = &v
  31314. return s
  31315. }
  31316. // Contains the output of DescribeVpcEndpointServices.
  31317. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicesResult
  31318. type DescribeVpcEndpointServicesOutput struct {
  31319. _ struct{} `type:"structure"`
  31320. // The token to use when requesting the next set of items. If there are no additional
  31321. // items to return, the string is empty.
  31322. NextToken *string `locationName:"nextToken" type:"string"`
  31323. // A list of supported AWS services.
  31324. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  31325. }
  31326. // String returns the string representation
  31327. func (s DescribeVpcEndpointServicesOutput) String() string {
  31328. return awsutil.Prettify(s)
  31329. }
  31330. // GoString returns the string representation
  31331. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  31332. return s.String()
  31333. }
  31334. // SetNextToken sets the NextToken field's value.
  31335. func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
  31336. s.NextToken = &v
  31337. return s
  31338. }
  31339. // SetServiceNames sets the ServiceNames field's value.
  31340. func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
  31341. s.ServiceNames = v
  31342. return s
  31343. }
  31344. // Contains the parameters for DescribeVpcEndpoints.
  31345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsRequest
  31346. type DescribeVpcEndpointsInput struct {
  31347. _ struct{} `type:"structure"`
  31348. // Checks whether you have the required permissions for the action, without
  31349. // actually making the request, and provides an error response. If you have
  31350. // the required permissions, the error response is DryRunOperation. Otherwise,
  31351. // it is UnauthorizedOperation.
  31352. DryRun *bool `type:"boolean"`
  31353. // One or more filters.
  31354. //
  31355. // * service-name: The name of the AWS service.
  31356. //
  31357. // * vpc-id: The ID of the VPC in which the endpoint resides.
  31358. //
  31359. // * vpc-endpoint-id: The ID of the endpoint.
  31360. //
  31361. // * vpc-endpoint-state: The state of the endpoint. (pending | available
  31362. // | deleting | deleted)
  31363. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31364. // The maximum number of items to return for this request. The request returns
  31365. // a token that you can specify in a subsequent call to get the next set of
  31366. // results.
  31367. //
  31368. // Constraint: If the value is greater than 1000, we return only 1000 items.
  31369. MaxResults *int64 `type:"integer"`
  31370. // The token for the next set of items to return. (You received this token from
  31371. // a prior call.)
  31372. NextToken *string `type:"string"`
  31373. // One or more endpoint IDs.
  31374. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  31375. }
  31376. // String returns the string representation
  31377. func (s DescribeVpcEndpointsInput) String() string {
  31378. return awsutil.Prettify(s)
  31379. }
  31380. // GoString returns the string representation
  31381. func (s DescribeVpcEndpointsInput) GoString() string {
  31382. return s.String()
  31383. }
  31384. // SetDryRun sets the DryRun field's value.
  31385. func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
  31386. s.DryRun = &v
  31387. return s
  31388. }
  31389. // SetFilters sets the Filters field's value.
  31390. func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
  31391. s.Filters = v
  31392. return s
  31393. }
  31394. // SetMaxResults sets the MaxResults field's value.
  31395. func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
  31396. s.MaxResults = &v
  31397. return s
  31398. }
  31399. // SetNextToken sets the NextToken field's value.
  31400. func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
  31401. s.NextToken = &v
  31402. return s
  31403. }
  31404. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  31405. func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
  31406. s.VpcEndpointIds = v
  31407. return s
  31408. }
  31409. // Contains the output of DescribeVpcEndpoints.
  31410. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsResult
  31411. type DescribeVpcEndpointsOutput struct {
  31412. _ struct{} `type:"structure"`
  31413. // The token to use when requesting the next set of items. If there are no additional
  31414. // items to return, the string is empty.
  31415. NextToken *string `locationName:"nextToken" type:"string"`
  31416. // Information about the endpoints.
  31417. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  31418. }
  31419. // String returns the string representation
  31420. func (s DescribeVpcEndpointsOutput) String() string {
  31421. return awsutil.Prettify(s)
  31422. }
  31423. // GoString returns the string representation
  31424. func (s DescribeVpcEndpointsOutput) GoString() string {
  31425. return s.String()
  31426. }
  31427. // SetNextToken sets the NextToken field's value.
  31428. func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
  31429. s.NextToken = &v
  31430. return s
  31431. }
  31432. // SetVpcEndpoints sets the VpcEndpoints field's value.
  31433. func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
  31434. s.VpcEndpoints = v
  31435. return s
  31436. }
  31437. // Contains the parameters for DescribeVpcPeeringConnections.
  31438. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnectionsRequest
  31439. type DescribeVpcPeeringConnectionsInput struct {
  31440. _ struct{} `type:"structure"`
  31441. // Checks whether you have the required permissions for the action, without
  31442. // actually making the request, and provides an error response. If you have
  31443. // the required permissions, the error response is DryRunOperation. Otherwise,
  31444. // it is UnauthorizedOperation.
  31445. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31446. // One or more filters.
  31447. //
  31448. // * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the peer VPC.
  31449. //
  31450. // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
  31451. // peer VPC.
  31452. //
  31453. // * accepter-vpc-info.vpc-id - The ID of the peer VPC.
  31454. //
  31455. // * expiration-time - The expiration date and time for the VPC peering connection.
  31456. //
  31457. // * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
  31458. // VPC.
  31459. //
  31460. // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
  31461. // requester VPC.
  31462. //
  31463. // * requester-vpc-info.vpc-id - The ID of the requester VPC.
  31464. //
  31465. // * status-code - The status of the VPC peering connection (pending-acceptance
  31466. // | failed | expired | provisioning | active | deleted | rejected).
  31467. //
  31468. // * status-message - A message that provides more information about the
  31469. // status of the VPC peering connection, if applicable.
  31470. //
  31471. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31472. // Specify the key of the tag in the filter name and the value of the tag
  31473. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31474. // for the filter name and X for the filter value.
  31475. //
  31476. // * tag-key - The key of a tag assigned to the resource. This filter is
  31477. // independent of the tag-value filter. For example, if you use both the
  31478. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31479. // assigned both the tag key Purpose (regardless of what the tag's value
  31480. // is), and the tag value X (regardless of what the tag's key is). If you
  31481. // want to list only resources where Purpose is X, see the tag:key=value
  31482. // filter.
  31483. //
  31484. // * tag-value - The value of a tag assigned to the resource. This filter
  31485. // is independent of the tag-key filter.
  31486. //
  31487. // * vpc-peering-connection-id - The ID of the VPC peering connection.
  31488. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31489. // One or more VPC peering connection IDs.
  31490. //
  31491. // Default: Describes all your VPC peering connections.
  31492. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  31493. }
  31494. // String returns the string representation
  31495. func (s DescribeVpcPeeringConnectionsInput) String() string {
  31496. return awsutil.Prettify(s)
  31497. }
  31498. // GoString returns the string representation
  31499. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  31500. return s.String()
  31501. }
  31502. // SetDryRun sets the DryRun field's value.
  31503. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
  31504. s.DryRun = &v
  31505. return s
  31506. }
  31507. // SetFilters sets the Filters field's value.
  31508. func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
  31509. s.Filters = v
  31510. return s
  31511. }
  31512. // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
  31513. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
  31514. s.VpcPeeringConnectionIds = v
  31515. return s
  31516. }
  31517. // Contains the output of DescribeVpcPeeringConnections.
  31518. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnectionsResult
  31519. type DescribeVpcPeeringConnectionsOutput struct {
  31520. _ struct{} `type:"structure"`
  31521. // Information about the VPC peering connections.
  31522. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  31523. }
  31524. // String returns the string representation
  31525. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  31526. return awsutil.Prettify(s)
  31527. }
  31528. // GoString returns the string representation
  31529. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  31530. return s.String()
  31531. }
  31532. // SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
  31533. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
  31534. s.VpcPeeringConnections = v
  31535. return s
  31536. }
  31537. // Contains the parameters for DescribeVpcs.
  31538. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcsRequest
  31539. type DescribeVpcsInput struct {
  31540. _ struct{} `type:"structure"`
  31541. // Checks whether you have the required permissions for the action, without
  31542. // actually making the request, and provides an error response. If you have
  31543. // the required permissions, the error response is DryRunOperation. Otherwise,
  31544. // it is UnauthorizedOperation.
  31545. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31546. // One or more filters.
  31547. //
  31548. // * cidr - The IPv4 CIDR block of the VPC. The CIDR block you specify must
  31549. // exactly match the VPC's CIDR block for information to be returned for
  31550. // the VPC. Must contain the slash followed by one or two digits (for example,
  31551. // /28).
  31552. //
  31553. // * dhcp-options-id - The ID of a set of DHCP options.
  31554. //
  31555. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  31556. // with the VPC.
  31557. //
  31558. // * ipv6-cidr-block-association.association-id - The association ID for
  31559. // an IPv6 CIDR block associated with the VPC.
  31560. //
  31561. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  31562. // associated with the VPC.
  31563. //
  31564. // * isDefault - Indicates whether the VPC is the default VPC.
  31565. //
  31566. // * state - The state of the VPC (pending | available).
  31567. //
  31568. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31569. // Specify the key of the tag in the filter name and the value of the tag
  31570. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31571. // for the filter name and X for the filter value.
  31572. //
  31573. // * tag-key - The key of a tag assigned to the resource. This filter is
  31574. // independent of the tag-value filter. For example, if you use both the
  31575. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31576. // assigned both the tag key Purpose (regardless of what the tag's value
  31577. // is), and the tag value X (regardless of what the tag's key is). If you
  31578. // want to list only resources where Purpose is X, see the tag:key=value
  31579. // filter.
  31580. //
  31581. // * tag-value - The value of a tag assigned to the resource. This filter
  31582. // is independent of the tag-key filter.
  31583. //
  31584. // * vpc-id - The ID of the VPC.
  31585. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31586. // One or more VPC IDs.
  31587. //
  31588. // Default: Describes all your VPCs.
  31589. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  31590. }
  31591. // String returns the string representation
  31592. func (s DescribeVpcsInput) String() string {
  31593. return awsutil.Prettify(s)
  31594. }
  31595. // GoString returns the string representation
  31596. func (s DescribeVpcsInput) GoString() string {
  31597. return s.String()
  31598. }
  31599. // SetDryRun sets the DryRun field's value.
  31600. func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
  31601. s.DryRun = &v
  31602. return s
  31603. }
  31604. // SetFilters sets the Filters field's value.
  31605. func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
  31606. s.Filters = v
  31607. return s
  31608. }
  31609. // SetVpcIds sets the VpcIds field's value.
  31610. func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
  31611. s.VpcIds = v
  31612. return s
  31613. }
  31614. // Contains the output of DescribeVpcs.
  31615. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcsResult
  31616. type DescribeVpcsOutput struct {
  31617. _ struct{} `type:"structure"`
  31618. // Information about one or more VPCs.
  31619. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  31620. }
  31621. // String returns the string representation
  31622. func (s DescribeVpcsOutput) String() string {
  31623. return awsutil.Prettify(s)
  31624. }
  31625. // GoString returns the string representation
  31626. func (s DescribeVpcsOutput) GoString() string {
  31627. return s.String()
  31628. }
  31629. // SetVpcs sets the Vpcs field's value.
  31630. func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
  31631. s.Vpcs = v
  31632. return s
  31633. }
  31634. // Contains the parameters for DescribeVpnConnections.
  31635. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnectionsRequest
  31636. type DescribeVpnConnectionsInput struct {
  31637. _ struct{} `type:"structure"`
  31638. // Checks whether you have the required permissions for the action, without
  31639. // actually making the request, and provides an error response. If you have
  31640. // the required permissions, the error response is DryRunOperation. Otherwise,
  31641. // it is UnauthorizedOperation.
  31642. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31643. // One or more filters.
  31644. //
  31645. // * customer-gateway-configuration - The configuration information for the
  31646. // customer gateway.
  31647. //
  31648. // * customer-gateway-id - The ID of a customer gateway associated with the
  31649. // VPN connection.
  31650. //
  31651. // * state - The state of the VPN connection (pending | available | deleting
  31652. // | deleted).
  31653. //
  31654. // * option.static-routes-only - Indicates whether the connection has static
  31655. // routes only. Used for devices that do not support Border Gateway Protocol
  31656. // (BGP).
  31657. //
  31658. // * route.destination-cidr-block - The destination CIDR block. This corresponds
  31659. // to the subnet used in a customer data center.
  31660. //
  31661. // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  31662. // device.
  31663. //
  31664. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31665. // Specify the key of the tag in the filter name and the value of the tag
  31666. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31667. // for the filter name and X for the filter value.
  31668. //
  31669. // * tag-key - The key of a tag assigned to the resource. This filter is
  31670. // independent of the tag-value filter. For example, if you use both the
  31671. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31672. // assigned both the tag key Purpose (regardless of what the tag's value
  31673. // is), and the tag value X (regardless of what the tag's key is). If you
  31674. // want to list only resources where Purpose is X, see the tag:key=value
  31675. // filter.
  31676. //
  31677. // * tag-value - The value of a tag assigned to the resource. This filter
  31678. // is independent of the tag-key filter.
  31679. //
  31680. // * type - The type of VPN connection. Currently the only supported type
  31681. // is ipsec.1.
  31682. //
  31683. // * vpn-connection-id - The ID of the VPN connection.
  31684. //
  31685. // * vpn-gateway-id - The ID of a virtual private gateway associated with
  31686. // the VPN connection.
  31687. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31688. // One or more VPN connection IDs.
  31689. //
  31690. // Default: Describes your VPN connections.
  31691. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  31692. }
  31693. // String returns the string representation
  31694. func (s DescribeVpnConnectionsInput) String() string {
  31695. return awsutil.Prettify(s)
  31696. }
  31697. // GoString returns the string representation
  31698. func (s DescribeVpnConnectionsInput) GoString() string {
  31699. return s.String()
  31700. }
  31701. // SetDryRun sets the DryRun field's value.
  31702. func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
  31703. s.DryRun = &v
  31704. return s
  31705. }
  31706. // SetFilters sets the Filters field's value.
  31707. func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
  31708. s.Filters = v
  31709. return s
  31710. }
  31711. // SetVpnConnectionIds sets the VpnConnectionIds field's value.
  31712. func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
  31713. s.VpnConnectionIds = v
  31714. return s
  31715. }
  31716. // Contains the output of DescribeVpnConnections.
  31717. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnectionsResult
  31718. type DescribeVpnConnectionsOutput struct {
  31719. _ struct{} `type:"structure"`
  31720. // Information about one or more VPN connections.
  31721. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  31722. }
  31723. // String returns the string representation
  31724. func (s DescribeVpnConnectionsOutput) String() string {
  31725. return awsutil.Prettify(s)
  31726. }
  31727. // GoString returns the string representation
  31728. func (s DescribeVpnConnectionsOutput) GoString() string {
  31729. return s.String()
  31730. }
  31731. // SetVpnConnections sets the VpnConnections field's value.
  31732. func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
  31733. s.VpnConnections = v
  31734. return s
  31735. }
  31736. // Contains the parameters for DescribeVpnGateways.
  31737. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGatewaysRequest
  31738. type DescribeVpnGatewaysInput struct {
  31739. _ struct{} `type:"structure"`
  31740. // Checks whether you have the required permissions for the action, without
  31741. // actually making the request, and provides an error response. If you have
  31742. // the required permissions, the error response is DryRunOperation. Otherwise,
  31743. // it is UnauthorizedOperation.
  31744. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31745. // One or more filters.
  31746. //
  31747. // * attachment.state - The current state of the attachment between the gateway
  31748. // and the VPC (attaching | attached | detaching | detached).
  31749. //
  31750. // * attachment.vpc-id - The ID of an attached VPC.
  31751. //
  31752. // * availability-zone - The Availability Zone for the virtual private gateway
  31753. // (if applicable).
  31754. //
  31755. // * state - The state of the virtual private gateway (pending | available
  31756. // | deleting | deleted).
  31757. //
  31758. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31759. // Specify the key of the tag in the filter name and the value of the tag
  31760. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31761. // for the filter name and X for the filter value.
  31762. //
  31763. // * tag-key - The key of a tag assigned to the resource. This filter is
  31764. // independent of the tag-value filter. For example, if you use both the
  31765. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31766. // assigned both the tag key Purpose (regardless of what the tag's value
  31767. // is), and the tag value X (regardless of what the tag's key is). If you
  31768. // want to list only resources where Purpose is X, see the tag:key=value
  31769. // filter.
  31770. //
  31771. // * tag-value - The value of a tag assigned to the resource. This filter
  31772. // is independent of the tag-key filter.
  31773. //
  31774. // * type - The type of virtual private gateway. Currently the only supported
  31775. // type is ipsec.1.
  31776. //
  31777. // * vpn-gateway-id - The ID of the virtual private gateway.
  31778. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31779. // One or more virtual private gateway IDs.
  31780. //
  31781. // Default: Describes all your virtual private gateways.
  31782. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  31783. }
  31784. // String returns the string representation
  31785. func (s DescribeVpnGatewaysInput) String() string {
  31786. return awsutil.Prettify(s)
  31787. }
  31788. // GoString returns the string representation
  31789. func (s DescribeVpnGatewaysInput) GoString() string {
  31790. return s.String()
  31791. }
  31792. // SetDryRun sets the DryRun field's value.
  31793. func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
  31794. s.DryRun = &v
  31795. return s
  31796. }
  31797. // SetFilters sets the Filters field's value.
  31798. func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
  31799. s.Filters = v
  31800. return s
  31801. }
  31802. // SetVpnGatewayIds sets the VpnGatewayIds field's value.
  31803. func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
  31804. s.VpnGatewayIds = v
  31805. return s
  31806. }
  31807. // Contains the output of DescribeVpnGateways.
  31808. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGatewaysResult
  31809. type DescribeVpnGatewaysOutput struct {
  31810. _ struct{} `type:"structure"`
  31811. // Information about one or more virtual private gateways.
  31812. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  31813. }
  31814. // String returns the string representation
  31815. func (s DescribeVpnGatewaysOutput) String() string {
  31816. return awsutil.Prettify(s)
  31817. }
  31818. // GoString returns the string representation
  31819. func (s DescribeVpnGatewaysOutput) GoString() string {
  31820. return s.String()
  31821. }
  31822. // SetVpnGateways sets the VpnGateways field's value.
  31823. func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
  31824. s.VpnGateways = v
  31825. return s
  31826. }
  31827. // Contains the parameters for DetachClassicLinkVpc.
  31828. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpcRequest
  31829. type DetachClassicLinkVpcInput struct {
  31830. _ struct{} `type:"structure"`
  31831. // Checks whether you have the required permissions for the action, without
  31832. // actually making the request, and provides an error response. If you have
  31833. // the required permissions, the error response is DryRunOperation. Otherwise,
  31834. // it is UnauthorizedOperation.
  31835. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31836. // The ID of the instance to unlink from the VPC.
  31837. //
  31838. // InstanceId is a required field
  31839. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  31840. // The ID of the VPC to which the instance is linked.
  31841. //
  31842. // VpcId is a required field
  31843. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  31844. }
  31845. // String returns the string representation
  31846. func (s DetachClassicLinkVpcInput) String() string {
  31847. return awsutil.Prettify(s)
  31848. }
  31849. // GoString returns the string representation
  31850. func (s DetachClassicLinkVpcInput) GoString() string {
  31851. return s.String()
  31852. }
  31853. // Validate inspects the fields of the type to determine if they are valid.
  31854. func (s *DetachClassicLinkVpcInput) Validate() error {
  31855. invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
  31856. if s.InstanceId == nil {
  31857. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  31858. }
  31859. if s.VpcId == nil {
  31860. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  31861. }
  31862. if invalidParams.Len() > 0 {
  31863. return invalidParams
  31864. }
  31865. return nil
  31866. }
  31867. // SetDryRun sets the DryRun field's value.
  31868. func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
  31869. s.DryRun = &v
  31870. return s
  31871. }
  31872. // SetInstanceId sets the InstanceId field's value.
  31873. func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
  31874. s.InstanceId = &v
  31875. return s
  31876. }
  31877. // SetVpcId sets the VpcId field's value.
  31878. func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
  31879. s.VpcId = &v
  31880. return s
  31881. }
  31882. // Contains the output of DetachClassicLinkVpc.
  31883. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpcResult
  31884. type DetachClassicLinkVpcOutput struct {
  31885. _ struct{} `type:"structure"`
  31886. // Returns true if the request succeeds; otherwise, it returns an error.
  31887. Return *bool `locationName:"return" type:"boolean"`
  31888. }
  31889. // String returns the string representation
  31890. func (s DetachClassicLinkVpcOutput) String() string {
  31891. return awsutil.Prettify(s)
  31892. }
  31893. // GoString returns the string representation
  31894. func (s DetachClassicLinkVpcOutput) GoString() string {
  31895. return s.String()
  31896. }
  31897. // SetReturn sets the Return field's value.
  31898. func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
  31899. s.Return = &v
  31900. return s
  31901. }
  31902. // Contains the parameters for DetachInternetGateway.
  31903. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGatewayRequest
  31904. type DetachInternetGatewayInput struct {
  31905. _ struct{} `type:"structure"`
  31906. // Checks whether you have the required permissions for the action, without
  31907. // actually making the request, and provides an error response. If you have
  31908. // the required permissions, the error response is DryRunOperation. Otherwise,
  31909. // it is UnauthorizedOperation.
  31910. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31911. // The ID of the Internet gateway.
  31912. //
  31913. // InternetGatewayId is a required field
  31914. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  31915. // The ID of the VPC.
  31916. //
  31917. // VpcId is a required field
  31918. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  31919. }
  31920. // String returns the string representation
  31921. func (s DetachInternetGatewayInput) String() string {
  31922. return awsutil.Prettify(s)
  31923. }
  31924. // GoString returns the string representation
  31925. func (s DetachInternetGatewayInput) GoString() string {
  31926. return s.String()
  31927. }
  31928. // Validate inspects the fields of the type to determine if they are valid.
  31929. func (s *DetachInternetGatewayInput) Validate() error {
  31930. invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
  31931. if s.InternetGatewayId == nil {
  31932. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  31933. }
  31934. if s.VpcId == nil {
  31935. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  31936. }
  31937. if invalidParams.Len() > 0 {
  31938. return invalidParams
  31939. }
  31940. return nil
  31941. }
  31942. // SetDryRun sets the DryRun field's value.
  31943. func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
  31944. s.DryRun = &v
  31945. return s
  31946. }
  31947. // SetInternetGatewayId sets the InternetGatewayId field's value.
  31948. func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
  31949. s.InternetGatewayId = &v
  31950. return s
  31951. }
  31952. // SetVpcId sets the VpcId field's value.
  31953. func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
  31954. s.VpcId = &v
  31955. return s
  31956. }
  31957. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGatewayOutput
  31958. type DetachInternetGatewayOutput struct {
  31959. _ struct{} `type:"structure"`
  31960. }
  31961. // String returns the string representation
  31962. func (s DetachInternetGatewayOutput) String() string {
  31963. return awsutil.Prettify(s)
  31964. }
  31965. // GoString returns the string representation
  31966. func (s DetachInternetGatewayOutput) GoString() string {
  31967. return s.String()
  31968. }
  31969. // Contains the parameters for DetachNetworkInterface.
  31970. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterfaceRequest
  31971. type DetachNetworkInterfaceInput struct {
  31972. _ struct{} `type:"structure"`
  31973. // The ID of the attachment.
  31974. //
  31975. // AttachmentId is a required field
  31976. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  31977. // Checks whether you have the required permissions for the action, without
  31978. // actually making the request, and provides an error response. If you have
  31979. // the required permissions, the error response is DryRunOperation. Otherwise,
  31980. // it is UnauthorizedOperation.
  31981. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31982. // Specifies whether to force a detachment.
  31983. Force *bool `locationName:"force" type:"boolean"`
  31984. }
  31985. // String returns the string representation
  31986. func (s DetachNetworkInterfaceInput) String() string {
  31987. return awsutil.Prettify(s)
  31988. }
  31989. // GoString returns the string representation
  31990. func (s DetachNetworkInterfaceInput) GoString() string {
  31991. return s.String()
  31992. }
  31993. // Validate inspects the fields of the type to determine if they are valid.
  31994. func (s *DetachNetworkInterfaceInput) Validate() error {
  31995. invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
  31996. if s.AttachmentId == nil {
  31997. invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  31998. }
  31999. if invalidParams.Len() > 0 {
  32000. return invalidParams
  32001. }
  32002. return nil
  32003. }
  32004. // SetAttachmentId sets the AttachmentId field's value.
  32005. func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
  32006. s.AttachmentId = &v
  32007. return s
  32008. }
  32009. // SetDryRun sets the DryRun field's value.
  32010. func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
  32011. s.DryRun = &v
  32012. return s
  32013. }
  32014. // SetForce sets the Force field's value.
  32015. func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
  32016. s.Force = &v
  32017. return s
  32018. }
  32019. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterfaceOutput
  32020. type DetachNetworkInterfaceOutput struct {
  32021. _ struct{} `type:"structure"`
  32022. }
  32023. // String returns the string representation
  32024. func (s DetachNetworkInterfaceOutput) String() string {
  32025. return awsutil.Prettify(s)
  32026. }
  32027. // GoString returns the string representation
  32028. func (s DetachNetworkInterfaceOutput) GoString() string {
  32029. return s.String()
  32030. }
  32031. // Contains the parameters for DetachVolume.
  32032. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolumeRequest
  32033. type DetachVolumeInput struct {
  32034. _ struct{} `type:"structure"`
  32035. // The device name.
  32036. Device *string `type:"string"`
  32037. // Checks whether you have the required permissions for the action, without
  32038. // actually making the request, and provides an error response. If you have
  32039. // the required permissions, the error response is DryRunOperation. Otherwise,
  32040. // it is UnauthorizedOperation.
  32041. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32042. // Forces detachment if the previous detachment attempt did not occur cleanly
  32043. // (for example, logging into an instance, unmounting the volume, and detaching
  32044. // normally). This option can lead to data loss or a corrupted file system.
  32045. // Use this option only as a last resort to detach a volume from a failed instance.
  32046. // The instance won't have an opportunity to flush file system caches or file
  32047. // system metadata. If you use this option, you must perform file system check
  32048. // and repair procedures.
  32049. Force *bool `type:"boolean"`
  32050. // The ID of the instance.
  32051. InstanceId *string `type:"string"`
  32052. // The ID of the volume.
  32053. //
  32054. // VolumeId is a required field
  32055. VolumeId *string `type:"string" required:"true"`
  32056. }
  32057. // String returns the string representation
  32058. func (s DetachVolumeInput) String() string {
  32059. return awsutil.Prettify(s)
  32060. }
  32061. // GoString returns the string representation
  32062. func (s DetachVolumeInput) GoString() string {
  32063. return s.String()
  32064. }
  32065. // Validate inspects the fields of the type to determine if they are valid.
  32066. func (s *DetachVolumeInput) Validate() error {
  32067. invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
  32068. if s.VolumeId == nil {
  32069. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  32070. }
  32071. if invalidParams.Len() > 0 {
  32072. return invalidParams
  32073. }
  32074. return nil
  32075. }
  32076. // SetDevice sets the Device field's value.
  32077. func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
  32078. s.Device = &v
  32079. return s
  32080. }
  32081. // SetDryRun sets the DryRun field's value.
  32082. func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
  32083. s.DryRun = &v
  32084. return s
  32085. }
  32086. // SetForce sets the Force field's value.
  32087. func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
  32088. s.Force = &v
  32089. return s
  32090. }
  32091. // SetInstanceId sets the InstanceId field's value.
  32092. func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
  32093. s.InstanceId = &v
  32094. return s
  32095. }
  32096. // SetVolumeId sets the VolumeId field's value.
  32097. func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
  32098. s.VolumeId = &v
  32099. return s
  32100. }
  32101. // Contains the parameters for DetachVpnGateway.
  32102. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGatewayRequest
  32103. type DetachVpnGatewayInput struct {
  32104. _ struct{} `type:"structure"`
  32105. // Checks whether you have the required permissions for the action, without
  32106. // actually making the request, and provides an error response. If you have
  32107. // the required permissions, the error response is DryRunOperation. Otherwise,
  32108. // it is UnauthorizedOperation.
  32109. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32110. // The ID of the VPC.
  32111. //
  32112. // VpcId is a required field
  32113. VpcId *string `type:"string" required:"true"`
  32114. // The ID of the virtual private gateway.
  32115. //
  32116. // VpnGatewayId is a required field
  32117. VpnGatewayId *string `type:"string" required:"true"`
  32118. }
  32119. // String returns the string representation
  32120. func (s DetachVpnGatewayInput) String() string {
  32121. return awsutil.Prettify(s)
  32122. }
  32123. // GoString returns the string representation
  32124. func (s DetachVpnGatewayInput) GoString() string {
  32125. return s.String()
  32126. }
  32127. // Validate inspects the fields of the type to determine if they are valid.
  32128. func (s *DetachVpnGatewayInput) Validate() error {
  32129. invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
  32130. if s.VpcId == nil {
  32131. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32132. }
  32133. if s.VpnGatewayId == nil {
  32134. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  32135. }
  32136. if invalidParams.Len() > 0 {
  32137. return invalidParams
  32138. }
  32139. return nil
  32140. }
  32141. // SetDryRun sets the DryRun field's value.
  32142. func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
  32143. s.DryRun = &v
  32144. return s
  32145. }
  32146. // SetVpcId sets the VpcId field's value.
  32147. func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
  32148. s.VpcId = &v
  32149. return s
  32150. }
  32151. // SetVpnGatewayId sets the VpnGatewayId field's value.
  32152. func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
  32153. s.VpnGatewayId = &v
  32154. return s
  32155. }
  32156. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGatewayOutput
  32157. type DetachVpnGatewayOutput struct {
  32158. _ struct{} `type:"structure"`
  32159. }
  32160. // String returns the string representation
  32161. func (s DetachVpnGatewayOutput) String() string {
  32162. return awsutil.Prettify(s)
  32163. }
  32164. // GoString returns the string representation
  32165. func (s DetachVpnGatewayOutput) GoString() string {
  32166. return s.String()
  32167. }
  32168. // Describes a DHCP configuration option.
  32169. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DhcpConfiguration
  32170. type DhcpConfiguration struct {
  32171. _ struct{} `type:"structure"`
  32172. // The name of a DHCP option.
  32173. Key *string `locationName:"key" type:"string"`
  32174. // One or more values for the DHCP option.
  32175. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  32176. }
  32177. // String returns the string representation
  32178. func (s DhcpConfiguration) String() string {
  32179. return awsutil.Prettify(s)
  32180. }
  32181. // GoString returns the string representation
  32182. func (s DhcpConfiguration) GoString() string {
  32183. return s.String()
  32184. }
  32185. // SetKey sets the Key field's value.
  32186. func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
  32187. s.Key = &v
  32188. return s
  32189. }
  32190. // SetValues sets the Values field's value.
  32191. func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
  32192. s.Values = v
  32193. return s
  32194. }
  32195. // Describes a set of DHCP options.
  32196. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DhcpOptions
  32197. type DhcpOptions struct {
  32198. _ struct{} `type:"structure"`
  32199. // One or more DHCP options in the set.
  32200. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  32201. // The ID of the set of DHCP options.
  32202. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  32203. // Any tags assigned to the DHCP options set.
  32204. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  32205. }
  32206. // String returns the string representation
  32207. func (s DhcpOptions) String() string {
  32208. return awsutil.Prettify(s)
  32209. }
  32210. // GoString returns the string representation
  32211. func (s DhcpOptions) GoString() string {
  32212. return s.String()
  32213. }
  32214. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  32215. func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
  32216. s.DhcpConfigurations = v
  32217. return s
  32218. }
  32219. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  32220. func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
  32221. s.DhcpOptionsId = &v
  32222. return s
  32223. }
  32224. // SetTags sets the Tags field's value.
  32225. func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
  32226. s.Tags = v
  32227. return s
  32228. }
  32229. // Contains the parameters for DisableVgwRoutePropagation.
  32230. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagationRequest
  32231. type DisableVgwRoutePropagationInput struct {
  32232. _ struct{} `type:"structure"`
  32233. // The ID of the virtual private gateway.
  32234. //
  32235. // GatewayId is a required field
  32236. GatewayId *string `type:"string" required:"true"`
  32237. // The ID of the route table.
  32238. //
  32239. // RouteTableId is a required field
  32240. RouteTableId *string `type:"string" required:"true"`
  32241. }
  32242. // String returns the string representation
  32243. func (s DisableVgwRoutePropagationInput) String() string {
  32244. return awsutil.Prettify(s)
  32245. }
  32246. // GoString returns the string representation
  32247. func (s DisableVgwRoutePropagationInput) GoString() string {
  32248. return s.String()
  32249. }
  32250. // Validate inspects the fields of the type to determine if they are valid.
  32251. func (s *DisableVgwRoutePropagationInput) Validate() error {
  32252. invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
  32253. if s.GatewayId == nil {
  32254. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  32255. }
  32256. if s.RouteTableId == nil {
  32257. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  32258. }
  32259. if invalidParams.Len() > 0 {
  32260. return invalidParams
  32261. }
  32262. return nil
  32263. }
  32264. // SetGatewayId sets the GatewayId field's value.
  32265. func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
  32266. s.GatewayId = &v
  32267. return s
  32268. }
  32269. // SetRouteTableId sets the RouteTableId field's value.
  32270. func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
  32271. s.RouteTableId = &v
  32272. return s
  32273. }
  32274. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagationOutput
  32275. type DisableVgwRoutePropagationOutput struct {
  32276. _ struct{} `type:"structure"`
  32277. }
  32278. // String returns the string representation
  32279. func (s DisableVgwRoutePropagationOutput) String() string {
  32280. return awsutil.Prettify(s)
  32281. }
  32282. // GoString returns the string representation
  32283. func (s DisableVgwRoutePropagationOutput) GoString() string {
  32284. return s.String()
  32285. }
  32286. // Contains the parameters for DisableVpcClassicLinkDnsSupport.
  32287. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupportRequest
  32288. type DisableVpcClassicLinkDnsSupportInput struct {
  32289. _ struct{} `type:"structure"`
  32290. // The ID of the VPC.
  32291. VpcId *string `type:"string"`
  32292. }
  32293. // String returns the string representation
  32294. func (s DisableVpcClassicLinkDnsSupportInput) String() string {
  32295. return awsutil.Prettify(s)
  32296. }
  32297. // GoString returns the string representation
  32298. func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
  32299. return s.String()
  32300. }
  32301. // SetVpcId sets the VpcId field's value.
  32302. func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
  32303. s.VpcId = &v
  32304. return s
  32305. }
  32306. // Contains the output of DisableVpcClassicLinkDnsSupport.
  32307. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupportResult
  32308. type DisableVpcClassicLinkDnsSupportOutput struct {
  32309. _ struct{} `type:"structure"`
  32310. // Returns true if the request succeeds; otherwise, it returns an error.
  32311. Return *bool `locationName:"return" type:"boolean"`
  32312. }
  32313. // String returns the string representation
  32314. func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
  32315. return awsutil.Prettify(s)
  32316. }
  32317. // GoString returns the string representation
  32318. func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
  32319. return s.String()
  32320. }
  32321. // SetReturn sets the Return field's value.
  32322. func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
  32323. s.Return = &v
  32324. return s
  32325. }
  32326. // Contains the parameters for DisableVpcClassicLink.
  32327. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkRequest
  32328. type DisableVpcClassicLinkInput struct {
  32329. _ struct{} `type:"structure"`
  32330. // Checks whether you have the required permissions for the action, without
  32331. // actually making the request, and provides an error response. If you have
  32332. // the required permissions, the error response is DryRunOperation. Otherwise,
  32333. // it is UnauthorizedOperation.
  32334. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32335. // The ID of the VPC.
  32336. //
  32337. // VpcId is a required field
  32338. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  32339. }
  32340. // String returns the string representation
  32341. func (s DisableVpcClassicLinkInput) String() string {
  32342. return awsutil.Prettify(s)
  32343. }
  32344. // GoString returns the string representation
  32345. func (s DisableVpcClassicLinkInput) GoString() string {
  32346. return s.String()
  32347. }
  32348. // Validate inspects the fields of the type to determine if they are valid.
  32349. func (s *DisableVpcClassicLinkInput) Validate() error {
  32350. invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
  32351. if s.VpcId == nil {
  32352. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32353. }
  32354. if invalidParams.Len() > 0 {
  32355. return invalidParams
  32356. }
  32357. return nil
  32358. }
  32359. // SetDryRun sets the DryRun field's value.
  32360. func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
  32361. s.DryRun = &v
  32362. return s
  32363. }
  32364. // SetVpcId sets the VpcId field's value.
  32365. func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
  32366. s.VpcId = &v
  32367. return s
  32368. }
  32369. // Contains the output of DisableVpcClassicLink.
  32370. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkResult
  32371. type DisableVpcClassicLinkOutput struct {
  32372. _ struct{} `type:"structure"`
  32373. // Returns true if the request succeeds; otherwise, it returns an error.
  32374. Return *bool `locationName:"return" type:"boolean"`
  32375. }
  32376. // String returns the string representation
  32377. func (s DisableVpcClassicLinkOutput) String() string {
  32378. return awsutil.Prettify(s)
  32379. }
  32380. // GoString returns the string representation
  32381. func (s DisableVpcClassicLinkOutput) GoString() string {
  32382. return s.String()
  32383. }
  32384. // SetReturn sets the Return field's value.
  32385. func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
  32386. s.Return = &v
  32387. return s
  32388. }
  32389. // Contains the parameters for DisassociateAddress.
  32390. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddressRequest
  32391. type DisassociateAddressInput struct {
  32392. _ struct{} `type:"structure"`
  32393. // [EC2-VPC] The association ID. Required for EC2-VPC.
  32394. AssociationId *string `type:"string"`
  32395. // Checks whether you have the required permissions for the action, without
  32396. // actually making the request, and provides an error response. If you have
  32397. // the required permissions, the error response is DryRunOperation. Otherwise,
  32398. // it is UnauthorizedOperation.
  32399. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32400. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  32401. PublicIp *string `type:"string"`
  32402. }
  32403. // String returns the string representation
  32404. func (s DisassociateAddressInput) String() string {
  32405. return awsutil.Prettify(s)
  32406. }
  32407. // GoString returns the string representation
  32408. func (s DisassociateAddressInput) GoString() string {
  32409. return s.String()
  32410. }
  32411. // SetAssociationId sets the AssociationId field's value.
  32412. func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
  32413. s.AssociationId = &v
  32414. return s
  32415. }
  32416. // SetDryRun sets the DryRun field's value.
  32417. func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
  32418. s.DryRun = &v
  32419. return s
  32420. }
  32421. // SetPublicIp sets the PublicIp field's value.
  32422. func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
  32423. s.PublicIp = &v
  32424. return s
  32425. }
  32426. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddressOutput
  32427. type DisassociateAddressOutput struct {
  32428. _ struct{} `type:"structure"`
  32429. }
  32430. // String returns the string representation
  32431. func (s DisassociateAddressOutput) String() string {
  32432. return awsutil.Prettify(s)
  32433. }
  32434. // GoString returns the string representation
  32435. func (s DisassociateAddressOutput) GoString() string {
  32436. return s.String()
  32437. }
  32438. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfileRequest
  32439. type DisassociateIamInstanceProfileInput struct {
  32440. _ struct{} `type:"structure"`
  32441. // The ID of the IAM instance profile association.
  32442. //
  32443. // AssociationId is a required field
  32444. AssociationId *string `type:"string" required:"true"`
  32445. }
  32446. // String returns the string representation
  32447. func (s DisassociateIamInstanceProfileInput) String() string {
  32448. return awsutil.Prettify(s)
  32449. }
  32450. // GoString returns the string representation
  32451. func (s DisassociateIamInstanceProfileInput) GoString() string {
  32452. return s.String()
  32453. }
  32454. // Validate inspects the fields of the type to determine if they are valid.
  32455. func (s *DisassociateIamInstanceProfileInput) Validate() error {
  32456. invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
  32457. if s.AssociationId == nil {
  32458. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  32459. }
  32460. if invalidParams.Len() > 0 {
  32461. return invalidParams
  32462. }
  32463. return nil
  32464. }
  32465. // SetAssociationId sets the AssociationId field's value.
  32466. func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
  32467. s.AssociationId = &v
  32468. return s
  32469. }
  32470. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfileResult
  32471. type DisassociateIamInstanceProfileOutput struct {
  32472. _ struct{} `type:"structure"`
  32473. // Information about the IAM instance profile association.
  32474. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  32475. }
  32476. // String returns the string representation
  32477. func (s DisassociateIamInstanceProfileOutput) String() string {
  32478. return awsutil.Prettify(s)
  32479. }
  32480. // GoString returns the string representation
  32481. func (s DisassociateIamInstanceProfileOutput) GoString() string {
  32482. return s.String()
  32483. }
  32484. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  32485. func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
  32486. s.IamInstanceProfileAssociation = v
  32487. return s
  32488. }
  32489. // Contains the parameters for DisassociateRouteTable.
  32490. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTableRequest
  32491. type DisassociateRouteTableInput struct {
  32492. _ struct{} `type:"structure"`
  32493. // The association ID representing the current association between the route
  32494. // table and subnet.
  32495. //
  32496. // AssociationId is a required field
  32497. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  32498. // Checks whether you have the required permissions for the action, without
  32499. // actually making the request, and provides an error response. If you have
  32500. // the required permissions, the error response is DryRunOperation. Otherwise,
  32501. // it is UnauthorizedOperation.
  32502. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32503. }
  32504. // String returns the string representation
  32505. func (s DisassociateRouteTableInput) String() string {
  32506. return awsutil.Prettify(s)
  32507. }
  32508. // GoString returns the string representation
  32509. func (s DisassociateRouteTableInput) GoString() string {
  32510. return s.String()
  32511. }
  32512. // Validate inspects the fields of the type to determine if they are valid.
  32513. func (s *DisassociateRouteTableInput) Validate() error {
  32514. invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
  32515. if s.AssociationId == nil {
  32516. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  32517. }
  32518. if invalidParams.Len() > 0 {
  32519. return invalidParams
  32520. }
  32521. return nil
  32522. }
  32523. // SetAssociationId sets the AssociationId field's value.
  32524. func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
  32525. s.AssociationId = &v
  32526. return s
  32527. }
  32528. // SetDryRun sets the DryRun field's value.
  32529. func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
  32530. s.DryRun = &v
  32531. return s
  32532. }
  32533. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTableOutput
  32534. type DisassociateRouteTableOutput struct {
  32535. _ struct{} `type:"structure"`
  32536. }
  32537. // String returns the string representation
  32538. func (s DisassociateRouteTableOutput) String() string {
  32539. return awsutil.Prettify(s)
  32540. }
  32541. // GoString returns the string representation
  32542. func (s DisassociateRouteTableOutput) GoString() string {
  32543. return s.String()
  32544. }
  32545. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlockRequest
  32546. type DisassociateSubnetCidrBlockInput struct {
  32547. _ struct{} `type:"structure"`
  32548. // The association ID for the CIDR block.
  32549. //
  32550. // AssociationId is a required field
  32551. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  32552. }
  32553. // String returns the string representation
  32554. func (s DisassociateSubnetCidrBlockInput) String() string {
  32555. return awsutil.Prettify(s)
  32556. }
  32557. // GoString returns the string representation
  32558. func (s DisassociateSubnetCidrBlockInput) GoString() string {
  32559. return s.String()
  32560. }
  32561. // Validate inspects the fields of the type to determine if they are valid.
  32562. func (s *DisassociateSubnetCidrBlockInput) Validate() error {
  32563. invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
  32564. if s.AssociationId == nil {
  32565. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  32566. }
  32567. if invalidParams.Len() > 0 {
  32568. return invalidParams
  32569. }
  32570. return nil
  32571. }
  32572. // SetAssociationId sets the AssociationId field's value.
  32573. func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
  32574. s.AssociationId = &v
  32575. return s
  32576. }
  32577. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlockResult
  32578. type DisassociateSubnetCidrBlockOutput struct {
  32579. _ struct{} `type:"structure"`
  32580. // Information about the IPv6 CIDR block association.
  32581. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  32582. // The ID of the subnet.
  32583. SubnetId *string `locationName:"subnetId" type:"string"`
  32584. }
  32585. // String returns the string representation
  32586. func (s DisassociateSubnetCidrBlockOutput) String() string {
  32587. return awsutil.Prettify(s)
  32588. }
  32589. // GoString returns the string representation
  32590. func (s DisassociateSubnetCidrBlockOutput) GoString() string {
  32591. return s.String()
  32592. }
  32593. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  32594. func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
  32595. s.Ipv6CidrBlockAssociation = v
  32596. return s
  32597. }
  32598. // SetSubnetId sets the SubnetId field's value.
  32599. func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
  32600. s.SubnetId = &v
  32601. return s
  32602. }
  32603. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlockRequest
  32604. type DisassociateVpcCidrBlockInput struct {
  32605. _ struct{} `type:"structure"`
  32606. // The association ID for the CIDR block.
  32607. //
  32608. // AssociationId is a required field
  32609. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  32610. }
  32611. // String returns the string representation
  32612. func (s DisassociateVpcCidrBlockInput) String() string {
  32613. return awsutil.Prettify(s)
  32614. }
  32615. // GoString returns the string representation
  32616. func (s DisassociateVpcCidrBlockInput) GoString() string {
  32617. return s.String()
  32618. }
  32619. // Validate inspects the fields of the type to determine if they are valid.
  32620. func (s *DisassociateVpcCidrBlockInput) Validate() error {
  32621. invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
  32622. if s.AssociationId == nil {
  32623. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  32624. }
  32625. if invalidParams.Len() > 0 {
  32626. return invalidParams
  32627. }
  32628. return nil
  32629. }
  32630. // SetAssociationId sets the AssociationId field's value.
  32631. func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
  32632. s.AssociationId = &v
  32633. return s
  32634. }
  32635. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlockResult
  32636. type DisassociateVpcCidrBlockOutput struct {
  32637. _ struct{} `type:"structure"`
  32638. // Information about the IPv6 CIDR block association.
  32639. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  32640. // The ID of the VPC.
  32641. VpcId *string `locationName:"vpcId" type:"string"`
  32642. }
  32643. // String returns the string representation
  32644. func (s DisassociateVpcCidrBlockOutput) String() string {
  32645. return awsutil.Prettify(s)
  32646. }
  32647. // GoString returns the string representation
  32648. func (s DisassociateVpcCidrBlockOutput) GoString() string {
  32649. return s.String()
  32650. }
  32651. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  32652. func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  32653. s.Ipv6CidrBlockAssociation = v
  32654. return s
  32655. }
  32656. // SetVpcId sets the VpcId field's value.
  32657. func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
  32658. s.VpcId = &v
  32659. return s
  32660. }
  32661. // Describes a disk image.
  32662. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImage
  32663. type DiskImage struct {
  32664. _ struct{} `type:"structure"`
  32665. // A description of the disk image.
  32666. Description *string `type:"string"`
  32667. // Information about the disk image.
  32668. Image *DiskImageDetail `type:"structure"`
  32669. // Information about the volume.
  32670. Volume *VolumeDetail `type:"structure"`
  32671. }
  32672. // String returns the string representation
  32673. func (s DiskImage) String() string {
  32674. return awsutil.Prettify(s)
  32675. }
  32676. // GoString returns the string representation
  32677. func (s DiskImage) GoString() string {
  32678. return s.String()
  32679. }
  32680. // Validate inspects the fields of the type to determine if they are valid.
  32681. func (s *DiskImage) Validate() error {
  32682. invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
  32683. if s.Image != nil {
  32684. if err := s.Image.Validate(); err != nil {
  32685. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  32686. }
  32687. }
  32688. if s.Volume != nil {
  32689. if err := s.Volume.Validate(); err != nil {
  32690. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  32691. }
  32692. }
  32693. if invalidParams.Len() > 0 {
  32694. return invalidParams
  32695. }
  32696. return nil
  32697. }
  32698. // SetDescription sets the Description field's value.
  32699. func (s *DiskImage) SetDescription(v string) *DiskImage {
  32700. s.Description = &v
  32701. return s
  32702. }
  32703. // SetImage sets the Image field's value.
  32704. func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
  32705. s.Image = v
  32706. return s
  32707. }
  32708. // SetVolume sets the Volume field's value.
  32709. func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
  32710. s.Volume = v
  32711. return s
  32712. }
  32713. // Describes a disk image.
  32714. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageDescription
  32715. type DiskImageDescription struct {
  32716. _ struct{} `type:"structure"`
  32717. // The checksum computed for the disk image.
  32718. Checksum *string `locationName:"checksum" type:"string"`
  32719. // The disk image format.
  32720. //
  32721. // Format is a required field
  32722. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  32723. // A presigned URL for the import manifest stored in Amazon S3. For information
  32724. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  32725. // Request Authentication Alternative" section of the Authenticating REST Requests
  32726. // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  32727. // topic in the Amazon Simple Storage Service Developer Guide.
  32728. //
  32729. // For information about the import manifest referenced by this API action,
  32730. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  32731. //
  32732. // ImportManifestUrl is a required field
  32733. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  32734. // The size of the disk image, in GiB.
  32735. //
  32736. // Size is a required field
  32737. Size *int64 `locationName:"size" type:"long" required:"true"`
  32738. }
  32739. // String returns the string representation
  32740. func (s DiskImageDescription) String() string {
  32741. return awsutil.Prettify(s)
  32742. }
  32743. // GoString returns the string representation
  32744. func (s DiskImageDescription) GoString() string {
  32745. return s.String()
  32746. }
  32747. // SetChecksum sets the Checksum field's value.
  32748. func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
  32749. s.Checksum = &v
  32750. return s
  32751. }
  32752. // SetFormat sets the Format field's value.
  32753. func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
  32754. s.Format = &v
  32755. return s
  32756. }
  32757. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  32758. func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
  32759. s.ImportManifestUrl = &v
  32760. return s
  32761. }
  32762. // SetSize sets the Size field's value.
  32763. func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
  32764. s.Size = &v
  32765. return s
  32766. }
  32767. // Describes a disk image.
  32768. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageDetail
  32769. type DiskImageDetail struct {
  32770. _ struct{} `type:"structure"`
  32771. // The size of the disk image, in GiB.
  32772. //
  32773. // Bytes is a required field
  32774. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  32775. // The disk image format.
  32776. //
  32777. // Format is a required field
  32778. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  32779. // A presigned URL for the import manifest stored in Amazon S3 and presented
  32780. // here as an Amazon S3 presigned URL. For information about creating a presigned
  32781. // URL for an Amazon S3 object, read the "Query String Request Authentication
  32782. // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  32783. // topic in the Amazon Simple Storage Service Developer Guide.
  32784. //
  32785. // For information about the import manifest referenced by this API action,
  32786. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  32787. //
  32788. // ImportManifestUrl is a required field
  32789. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  32790. }
  32791. // String returns the string representation
  32792. func (s DiskImageDetail) String() string {
  32793. return awsutil.Prettify(s)
  32794. }
  32795. // GoString returns the string representation
  32796. func (s DiskImageDetail) GoString() string {
  32797. return s.String()
  32798. }
  32799. // Validate inspects the fields of the type to determine if they are valid.
  32800. func (s *DiskImageDetail) Validate() error {
  32801. invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
  32802. if s.Bytes == nil {
  32803. invalidParams.Add(request.NewErrParamRequired("Bytes"))
  32804. }
  32805. if s.Format == nil {
  32806. invalidParams.Add(request.NewErrParamRequired("Format"))
  32807. }
  32808. if s.ImportManifestUrl == nil {
  32809. invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
  32810. }
  32811. if invalidParams.Len() > 0 {
  32812. return invalidParams
  32813. }
  32814. return nil
  32815. }
  32816. // SetBytes sets the Bytes field's value.
  32817. func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
  32818. s.Bytes = &v
  32819. return s
  32820. }
  32821. // SetFormat sets the Format field's value.
  32822. func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
  32823. s.Format = &v
  32824. return s
  32825. }
  32826. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  32827. func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
  32828. s.ImportManifestUrl = &v
  32829. return s
  32830. }
  32831. // Describes a disk image volume.
  32832. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageVolumeDescription
  32833. type DiskImageVolumeDescription struct {
  32834. _ struct{} `type:"structure"`
  32835. // The volume identifier.
  32836. //
  32837. // Id is a required field
  32838. Id *string `locationName:"id" type:"string" required:"true"`
  32839. // The size of the volume, in GiB.
  32840. Size *int64 `locationName:"size" type:"long"`
  32841. }
  32842. // String returns the string representation
  32843. func (s DiskImageVolumeDescription) String() string {
  32844. return awsutil.Prettify(s)
  32845. }
  32846. // GoString returns the string representation
  32847. func (s DiskImageVolumeDescription) GoString() string {
  32848. return s.String()
  32849. }
  32850. // SetId sets the Id field's value.
  32851. func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
  32852. s.Id = &v
  32853. return s
  32854. }
  32855. // SetSize sets the Size field's value.
  32856. func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
  32857. s.Size = &v
  32858. return s
  32859. }
  32860. // Describes a block device for an EBS volume.
  32861. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsBlockDevice
  32862. type EbsBlockDevice struct {
  32863. _ struct{} `type:"structure"`
  32864. // Indicates whether the EBS volume is deleted on instance termination.
  32865. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  32866. // Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes
  32867. // may only be attached to instances that support Amazon EBS encryption.
  32868. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  32869. // The number of I/O operations per second (IOPS) that the volume supports.
  32870. // For io1, this represents the number of IOPS that are provisioned for the
  32871. // volume. For gp2, this represents the baseline performance of the volume and
  32872. // the rate at which the volume accumulates I/O credits for bursting. For more
  32873. // information about General Purpose SSD baseline performance, I/O credits,
  32874. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  32875. // in the Amazon Elastic Compute Cloud User Guide.
  32876. //
  32877. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  32878. // gp2 volumes.
  32879. //
  32880. // Condition: This parameter is required for requests to create io1 volumes;
  32881. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  32882. Iops *int64 `locationName:"iops" type:"integer"`
  32883. // The ID of the snapshot.
  32884. SnapshotId *string `locationName:"snapshotId" type:"string"`
  32885. // The size of the volume, in GiB.
  32886. //
  32887. // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
  32888. // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
  32889. // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
  32890. // a snapshot, the volume size must be equal to or larger than the snapshot
  32891. // size.
  32892. //
  32893. // Default: If you're creating the volume from a snapshot and don't specify
  32894. // a volume size, the default is the snapshot size.
  32895. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  32896. // The volume type: gp2, io1, st1, sc1, or standard.
  32897. //
  32898. // Default: standard
  32899. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  32900. }
  32901. // String returns the string representation
  32902. func (s EbsBlockDevice) String() string {
  32903. return awsutil.Prettify(s)
  32904. }
  32905. // GoString returns the string representation
  32906. func (s EbsBlockDevice) GoString() string {
  32907. return s.String()
  32908. }
  32909. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  32910. func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
  32911. s.DeleteOnTermination = &v
  32912. return s
  32913. }
  32914. // SetEncrypted sets the Encrypted field's value.
  32915. func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
  32916. s.Encrypted = &v
  32917. return s
  32918. }
  32919. // SetIops sets the Iops field's value.
  32920. func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
  32921. s.Iops = &v
  32922. return s
  32923. }
  32924. // SetSnapshotId sets the SnapshotId field's value.
  32925. func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
  32926. s.SnapshotId = &v
  32927. return s
  32928. }
  32929. // SetVolumeSize sets the VolumeSize field's value.
  32930. func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
  32931. s.VolumeSize = &v
  32932. return s
  32933. }
  32934. // SetVolumeType sets the VolumeType field's value.
  32935. func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
  32936. s.VolumeType = &v
  32937. return s
  32938. }
  32939. // Describes a parameter used to set up an EBS volume in a block device mapping.
  32940. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsInstanceBlockDevice
  32941. type EbsInstanceBlockDevice struct {
  32942. _ struct{} `type:"structure"`
  32943. // The time stamp when the attachment initiated.
  32944. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  32945. // Indicates whether the volume is deleted on instance termination.
  32946. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  32947. // The attachment state.
  32948. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  32949. // The ID of the EBS volume.
  32950. VolumeId *string `locationName:"volumeId" type:"string"`
  32951. }
  32952. // String returns the string representation
  32953. func (s EbsInstanceBlockDevice) String() string {
  32954. return awsutil.Prettify(s)
  32955. }
  32956. // GoString returns the string representation
  32957. func (s EbsInstanceBlockDevice) GoString() string {
  32958. return s.String()
  32959. }
  32960. // SetAttachTime sets the AttachTime field's value.
  32961. func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
  32962. s.AttachTime = &v
  32963. return s
  32964. }
  32965. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  32966. func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
  32967. s.DeleteOnTermination = &v
  32968. return s
  32969. }
  32970. // SetStatus sets the Status field's value.
  32971. func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
  32972. s.Status = &v
  32973. return s
  32974. }
  32975. // SetVolumeId sets the VolumeId field's value.
  32976. func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
  32977. s.VolumeId = &v
  32978. return s
  32979. }
  32980. // Describes information used to set up an EBS volume specified in a block device
  32981. // mapping.
  32982. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsInstanceBlockDeviceSpecification
  32983. type EbsInstanceBlockDeviceSpecification struct {
  32984. _ struct{} `type:"structure"`
  32985. // Indicates whether the volume is deleted on instance termination.
  32986. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  32987. // The ID of the EBS volume.
  32988. VolumeId *string `locationName:"volumeId" type:"string"`
  32989. }
  32990. // String returns the string representation
  32991. func (s EbsInstanceBlockDeviceSpecification) String() string {
  32992. return awsutil.Prettify(s)
  32993. }
  32994. // GoString returns the string representation
  32995. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  32996. return s.String()
  32997. }
  32998. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  32999. func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
  33000. s.DeleteOnTermination = &v
  33001. return s
  33002. }
  33003. // SetVolumeId sets the VolumeId field's value.
  33004. func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
  33005. s.VolumeId = &v
  33006. return s
  33007. }
  33008. // Describes an egress-only Internet gateway.
  33009. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EgressOnlyInternetGateway
  33010. type EgressOnlyInternetGateway struct {
  33011. _ struct{} `type:"structure"`
  33012. // Information about the attachment of the egress-only Internet gateway.
  33013. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  33014. // The ID of the egress-only Internet gateway.
  33015. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  33016. }
  33017. // String returns the string representation
  33018. func (s EgressOnlyInternetGateway) String() string {
  33019. return awsutil.Prettify(s)
  33020. }
  33021. // GoString returns the string representation
  33022. func (s EgressOnlyInternetGateway) GoString() string {
  33023. return s.String()
  33024. }
  33025. // SetAttachments sets the Attachments field's value.
  33026. func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
  33027. s.Attachments = v
  33028. return s
  33029. }
  33030. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  33031. func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
  33032. s.EgressOnlyInternetGatewayId = &v
  33033. return s
  33034. }
  33035. // Contains the parameters for EnableVgwRoutePropagation.
  33036. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationRequest
  33037. type EnableVgwRoutePropagationInput struct {
  33038. _ struct{} `type:"structure"`
  33039. // The ID of the virtual private gateway.
  33040. //
  33041. // GatewayId is a required field
  33042. GatewayId *string `type:"string" required:"true"`
  33043. // The ID of the route table.
  33044. //
  33045. // RouteTableId is a required field
  33046. RouteTableId *string `type:"string" required:"true"`
  33047. }
  33048. // String returns the string representation
  33049. func (s EnableVgwRoutePropagationInput) String() string {
  33050. return awsutil.Prettify(s)
  33051. }
  33052. // GoString returns the string representation
  33053. func (s EnableVgwRoutePropagationInput) GoString() string {
  33054. return s.String()
  33055. }
  33056. // Validate inspects the fields of the type to determine if they are valid.
  33057. func (s *EnableVgwRoutePropagationInput) Validate() error {
  33058. invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
  33059. if s.GatewayId == nil {
  33060. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  33061. }
  33062. if s.RouteTableId == nil {
  33063. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  33064. }
  33065. if invalidParams.Len() > 0 {
  33066. return invalidParams
  33067. }
  33068. return nil
  33069. }
  33070. // SetGatewayId sets the GatewayId field's value.
  33071. func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
  33072. s.GatewayId = &v
  33073. return s
  33074. }
  33075. // SetRouteTableId sets the RouteTableId field's value.
  33076. func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
  33077. s.RouteTableId = &v
  33078. return s
  33079. }
  33080. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationOutput
  33081. type EnableVgwRoutePropagationOutput struct {
  33082. _ struct{} `type:"structure"`
  33083. }
  33084. // String returns the string representation
  33085. func (s EnableVgwRoutePropagationOutput) String() string {
  33086. return awsutil.Prettify(s)
  33087. }
  33088. // GoString returns the string representation
  33089. func (s EnableVgwRoutePropagationOutput) GoString() string {
  33090. return s.String()
  33091. }
  33092. // Contains the parameters for EnableVolumeIO.
  33093. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIORequest
  33094. type EnableVolumeIOInput struct {
  33095. _ struct{} `type:"structure"`
  33096. // Checks whether you have the required permissions for the action, without
  33097. // actually making the request, and provides an error response. If you have
  33098. // the required permissions, the error response is DryRunOperation. Otherwise,
  33099. // it is UnauthorizedOperation.
  33100. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33101. // The ID of the volume.
  33102. //
  33103. // VolumeId is a required field
  33104. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  33105. }
  33106. // String returns the string representation
  33107. func (s EnableVolumeIOInput) String() string {
  33108. return awsutil.Prettify(s)
  33109. }
  33110. // GoString returns the string representation
  33111. func (s EnableVolumeIOInput) GoString() string {
  33112. return s.String()
  33113. }
  33114. // Validate inspects the fields of the type to determine if they are valid.
  33115. func (s *EnableVolumeIOInput) Validate() error {
  33116. invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
  33117. if s.VolumeId == nil {
  33118. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  33119. }
  33120. if invalidParams.Len() > 0 {
  33121. return invalidParams
  33122. }
  33123. return nil
  33124. }
  33125. // SetDryRun sets the DryRun field's value.
  33126. func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
  33127. s.DryRun = &v
  33128. return s
  33129. }
  33130. // SetVolumeId sets the VolumeId field's value.
  33131. func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
  33132. s.VolumeId = &v
  33133. return s
  33134. }
  33135. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIOOutput
  33136. type EnableVolumeIOOutput struct {
  33137. _ struct{} `type:"structure"`
  33138. }
  33139. // String returns the string representation
  33140. func (s EnableVolumeIOOutput) String() string {
  33141. return awsutil.Prettify(s)
  33142. }
  33143. // GoString returns the string representation
  33144. func (s EnableVolumeIOOutput) GoString() string {
  33145. return s.String()
  33146. }
  33147. // Contains the parameters for EnableVpcClassicLinkDnsSupport.
  33148. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupportRequest
  33149. type EnableVpcClassicLinkDnsSupportInput struct {
  33150. _ struct{} `type:"structure"`
  33151. // The ID of the VPC.
  33152. VpcId *string `type:"string"`
  33153. }
  33154. // String returns the string representation
  33155. func (s EnableVpcClassicLinkDnsSupportInput) String() string {
  33156. return awsutil.Prettify(s)
  33157. }
  33158. // GoString returns the string representation
  33159. func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
  33160. return s.String()
  33161. }
  33162. // SetVpcId sets the VpcId field's value.
  33163. func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
  33164. s.VpcId = &v
  33165. return s
  33166. }
  33167. // Contains the output of EnableVpcClassicLinkDnsSupport.
  33168. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupportResult
  33169. type EnableVpcClassicLinkDnsSupportOutput struct {
  33170. _ struct{} `type:"structure"`
  33171. // Returns true if the request succeeds; otherwise, it returns an error.
  33172. Return *bool `locationName:"return" type:"boolean"`
  33173. }
  33174. // String returns the string representation
  33175. func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
  33176. return awsutil.Prettify(s)
  33177. }
  33178. // GoString returns the string representation
  33179. func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
  33180. return s.String()
  33181. }
  33182. // SetReturn sets the Return field's value.
  33183. func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
  33184. s.Return = &v
  33185. return s
  33186. }
  33187. // Contains the parameters for EnableVpcClassicLink.
  33188. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkRequest
  33189. type EnableVpcClassicLinkInput struct {
  33190. _ struct{} `type:"structure"`
  33191. // Checks whether you have the required permissions for the action, without
  33192. // actually making the request, and provides an error response. If you have
  33193. // the required permissions, the error response is DryRunOperation. Otherwise,
  33194. // it is UnauthorizedOperation.
  33195. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33196. // The ID of the VPC.
  33197. //
  33198. // VpcId is a required field
  33199. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  33200. }
  33201. // String returns the string representation
  33202. func (s EnableVpcClassicLinkInput) String() string {
  33203. return awsutil.Prettify(s)
  33204. }
  33205. // GoString returns the string representation
  33206. func (s EnableVpcClassicLinkInput) GoString() string {
  33207. return s.String()
  33208. }
  33209. // Validate inspects the fields of the type to determine if they are valid.
  33210. func (s *EnableVpcClassicLinkInput) Validate() error {
  33211. invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
  33212. if s.VpcId == nil {
  33213. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  33214. }
  33215. if invalidParams.Len() > 0 {
  33216. return invalidParams
  33217. }
  33218. return nil
  33219. }
  33220. // SetDryRun sets the DryRun field's value.
  33221. func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
  33222. s.DryRun = &v
  33223. return s
  33224. }
  33225. // SetVpcId sets the VpcId field's value.
  33226. func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
  33227. s.VpcId = &v
  33228. return s
  33229. }
  33230. // Contains the output of EnableVpcClassicLink.
  33231. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkResult
  33232. type EnableVpcClassicLinkOutput struct {
  33233. _ struct{} `type:"structure"`
  33234. // Returns true if the request succeeds; otherwise, it returns an error.
  33235. Return *bool `locationName:"return" type:"boolean"`
  33236. }
  33237. // String returns the string representation
  33238. func (s EnableVpcClassicLinkOutput) String() string {
  33239. return awsutil.Prettify(s)
  33240. }
  33241. // GoString returns the string representation
  33242. func (s EnableVpcClassicLinkOutput) GoString() string {
  33243. return s.String()
  33244. }
  33245. // SetReturn sets the Return field's value.
  33246. func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
  33247. s.Return = &v
  33248. return s
  33249. }
  33250. // Describes a Spot fleet event.
  33251. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EventInformation
  33252. type EventInformation struct {
  33253. _ struct{} `type:"structure"`
  33254. // The description of the event.
  33255. EventDescription *string `locationName:"eventDescription" type:"string"`
  33256. // The event.
  33257. //
  33258. // The following are the error events.
  33259. //
  33260. // * iamFleetRoleInvalid - The Spot fleet did not have the required permissions
  33261. // either to launch or terminate an instance.
  33262. //
  33263. // * launchSpecTemporarilyBlacklisted - The configuration is not valid and
  33264. // several attempts to launch instances have failed. For more information,
  33265. // see the description of the event.
  33266. //
  33267. // * spotFleetRequestConfigurationInvalid - The configuration is not valid.
  33268. // For more information, see the description of the event.
  33269. //
  33270. // * spotInstanceCountLimitExceeded - You've reached the limit on the number
  33271. // of Spot instances that you can launch.
  33272. //
  33273. // The following are the fleetRequestChange events.
  33274. //
  33275. // * active - The Spot fleet has been validated and Amazon EC2 is attempting
  33276. // to maintain the target number of running Spot instances.
  33277. //
  33278. // * cancelled - The Spot fleet is canceled and has no running Spot instances.
  33279. // The Spot fleet will be deleted two days after its instances were terminated.
  33280. //
  33281. // * cancelled_running - The Spot fleet is canceled and will not launch additional
  33282. // Spot instances, but its existing Spot instances continue to run until
  33283. // they are interrupted or terminated.
  33284. //
  33285. // * cancelled_terminating - The Spot fleet is canceled and its Spot instances
  33286. // are terminating.
  33287. //
  33288. // * expired - The Spot fleet request has expired. A subsequent event indicates
  33289. // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
  33290. // set.
  33291. //
  33292. // * modify_in_progress - A request to modify the Spot fleet request was
  33293. // accepted and is in progress.
  33294. //
  33295. // * modify_successful - The Spot fleet request was modified.
  33296. //
  33297. // * price_update - The bid price for a launch configuration was adjusted
  33298. // because it was too high. This change is permanent.
  33299. //
  33300. // * submitted - The Spot fleet request is being evaluated and Amazon EC2
  33301. // is preparing to launch the target number of Spot instances.
  33302. //
  33303. // The following are the instanceChange events.
  33304. //
  33305. // * launched - A bid was fulfilled and a new instance was launched.
  33306. //
  33307. // * terminated - An instance was terminated by the user.
  33308. EventSubType *string `locationName:"eventSubType" type:"string"`
  33309. // The ID of the instance. This information is available only for instanceChange
  33310. // events.
  33311. InstanceId *string `locationName:"instanceId" type:"string"`
  33312. }
  33313. // String returns the string representation
  33314. func (s EventInformation) String() string {
  33315. return awsutil.Prettify(s)
  33316. }
  33317. // GoString returns the string representation
  33318. func (s EventInformation) GoString() string {
  33319. return s.String()
  33320. }
  33321. // SetEventDescription sets the EventDescription field's value.
  33322. func (s *EventInformation) SetEventDescription(v string) *EventInformation {
  33323. s.EventDescription = &v
  33324. return s
  33325. }
  33326. // SetEventSubType sets the EventSubType field's value.
  33327. func (s *EventInformation) SetEventSubType(v string) *EventInformation {
  33328. s.EventSubType = &v
  33329. return s
  33330. }
  33331. // SetInstanceId sets the InstanceId field's value.
  33332. func (s *EventInformation) SetInstanceId(v string) *EventInformation {
  33333. s.InstanceId = &v
  33334. return s
  33335. }
  33336. // Describes an instance export task.
  33337. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTask
  33338. type ExportTask struct {
  33339. _ struct{} `type:"structure"`
  33340. // A description of the resource being exported.
  33341. Description *string `locationName:"description" type:"string"`
  33342. // The ID of the export task.
  33343. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  33344. // Information about the export task.
  33345. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  33346. // Information about the instance to export.
  33347. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  33348. // The state of the export task.
  33349. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  33350. // The status message related to the export task.
  33351. StatusMessage *string `locationName:"statusMessage" type:"string"`
  33352. }
  33353. // String returns the string representation
  33354. func (s ExportTask) String() string {
  33355. return awsutil.Prettify(s)
  33356. }
  33357. // GoString returns the string representation
  33358. func (s ExportTask) GoString() string {
  33359. return s.String()
  33360. }
  33361. // SetDescription sets the Description field's value.
  33362. func (s *ExportTask) SetDescription(v string) *ExportTask {
  33363. s.Description = &v
  33364. return s
  33365. }
  33366. // SetExportTaskId sets the ExportTaskId field's value.
  33367. func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
  33368. s.ExportTaskId = &v
  33369. return s
  33370. }
  33371. // SetExportToS3Task sets the ExportToS3Task field's value.
  33372. func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
  33373. s.ExportToS3Task = v
  33374. return s
  33375. }
  33376. // SetInstanceExportDetails sets the InstanceExportDetails field's value.
  33377. func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
  33378. s.InstanceExportDetails = v
  33379. return s
  33380. }
  33381. // SetState sets the State field's value.
  33382. func (s *ExportTask) SetState(v string) *ExportTask {
  33383. s.State = &v
  33384. return s
  33385. }
  33386. // SetStatusMessage sets the StatusMessage field's value.
  33387. func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
  33388. s.StatusMessage = &v
  33389. return s
  33390. }
  33391. // Describes the format and location for an instance export task.
  33392. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportToS3Task
  33393. type ExportToS3Task struct {
  33394. _ struct{} `type:"structure"`
  33395. // The container format used to combine disk images with metadata (such as OVF).
  33396. // If absent, only the disk image is exported.
  33397. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  33398. // The format for the exported image.
  33399. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  33400. // The S3 bucket for the destination image. The destination bucket must exist
  33401. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  33402. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  33403. // The encryption key for your S3 bucket.
  33404. S3Key *string `locationName:"s3Key" type:"string"`
  33405. }
  33406. // String returns the string representation
  33407. func (s ExportToS3Task) String() string {
  33408. return awsutil.Prettify(s)
  33409. }
  33410. // GoString returns the string representation
  33411. func (s ExportToS3Task) GoString() string {
  33412. return s.String()
  33413. }
  33414. // SetContainerFormat sets the ContainerFormat field's value.
  33415. func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
  33416. s.ContainerFormat = &v
  33417. return s
  33418. }
  33419. // SetDiskImageFormat sets the DiskImageFormat field's value.
  33420. func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
  33421. s.DiskImageFormat = &v
  33422. return s
  33423. }
  33424. // SetS3Bucket sets the S3Bucket field's value.
  33425. func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
  33426. s.S3Bucket = &v
  33427. return s
  33428. }
  33429. // SetS3Key sets the S3Key field's value.
  33430. func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
  33431. s.S3Key = &v
  33432. return s
  33433. }
  33434. // Describes an instance export task.
  33435. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportToS3TaskSpecification
  33436. type ExportToS3TaskSpecification struct {
  33437. _ struct{} `type:"structure"`
  33438. // The container format used to combine disk images with metadata (such as OVF).
  33439. // If absent, only the disk image is exported.
  33440. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  33441. // The format for the exported image.
  33442. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  33443. // The S3 bucket for the destination image. The destination bucket must exist
  33444. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  33445. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  33446. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  33447. // + exportTaskId + '.' + diskImageFormat.
  33448. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  33449. }
  33450. // String returns the string representation
  33451. func (s ExportToS3TaskSpecification) String() string {
  33452. return awsutil.Prettify(s)
  33453. }
  33454. // GoString returns the string representation
  33455. func (s ExportToS3TaskSpecification) GoString() string {
  33456. return s.String()
  33457. }
  33458. // SetContainerFormat sets the ContainerFormat field's value.
  33459. func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
  33460. s.ContainerFormat = &v
  33461. return s
  33462. }
  33463. // SetDiskImageFormat sets the DiskImageFormat field's value.
  33464. func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
  33465. s.DiskImageFormat = &v
  33466. return s
  33467. }
  33468. // SetS3Bucket sets the S3Bucket field's value.
  33469. func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
  33470. s.S3Bucket = &v
  33471. return s
  33472. }
  33473. // SetS3Prefix sets the S3Prefix field's value.
  33474. func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
  33475. s.S3Prefix = &v
  33476. return s
  33477. }
  33478. // A filter name and value pair that is used to return a more specific list
  33479. // of results. Filters can be used to match a set of resources by various criteria,
  33480. // such as tags, attributes, or IDs.
  33481. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Filter
  33482. type Filter struct {
  33483. _ struct{} `type:"structure"`
  33484. // The name of the filter. Filter names are case-sensitive.
  33485. Name *string `type:"string"`
  33486. // One or more filter values. Filter values are case-sensitive.
  33487. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  33488. }
  33489. // String returns the string representation
  33490. func (s Filter) String() string {
  33491. return awsutil.Prettify(s)
  33492. }
  33493. // GoString returns the string representation
  33494. func (s Filter) GoString() string {
  33495. return s.String()
  33496. }
  33497. // SetName sets the Name field's value.
  33498. func (s *Filter) SetName(v string) *Filter {
  33499. s.Name = &v
  33500. return s
  33501. }
  33502. // SetValues sets the Values field's value.
  33503. func (s *Filter) SetValues(v []*string) *Filter {
  33504. s.Values = v
  33505. return s
  33506. }
  33507. // Describes a flow log.
  33508. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FlowLog
  33509. type FlowLog struct {
  33510. _ struct{} `type:"structure"`
  33511. // The date and time the flow log was created.
  33512. CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  33513. // Information about the error that occurred. Rate limited indicates that CloudWatch
  33514. // logs throttling has been applied for one or more network interfaces, or that
  33515. // you've reached the limit on the number of CloudWatch Logs log groups that
  33516. // you can create. Access error indicates that the IAM role associated with
  33517. // the flow log does not have sufficient permissions to publish to CloudWatch
  33518. // Logs. Unknown error indicates an internal error.
  33519. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  33520. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  33521. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  33522. // The status of the logs delivery (SUCCESS | FAILED).
  33523. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  33524. // The flow log ID.
  33525. FlowLogId *string `locationName:"flowLogId" type:"string"`
  33526. // The status of the flow log (ACTIVE).
  33527. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  33528. // The name of the flow log group.
  33529. LogGroupName *string `locationName:"logGroupName" type:"string"`
  33530. // The ID of the resource on which the flow log was created.
  33531. ResourceId *string `locationName:"resourceId" type:"string"`
  33532. // The type of traffic captured for the flow log.
  33533. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  33534. }
  33535. // String returns the string representation
  33536. func (s FlowLog) String() string {
  33537. return awsutil.Prettify(s)
  33538. }
  33539. // GoString returns the string representation
  33540. func (s FlowLog) GoString() string {
  33541. return s.String()
  33542. }
  33543. // SetCreationTime sets the CreationTime field's value.
  33544. func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
  33545. s.CreationTime = &v
  33546. return s
  33547. }
  33548. // SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
  33549. func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
  33550. s.DeliverLogsErrorMessage = &v
  33551. return s
  33552. }
  33553. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  33554. func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
  33555. s.DeliverLogsPermissionArn = &v
  33556. return s
  33557. }
  33558. // SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
  33559. func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
  33560. s.DeliverLogsStatus = &v
  33561. return s
  33562. }
  33563. // SetFlowLogId sets the FlowLogId field's value.
  33564. func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
  33565. s.FlowLogId = &v
  33566. return s
  33567. }
  33568. // SetFlowLogStatus sets the FlowLogStatus field's value.
  33569. func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
  33570. s.FlowLogStatus = &v
  33571. return s
  33572. }
  33573. // SetLogGroupName sets the LogGroupName field's value.
  33574. func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
  33575. s.LogGroupName = &v
  33576. return s
  33577. }
  33578. // SetResourceId sets the ResourceId field's value.
  33579. func (s *FlowLog) SetResourceId(v string) *FlowLog {
  33580. s.ResourceId = &v
  33581. return s
  33582. }
  33583. // SetTrafficType sets the TrafficType field's value.
  33584. func (s *FlowLog) SetTrafficType(v string) *FlowLog {
  33585. s.TrafficType = &v
  33586. return s
  33587. }
  33588. // Contains the parameters for GetConsoleOutput.
  33589. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutputRequest
  33590. type GetConsoleOutputInput struct {
  33591. _ struct{} `type:"structure"`
  33592. // Checks whether you have the required permissions for the action, without
  33593. // actually making the request, and provides an error response. If you have
  33594. // the required permissions, the error response is DryRunOperation. Otherwise,
  33595. // it is UnauthorizedOperation.
  33596. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33597. // The ID of the instance.
  33598. //
  33599. // InstanceId is a required field
  33600. InstanceId *string `type:"string" required:"true"`
  33601. }
  33602. // String returns the string representation
  33603. func (s GetConsoleOutputInput) String() string {
  33604. return awsutil.Prettify(s)
  33605. }
  33606. // GoString returns the string representation
  33607. func (s GetConsoleOutputInput) GoString() string {
  33608. return s.String()
  33609. }
  33610. // Validate inspects the fields of the type to determine if they are valid.
  33611. func (s *GetConsoleOutputInput) Validate() error {
  33612. invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
  33613. if s.InstanceId == nil {
  33614. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  33615. }
  33616. if invalidParams.Len() > 0 {
  33617. return invalidParams
  33618. }
  33619. return nil
  33620. }
  33621. // SetDryRun sets the DryRun field's value.
  33622. func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
  33623. s.DryRun = &v
  33624. return s
  33625. }
  33626. // SetInstanceId sets the InstanceId field's value.
  33627. func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
  33628. s.InstanceId = &v
  33629. return s
  33630. }
  33631. // Contains the output of GetConsoleOutput.
  33632. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutputResult
  33633. type GetConsoleOutputOutput struct {
  33634. _ struct{} `type:"structure"`
  33635. // The ID of the instance.
  33636. InstanceId *string `locationName:"instanceId" type:"string"`
  33637. // The console output, Base64-encoded. If using a command line tool, the tool
  33638. // decodes the output for you.
  33639. Output *string `locationName:"output" type:"string"`
  33640. // The time the output was last updated.
  33641. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  33642. }
  33643. // String returns the string representation
  33644. func (s GetConsoleOutputOutput) String() string {
  33645. return awsutil.Prettify(s)
  33646. }
  33647. // GoString returns the string representation
  33648. func (s GetConsoleOutputOutput) GoString() string {
  33649. return s.String()
  33650. }
  33651. // SetInstanceId sets the InstanceId field's value.
  33652. func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
  33653. s.InstanceId = &v
  33654. return s
  33655. }
  33656. // SetOutput sets the Output field's value.
  33657. func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
  33658. s.Output = &v
  33659. return s
  33660. }
  33661. // SetTimestamp sets the Timestamp field's value.
  33662. func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
  33663. s.Timestamp = &v
  33664. return s
  33665. }
  33666. // Contains the parameters for the request.
  33667. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshotRequest
  33668. type GetConsoleScreenshotInput struct {
  33669. _ struct{} `type:"structure"`
  33670. // Checks whether you have the required permissions for the action, without
  33671. // actually making the request, and provides an error response. If you have
  33672. // the required permissions, the error response is DryRunOperation. Otherwise,
  33673. // it is UnauthorizedOperation.
  33674. DryRun *bool `type:"boolean"`
  33675. // The ID of the instance.
  33676. //
  33677. // InstanceId is a required field
  33678. InstanceId *string `type:"string" required:"true"`
  33679. // When set to true, acts as keystroke input and wakes up an instance that's
  33680. // in standby or "sleep" mode.
  33681. WakeUp *bool `type:"boolean"`
  33682. }
  33683. // String returns the string representation
  33684. func (s GetConsoleScreenshotInput) String() string {
  33685. return awsutil.Prettify(s)
  33686. }
  33687. // GoString returns the string representation
  33688. func (s GetConsoleScreenshotInput) GoString() string {
  33689. return s.String()
  33690. }
  33691. // Validate inspects the fields of the type to determine if they are valid.
  33692. func (s *GetConsoleScreenshotInput) Validate() error {
  33693. invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
  33694. if s.InstanceId == nil {
  33695. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  33696. }
  33697. if invalidParams.Len() > 0 {
  33698. return invalidParams
  33699. }
  33700. return nil
  33701. }
  33702. // SetDryRun sets the DryRun field's value.
  33703. func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
  33704. s.DryRun = &v
  33705. return s
  33706. }
  33707. // SetInstanceId sets the InstanceId field's value.
  33708. func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
  33709. s.InstanceId = &v
  33710. return s
  33711. }
  33712. // SetWakeUp sets the WakeUp field's value.
  33713. func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
  33714. s.WakeUp = &v
  33715. return s
  33716. }
  33717. // Contains the output of the request.
  33718. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshotResult
  33719. type GetConsoleScreenshotOutput struct {
  33720. _ struct{} `type:"structure"`
  33721. // The data that comprises the image.
  33722. ImageData *string `locationName:"imageData" type:"string"`
  33723. // The ID of the instance.
  33724. InstanceId *string `locationName:"instanceId" type:"string"`
  33725. }
  33726. // String returns the string representation
  33727. func (s GetConsoleScreenshotOutput) String() string {
  33728. return awsutil.Prettify(s)
  33729. }
  33730. // GoString returns the string representation
  33731. func (s GetConsoleScreenshotOutput) GoString() string {
  33732. return s.String()
  33733. }
  33734. // SetImageData sets the ImageData field's value.
  33735. func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
  33736. s.ImageData = &v
  33737. return s
  33738. }
  33739. // SetInstanceId sets the InstanceId field's value.
  33740. func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
  33741. s.InstanceId = &v
  33742. return s
  33743. }
  33744. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreviewRequest
  33745. type GetHostReservationPurchasePreviewInput struct {
  33746. _ struct{} `type:"structure"`
  33747. // The ID/s of the Dedicated Host/s that the reservation will be associated
  33748. // with.
  33749. //
  33750. // HostIdSet is a required field
  33751. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  33752. // The offering ID of the reservation.
  33753. //
  33754. // OfferingId is a required field
  33755. OfferingId *string `type:"string" required:"true"`
  33756. }
  33757. // String returns the string representation
  33758. func (s GetHostReservationPurchasePreviewInput) String() string {
  33759. return awsutil.Prettify(s)
  33760. }
  33761. // GoString returns the string representation
  33762. func (s GetHostReservationPurchasePreviewInput) GoString() string {
  33763. return s.String()
  33764. }
  33765. // Validate inspects the fields of the type to determine if they are valid.
  33766. func (s *GetHostReservationPurchasePreviewInput) Validate() error {
  33767. invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
  33768. if s.HostIdSet == nil {
  33769. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  33770. }
  33771. if s.OfferingId == nil {
  33772. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  33773. }
  33774. if invalidParams.Len() > 0 {
  33775. return invalidParams
  33776. }
  33777. return nil
  33778. }
  33779. // SetHostIdSet sets the HostIdSet field's value.
  33780. func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
  33781. s.HostIdSet = v
  33782. return s
  33783. }
  33784. // SetOfferingId sets the OfferingId field's value.
  33785. func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
  33786. s.OfferingId = &v
  33787. return s
  33788. }
  33789. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreviewResult
  33790. type GetHostReservationPurchasePreviewOutput struct {
  33791. _ struct{} `type:"structure"`
  33792. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  33793. // are specified. At this time, the only supported currency is USD.
  33794. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  33795. // The purchase information of the Dedicated Host Reservation and the Dedicated
  33796. // Hosts associated with it.
  33797. Purchase []*Purchase `locationName:"purchase" type:"list"`
  33798. // The potential total hourly price of the reservation per hour.
  33799. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  33800. // The potential total upfront price. This is billed immediately.
  33801. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  33802. }
  33803. // String returns the string representation
  33804. func (s GetHostReservationPurchasePreviewOutput) String() string {
  33805. return awsutil.Prettify(s)
  33806. }
  33807. // GoString returns the string representation
  33808. func (s GetHostReservationPurchasePreviewOutput) GoString() string {
  33809. return s.String()
  33810. }
  33811. // SetCurrencyCode sets the CurrencyCode field's value.
  33812. func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
  33813. s.CurrencyCode = &v
  33814. return s
  33815. }
  33816. // SetPurchase sets the Purchase field's value.
  33817. func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
  33818. s.Purchase = v
  33819. return s
  33820. }
  33821. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  33822. func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
  33823. s.TotalHourlyPrice = &v
  33824. return s
  33825. }
  33826. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  33827. func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
  33828. s.TotalUpfrontPrice = &v
  33829. return s
  33830. }
  33831. // Contains the parameters for GetPasswordData.
  33832. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordDataRequest
  33833. type GetPasswordDataInput struct {
  33834. _ struct{} `type:"structure"`
  33835. // Checks whether you have the required permissions for the action, without
  33836. // actually making the request, and provides an error response. If you have
  33837. // the required permissions, the error response is DryRunOperation. Otherwise,
  33838. // it is UnauthorizedOperation.
  33839. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33840. // The ID of the Windows instance.
  33841. //
  33842. // InstanceId is a required field
  33843. InstanceId *string `type:"string" required:"true"`
  33844. }
  33845. // String returns the string representation
  33846. func (s GetPasswordDataInput) String() string {
  33847. return awsutil.Prettify(s)
  33848. }
  33849. // GoString returns the string representation
  33850. func (s GetPasswordDataInput) GoString() string {
  33851. return s.String()
  33852. }
  33853. // Validate inspects the fields of the type to determine if they are valid.
  33854. func (s *GetPasswordDataInput) Validate() error {
  33855. invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
  33856. if s.InstanceId == nil {
  33857. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  33858. }
  33859. if invalidParams.Len() > 0 {
  33860. return invalidParams
  33861. }
  33862. return nil
  33863. }
  33864. // SetDryRun sets the DryRun field's value.
  33865. func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
  33866. s.DryRun = &v
  33867. return s
  33868. }
  33869. // SetInstanceId sets the InstanceId field's value.
  33870. func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
  33871. s.InstanceId = &v
  33872. return s
  33873. }
  33874. // Contains the output of GetPasswordData.
  33875. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordDataResult
  33876. type GetPasswordDataOutput struct {
  33877. _ struct{} `type:"structure"`
  33878. // The ID of the Windows instance.
  33879. InstanceId *string `locationName:"instanceId" type:"string"`
  33880. // The password of the instance.
  33881. PasswordData *string `locationName:"passwordData" type:"string"`
  33882. // The time the data was last updated.
  33883. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  33884. }
  33885. // String returns the string representation
  33886. func (s GetPasswordDataOutput) String() string {
  33887. return awsutil.Prettify(s)
  33888. }
  33889. // GoString returns the string representation
  33890. func (s GetPasswordDataOutput) GoString() string {
  33891. return s.String()
  33892. }
  33893. // SetInstanceId sets the InstanceId field's value.
  33894. func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
  33895. s.InstanceId = &v
  33896. return s
  33897. }
  33898. // SetPasswordData sets the PasswordData field's value.
  33899. func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
  33900. s.PasswordData = &v
  33901. return s
  33902. }
  33903. // SetTimestamp sets the Timestamp field's value.
  33904. func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
  33905. s.Timestamp = &v
  33906. return s
  33907. }
  33908. // Contains the parameters for GetReservedInstanceExchangeQuote.
  33909. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuoteRequest
  33910. type GetReservedInstancesExchangeQuoteInput struct {
  33911. _ struct{} `type:"structure"`
  33912. // Checks whether you have the required permissions for the action, without
  33913. // actually making the request, and provides an error response. If you have
  33914. // the required permissions, the error response is DryRunOperation. Otherwise,
  33915. // it is UnauthorizedOperation.
  33916. DryRun *bool `type:"boolean"`
  33917. // The IDs of the Convertible Reserved Instances to exchange.
  33918. //
  33919. // ReservedInstanceIds is a required field
  33920. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  33921. // The configuration requirements of the Convertible Reserved Instances to exchange
  33922. // for your current Convertible Reserved Instances.
  33923. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  33924. }
  33925. // String returns the string representation
  33926. func (s GetReservedInstancesExchangeQuoteInput) String() string {
  33927. return awsutil.Prettify(s)
  33928. }
  33929. // GoString returns the string representation
  33930. func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
  33931. return s.String()
  33932. }
  33933. // Validate inspects the fields of the type to determine if they are valid.
  33934. func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
  33935. invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
  33936. if s.ReservedInstanceIds == nil {
  33937. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  33938. }
  33939. if s.TargetConfigurations != nil {
  33940. for i, v := range s.TargetConfigurations {
  33941. if v == nil {
  33942. continue
  33943. }
  33944. if err := v.Validate(); err != nil {
  33945. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  33946. }
  33947. }
  33948. }
  33949. if invalidParams.Len() > 0 {
  33950. return invalidParams
  33951. }
  33952. return nil
  33953. }
  33954. // SetDryRun sets the DryRun field's value.
  33955. func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
  33956. s.DryRun = &v
  33957. return s
  33958. }
  33959. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  33960. func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
  33961. s.ReservedInstanceIds = v
  33962. return s
  33963. }
  33964. // SetTargetConfigurations sets the TargetConfigurations field's value.
  33965. func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
  33966. s.TargetConfigurations = v
  33967. return s
  33968. }
  33969. // Contains the output of GetReservedInstancesExchangeQuote.
  33970. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuoteResult
  33971. type GetReservedInstancesExchangeQuoteOutput struct {
  33972. _ struct{} `type:"structure"`
  33973. // The currency of the transaction.
  33974. CurrencyCode *string `locationName:"currencyCode" type:"string"`
  33975. // If true, the exchange is valid. If false, the exchange cannot be completed.
  33976. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
  33977. // The new end date of the reservation term.
  33978. OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp" timestampFormat:"iso8601"`
  33979. // The total true upfront charge for the exchange.
  33980. PaymentDue *string `locationName:"paymentDue" type:"string"`
  33981. // The cost associated with the Reserved Instance.
  33982. ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
  33983. // The configuration of your Convertible Reserved Instances.
  33984. ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
  33985. // The cost associated with the Reserved Instance.
  33986. TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
  33987. // The values of the target Convertible Reserved Instances.
  33988. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
  33989. // Describes the reason why the exchange cannot be completed.
  33990. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
  33991. }
  33992. // String returns the string representation
  33993. func (s GetReservedInstancesExchangeQuoteOutput) String() string {
  33994. return awsutil.Prettify(s)
  33995. }
  33996. // GoString returns the string representation
  33997. func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
  33998. return s.String()
  33999. }
  34000. // SetCurrencyCode sets the CurrencyCode field's value.
  34001. func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
  34002. s.CurrencyCode = &v
  34003. return s
  34004. }
  34005. // SetIsValidExchange sets the IsValidExchange field's value.
  34006. func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
  34007. s.IsValidExchange = &v
  34008. return s
  34009. }
  34010. // SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
  34011. func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
  34012. s.OutputReservedInstancesWillExpireAt = &v
  34013. return s
  34014. }
  34015. // SetPaymentDue sets the PaymentDue field's value.
  34016. func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
  34017. s.PaymentDue = &v
  34018. return s
  34019. }
  34020. // SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
  34021. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  34022. s.ReservedInstanceValueRollup = v
  34023. return s
  34024. }
  34025. // SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
  34026. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  34027. s.ReservedInstanceValueSet = v
  34028. return s
  34029. }
  34030. // SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
  34031. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  34032. s.TargetConfigurationValueRollup = v
  34033. return s
  34034. }
  34035. // SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
  34036. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  34037. s.TargetConfigurationValueSet = v
  34038. return s
  34039. }
  34040. // SetValidationFailureReason sets the ValidationFailureReason field's value.
  34041. func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
  34042. s.ValidationFailureReason = &v
  34043. return s
  34044. }
  34045. // Describes a security group.
  34046. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GroupIdentifier
  34047. type GroupIdentifier struct {
  34048. _ struct{} `type:"structure"`
  34049. // The ID of the security group.
  34050. GroupId *string `locationName:"groupId" type:"string"`
  34051. // The name of the security group.
  34052. GroupName *string `locationName:"groupName" type:"string"`
  34053. }
  34054. // String returns the string representation
  34055. func (s GroupIdentifier) String() string {
  34056. return awsutil.Prettify(s)
  34057. }
  34058. // GoString returns the string representation
  34059. func (s GroupIdentifier) GoString() string {
  34060. return s.String()
  34061. }
  34062. // SetGroupId sets the GroupId field's value.
  34063. func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
  34064. s.GroupId = &v
  34065. return s
  34066. }
  34067. // SetGroupName sets the GroupName field's value.
  34068. func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
  34069. s.GroupName = &v
  34070. return s
  34071. }
  34072. // Describes an event in the history of the Spot fleet request.
  34073. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HistoryRecord
  34074. type HistoryRecord struct {
  34075. _ struct{} `type:"structure"`
  34076. // Information about the event.
  34077. //
  34078. // EventInformation is a required field
  34079. EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
  34080. // The event type.
  34081. //
  34082. // * error - Indicates an error with the Spot fleet request.
  34083. //
  34084. // * fleetRequestChange - Indicates a change in the status or configuration
  34085. // of the Spot fleet request.
  34086. //
  34087. // * instanceChange - Indicates that an instance was launched or terminated.
  34088. //
  34089. // EventType is a required field
  34090. EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
  34091. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  34092. //
  34093. // Timestamp is a required field
  34094. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  34095. }
  34096. // String returns the string representation
  34097. func (s HistoryRecord) String() string {
  34098. return awsutil.Prettify(s)
  34099. }
  34100. // GoString returns the string representation
  34101. func (s HistoryRecord) GoString() string {
  34102. return s.String()
  34103. }
  34104. // SetEventInformation sets the EventInformation field's value.
  34105. func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
  34106. s.EventInformation = v
  34107. return s
  34108. }
  34109. // SetEventType sets the EventType field's value.
  34110. func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
  34111. s.EventType = &v
  34112. return s
  34113. }
  34114. // SetTimestamp sets the Timestamp field's value.
  34115. func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
  34116. s.Timestamp = &v
  34117. return s
  34118. }
  34119. // Describes the properties of the Dedicated Host.
  34120. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Host
  34121. type Host struct {
  34122. _ struct{} `type:"structure"`
  34123. // Whether auto-placement is on or off.
  34124. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  34125. // The Availability Zone of the Dedicated Host.
  34126. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  34127. // The number of new instances that can be launched onto the Dedicated Host.
  34128. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
  34129. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  34130. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  34131. // in the Amazon Elastic Compute Cloud User Guide.
  34132. ClientToken *string `locationName:"clientToken" type:"string"`
  34133. // The ID of the Dedicated Host.
  34134. HostId *string `locationName:"hostId" type:"string"`
  34135. // The hardware specifications of the Dedicated Host.
  34136. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
  34137. // The reservation ID of the Dedicated Host. This returns a null response if
  34138. // the Dedicated Host doesn't have an associated reservation.
  34139. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  34140. // The IDs and instance type that are currently running on the Dedicated Host.
  34141. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
  34142. // The Dedicated Host's state.
  34143. State *string `locationName:"state" type:"string" enum:"AllocationState"`
  34144. }
  34145. // String returns the string representation
  34146. func (s Host) String() string {
  34147. return awsutil.Prettify(s)
  34148. }
  34149. // GoString returns the string representation
  34150. func (s Host) GoString() string {
  34151. return s.String()
  34152. }
  34153. // SetAutoPlacement sets the AutoPlacement field's value.
  34154. func (s *Host) SetAutoPlacement(v string) *Host {
  34155. s.AutoPlacement = &v
  34156. return s
  34157. }
  34158. // SetAvailabilityZone sets the AvailabilityZone field's value.
  34159. func (s *Host) SetAvailabilityZone(v string) *Host {
  34160. s.AvailabilityZone = &v
  34161. return s
  34162. }
  34163. // SetAvailableCapacity sets the AvailableCapacity field's value.
  34164. func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
  34165. s.AvailableCapacity = v
  34166. return s
  34167. }
  34168. // SetClientToken sets the ClientToken field's value.
  34169. func (s *Host) SetClientToken(v string) *Host {
  34170. s.ClientToken = &v
  34171. return s
  34172. }
  34173. // SetHostId sets the HostId field's value.
  34174. func (s *Host) SetHostId(v string) *Host {
  34175. s.HostId = &v
  34176. return s
  34177. }
  34178. // SetHostProperties sets the HostProperties field's value.
  34179. func (s *Host) SetHostProperties(v *HostProperties) *Host {
  34180. s.HostProperties = v
  34181. return s
  34182. }
  34183. // SetHostReservationId sets the HostReservationId field's value.
  34184. func (s *Host) SetHostReservationId(v string) *Host {
  34185. s.HostReservationId = &v
  34186. return s
  34187. }
  34188. // SetInstances sets the Instances field's value.
  34189. func (s *Host) SetInstances(v []*HostInstance) *Host {
  34190. s.Instances = v
  34191. return s
  34192. }
  34193. // SetState sets the State field's value.
  34194. func (s *Host) SetState(v string) *Host {
  34195. s.State = &v
  34196. return s
  34197. }
  34198. // Describes an instance running on a Dedicated Host.
  34199. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostInstance
  34200. type HostInstance struct {
  34201. _ struct{} `type:"structure"`
  34202. // the IDs of instances that are running on the Dedicated Host.
  34203. InstanceId *string `locationName:"instanceId" type:"string"`
  34204. // The instance type size (for example, m3.medium) of the running instance.
  34205. InstanceType *string `locationName:"instanceType" type:"string"`
  34206. }
  34207. // String returns the string representation
  34208. func (s HostInstance) String() string {
  34209. return awsutil.Prettify(s)
  34210. }
  34211. // GoString returns the string representation
  34212. func (s HostInstance) GoString() string {
  34213. return s.String()
  34214. }
  34215. // SetInstanceId sets the InstanceId field's value.
  34216. func (s *HostInstance) SetInstanceId(v string) *HostInstance {
  34217. s.InstanceId = &v
  34218. return s
  34219. }
  34220. // SetInstanceType sets the InstanceType field's value.
  34221. func (s *HostInstance) SetInstanceType(v string) *HostInstance {
  34222. s.InstanceType = &v
  34223. return s
  34224. }
  34225. // Details about the Dedicated Host Reservation offering.
  34226. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostOffering
  34227. type HostOffering struct {
  34228. _ struct{} `type:"structure"`
  34229. // The currency of the offering.
  34230. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  34231. // The duration of the offering (in seconds).
  34232. Duration *int64 `locationName:"duration" type:"integer"`
  34233. // The hourly price of the offering.
  34234. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  34235. // The instance family of the offering.
  34236. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  34237. // The ID of the offering.
  34238. OfferingId *string `locationName:"offeringId" type:"string"`
  34239. // The available payment option.
  34240. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  34241. // The upfront price of the offering. Does not apply to No Upfront offerings.
  34242. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  34243. }
  34244. // String returns the string representation
  34245. func (s HostOffering) String() string {
  34246. return awsutil.Prettify(s)
  34247. }
  34248. // GoString returns the string representation
  34249. func (s HostOffering) GoString() string {
  34250. return s.String()
  34251. }
  34252. // SetCurrencyCode sets the CurrencyCode field's value.
  34253. func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
  34254. s.CurrencyCode = &v
  34255. return s
  34256. }
  34257. // SetDuration sets the Duration field's value.
  34258. func (s *HostOffering) SetDuration(v int64) *HostOffering {
  34259. s.Duration = &v
  34260. return s
  34261. }
  34262. // SetHourlyPrice sets the HourlyPrice field's value.
  34263. func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
  34264. s.HourlyPrice = &v
  34265. return s
  34266. }
  34267. // SetInstanceFamily sets the InstanceFamily field's value.
  34268. func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
  34269. s.InstanceFamily = &v
  34270. return s
  34271. }
  34272. // SetOfferingId sets the OfferingId field's value.
  34273. func (s *HostOffering) SetOfferingId(v string) *HostOffering {
  34274. s.OfferingId = &v
  34275. return s
  34276. }
  34277. // SetPaymentOption sets the PaymentOption field's value.
  34278. func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
  34279. s.PaymentOption = &v
  34280. return s
  34281. }
  34282. // SetUpfrontPrice sets the UpfrontPrice field's value.
  34283. func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
  34284. s.UpfrontPrice = &v
  34285. return s
  34286. }
  34287. // Describes properties of a Dedicated Host.
  34288. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostProperties
  34289. type HostProperties struct {
  34290. _ struct{} `type:"structure"`
  34291. // The number of cores on the Dedicated Host.
  34292. Cores *int64 `locationName:"cores" type:"integer"`
  34293. // The instance type size that the Dedicated Host supports (for example, m3.medium).
  34294. InstanceType *string `locationName:"instanceType" type:"string"`
  34295. // The number of sockets on the Dedicated Host.
  34296. Sockets *int64 `locationName:"sockets" type:"integer"`
  34297. // The number of vCPUs on the Dedicated Host.
  34298. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
  34299. }
  34300. // String returns the string representation
  34301. func (s HostProperties) String() string {
  34302. return awsutil.Prettify(s)
  34303. }
  34304. // GoString returns the string representation
  34305. func (s HostProperties) GoString() string {
  34306. return s.String()
  34307. }
  34308. // SetCores sets the Cores field's value.
  34309. func (s *HostProperties) SetCores(v int64) *HostProperties {
  34310. s.Cores = &v
  34311. return s
  34312. }
  34313. // SetInstanceType sets the InstanceType field's value.
  34314. func (s *HostProperties) SetInstanceType(v string) *HostProperties {
  34315. s.InstanceType = &v
  34316. return s
  34317. }
  34318. // SetSockets sets the Sockets field's value.
  34319. func (s *HostProperties) SetSockets(v int64) *HostProperties {
  34320. s.Sockets = &v
  34321. return s
  34322. }
  34323. // SetTotalVCpus sets the TotalVCpus field's value.
  34324. func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
  34325. s.TotalVCpus = &v
  34326. return s
  34327. }
  34328. // Details about the Dedicated Host Reservation and associated Dedicated Hosts.
  34329. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostReservation
  34330. type HostReservation struct {
  34331. _ struct{} `type:"structure"`
  34332. // The number of Dedicated Hosts the reservation is associated with.
  34333. Count *int64 `locationName:"count" type:"integer"`
  34334. // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
  34335. // At this time, the only supported currency is USD.
  34336. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  34337. // The length of the reservation's term, specified in seconds. Can be 31536000
  34338. // (1 year) | 94608000 (3 years).
  34339. Duration *int64 `locationName:"duration" type:"integer"`
  34340. // The date and time that the reservation ends.
  34341. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  34342. // The IDs of the Dedicated Hosts associated with the reservation.
  34343. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  34344. // The ID of the reservation that specifies the associated Dedicated Hosts.
  34345. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  34346. // The hourly price of the reservation.
  34347. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  34348. // The instance family of the Dedicated Host Reservation. The instance family
  34349. // on the Dedicated Host must be the same in order for it to benefit from the
  34350. // reservation.
  34351. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  34352. // The ID of the reservation. This remains the same regardless of which Dedicated
  34353. // Hosts are associated with it.
  34354. OfferingId *string `locationName:"offeringId" type:"string"`
  34355. // The payment option selected for this reservation.
  34356. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  34357. // The date and time that the reservation started.
  34358. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  34359. // The state of the reservation.
  34360. State *string `locationName:"state" type:"string" enum:"ReservationState"`
  34361. // The upfront price of the reservation.
  34362. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  34363. }
  34364. // String returns the string representation
  34365. func (s HostReservation) String() string {
  34366. return awsutil.Prettify(s)
  34367. }
  34368. // GoString returns the string representation
  34369. func (s HostReservation) GoString() string {
  34370. return s.String()
  34371. }
  34372. // SetCount sets the Count field's value.
  34373. func (s *HostReservation) SetCount(v int64) *HostReservation {
  34374. s.Count = &v
  34375. return s
  34376. }
  34377. // SetCurrencyCode sets the CurrencyCode field's value.
  34378. func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
  34379. s.CurrencyCode = &v
  34380. return s
  34381. }
  34382. // SetDuration sets the Duration field's value.
  34383. func (s *HostReservation) SetDuration(v int64) *HostReservation {
  34384. s.Duration = &v
  34385. return s
  34386. }
  34387. // SetEnd sets the End field's value.
  34388. func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
  34389. s.End = &v
  34390. return s
  34391. }
  34392. // SetHostIdSet sets the HostIdSet field's value.
  34393. func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
  34394. s.HostIdSet = v
  34395. return s
  34396. }
  34397. // SetHostReservationId sets the HostReservationId field's value.
  34398. func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
  34399. s.HostReservationId = &v
  34400. return s
  34401. }
  34402. // SetHourlyPrice sets the HourlyPrice field's value.
  34403. func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
  34404. s.HourlyPrice = &v
  34405. return s
  34406. }
  34407. // SetInstanceFamily sets the InstanceFamily field's value.
  34408. func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
  34409. s.InstanceFamily = &v
  34410. return s
  34411. }
  34412. // SetOfferingId sets the OfferingId field's value.
  34413. func (s *HostReservation) SetOfferingId(v string) *HostReservation {
  34414. s.OfferingId = &v
  34415. return s
  34416. }
  34417. // SetPaymentOption sets the PaymentOption field's value.
  34418. func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
  34419. s.PaymentOption = &v
  34420. return s
  34421. }
  34422. // SetStart sets the Start field's value.
  34423. func (s *HostReservation) SetStart(v time.Time) *HostReservation {
  34424. s.Start = &v
  34425. return s
  34426. }
  34427. // SetState sets the State field's value.
  34428. func (s *HostReservation) SetState(v string) *HostReservation {
  34429. s.State = &v
  34430. return s
  34431. }
  34432. // SetUpfrontPrice sets the UpfrontPrice field's value.
  34433. func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
  34434. s.UpfrontPrice = &v
  34435. return s
  34436. }
  34437. // Describes an IAM instance profile.
  34438. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfile
  34439. type IamInstanceProfile struct {
  34440. _ struct{} `type:"structure"`
  34441. // The Amazon Resource Name (ARN) of the instance profile.
  34442. Arn *string `locationName:"arn" type:"string"`
  34443. // The ID of the instance profile.
  34444. Id *string `locationName:"id" type:"string"`
  34445. }
  34446. // String returns the string representation
  34447. func (s IamInstanceProfile) String() string {
  34448. return awsutil.Prettify(s)
  34449. }
  34450. // GoString returns the string representation
  34451. func (s IamInstanceProfile) GoString() string {
  34452. return s.String()
  34453. }
  34454. // SetArn sets the Arn field's value.
  34455. func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
  34456. s.Arn = &v
  34457. return s
  34458. }
  34459. // SetId sets the Id field's value.
  34460. func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
  34461. s.Id = &v
  34462. return s
  34463. }
  34464. // Describes an association between an IAM instance profile and an instance.
  34465. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfileAssociation
  34466. type IamInstanceProfileAssociation struct {
  34467. _ struct{} `type:"structure"`
  34468. // The ID of the association.
  34469. AssociationId *string `locationName:"associationId" type:"string"`
  34470. // The IAM instance profile.
  34471. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  34472. // The ID of the instance.
  34473. InstanceId *string `locationName:"instanceId" type:"string"`
  34474. // The state of the association.
  34475. State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
  34476. // The time the IAM instance profile was associated with the instance.
  34477. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  34478. }
  34479. // String returns the string representation
  34480. func (s IamInstanceProfileAssociation) String() string {
  34481. return awsutil.Prettify(s)
  34482. }
  34483. // GoString returns the string representation
  34484. func (s IamInstanceProfileAssociation) GoString() string {
  34485. return s.String()
  34486. }
  34487. // SetAssociationId sets the AssociationId field's value.
  34488. func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
  34489. s.AssociationId = &v
  34490. return s
  34491. }
  34492. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  34493. func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
  34494. s.IamInstanceProfile = v
  34495. return s
  34496. }
  34497. // SetInstanceId sets the InstanceId field's value.
  34498. func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
  34499. s.InstanceId = &v
  34500. return s
  34501. }
  34502. // SetState sets the State field's value.
  34503. func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
  34504. s.State = &v
  34505. return s
  34506. }
  34507. // SetTimestamp sets the Timestamp field's value.
  34508. func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
  34509. s.Timestamp = &v
  34510. return s
  34511. }
  34512. // Describes an IAM instance profile.
  34513. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfileSpecification
  34514. type IamInstanceProfileSpecification struct {
  34515. _ struct{} `type:"structure"`
  34516. // The Amazon Resource Name (ARN) of the instance profile.
  34517. Arn *string `locationName:"arn" type:"string"`
  34518. // The name of the instance profile.
  34519. Name *string `locationName:"name" type:"string"`
  34520. }
  34521. // String returns the string representation
  34522. func (s IamInstanceProfileSpecification) String() string {
  34523. return awsutil.Prettify(s)
  34524. }
  34525. // GoString returns the string representation
  34526. func (s IamInstanceProfileSpecification) GoString() string {
  34527. return s.String()
  34528. }
  34529. // SetArn sets the Arn field's value.
  34530. func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
  34531. s.Arn = &v
  34532. return s
  34533. }
  34534. // SetName sets the Name field's value.
  34535. func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
  34536. s.Name = &v
  34537. return s
  34538. }
  34539. // Describes the ICMP type and code.
  34540. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IcmpTypeCode
  34541. type IcmpTypeCode struct {
  34542. _ struct{} `type:"structure"`
  34543. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  34544. Code *int64 `locationName:"code" type:"integer"`
  34545. // The ICMP type. A value of -1 means all types.
  34546. Type *int64 `locationName:"type" type:"integer"`
  34547. }
  34548. // String returns the string representation
  34549. func (s IcmpTypeCode) String() string {
  34550. return awsutil.Prettify(s)
  34551. }
  34552. // GoString returns the string representation
  34553. func (s IcmpTypeCode) GoString() string {
  34554. return s.String()
  34555. }
  34556. // SetCode sets the Code field's value.
  34557. func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
  34558. s.Code = &v
  34559. return s
  34560. }
  34561. // SetType sets the Type field's value.
  34562. func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
  34563. s.Type = &v
  34564. return s
  34565. }
  34566. // Describes the ID format for a resource.
  34567. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IdFormat
  34568. type IdFormat struct {
  34569. _ struct{} `type:"structure"`
  34570. // The date in UTC at which you are permanently switched over to using longer
  34571. // IDs. If a deadline is not yet available for this resource type, this field
  34572. // is not returned.
  34573. Deadline *time.Time `locationName:"deadline" type:"timestamp" timestampFormat:"iso8601"`
  34574. // The type of resource.
  34575. Resource *string `locationName:"resource" type:"string"`
  34576. // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
  34577. UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
  34578. }
  34579. // String returns the string representation
  34580. func (s IdFormat) String() string {
  34581. return awsutil.Prettify(s)
  34582. }
  34583. // GoString returns the string representation
  34584. func (s IdFormat) GoString() string {
  34585. return s.String()
  34586. }
  34587. // SetDeadline sets the Deadline field's value.
  34588. func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
  34589. s.Deadline = &v
  34590. return s
  34591. }
  34592. // SetResource sets the Resource field's value.
  34593. func (s *IdFormat) SetResource(v string) *IdFormat {
  34594. s.Resource = &v
  34595. return s
  34596. }
  34597. // SetUseLongIds sets the UseLongIds field's value.
  34598. func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
  34599. s.UseLongIds = &v
  34600. return s
  34601. }
  34602. // Describes an image.
  34603. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Image
  34604. type Image struct {
  34605. _ struct{} `type:"structure"`
  34606. // The architecture of the image.
  34607. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  34608. // Any block device mapping entries.
  34609. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  34610. // The date and time the image was created.
  34611. CreationDate *string `locationName:"creationDate" type:"string"`
  34612. // The description of the AMI that was provided during image creation.
  34613. Description *string `locationName:"description" type:"string"`
  34614. // Specifies whether enhanced networking with ENA is enabled.
  34615. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  34616. // The hypervisor type of the image.
  34617. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  34618. // The ID of the AMI.
  34619. ImageId *string `locationName:"imageId" type:"string"`
  34620. // The location of the AMI.
  34621. ImageLocation *string `locationName:"imageLocation" type:"string"`
  34622. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  34623. // the AMI owner.
  34624. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  34625. // The type of image.
  34626. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  34627. // The kernel associated with the image, if any. Only applicable for machine
  34628. // images.
  34629. KernelId *string `locationName:"kernelId" type:"string"`
  34630. // The name of the AMI that was provided during image creation.
  34631. Name *string `locationName:"name" type:"string"`
  34632. // The AWS account ID of the image owner.
  34633. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  34634. // The value is Windows for Windows AMIs; otherwise blank.
  34635. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  34636. // Any product codes associated with the AMI.
  34637. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  34638. // Indicates whether the image has public launch permissions. The value is true
  34639. // if this image has public launch permissions or false if it has only implicit
  34640. // and explicit launch permissions.
  34641. Public *bool `locationName:"isPublic" type:"boolean"`
  34642. // The RAM disk associated with the image, if any. Only applicable for machine
  34643. // images.
  34644. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  34645. // The device name of the root device (for example, /dev/sda1 or /dev/xvda).
  34646. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  34647. // The type of root device used by the AMI. The AMI can use an EBS volume or
  34648. // an instance store volume.
  34649. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  34650. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  34651. // interface is enabled.
  34652. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  34653. // The current state of the AMI. If the state is available, the image is successfully
  34654. // registered and can be used to launch an instance.
  34655. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  34656. // The reason for the state change.
  34657. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  34658. // Any tags assigned to the image.
  34659. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  34660. // The type of virtualization of the AMI.
  34661. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  34662. }
  34663. // String returns the string representation
  34664. func (s Image) String() string {
  34665. return awsutil.Prettify(s)
  34666. }
  34667. // GoString returns the string representation
  34668. func (s Image) GoString() string {
  34669. return s.String()
  34670. }
  34671. // SetArchitecture sets the Architecture field's value.
  34672. func (s *Image) SetArchitecture(v string) *Image {
  34673. s.Architecture = &v
  34674. return s
  34675. }
  34676. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  34677. func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
  34678. s.BlockDeviceMappings = v
  34679. return s
  34680. }
  34681. // SetCreationDate sets the CreationDate field's value.
  34682. func (s *Image) SetCreationDate(v string) *Image {
  34683. s.CreationDate = &v
  34684. return s
  34685. }
  34686. // SetDescription sets the Description field's value.
  34687. func (s *Image) SetDescription(v string) *Image {
  34688. s.Description = &v
  34689. return s
  34690. }
  34691. // SetEnaSupport sets the EnaSupport field's value.
  34692. func (s *Image) SetEnaSupport(v bool) *Image {
  34693. s.EnaSupport = &v
  34694. return s
  34695. }
  34696. // SetHypervisor sets the Hypervisor field's value.
  34697. func (s *Image) SetHypervisor(v string) *Image {
  34698. s.Hypervisor = &v
  34699. return s
  34700. }
  34701. // SetImageId sets the ImageId field's value.
  34702. func (s *Image) SetImageId(v string) *Image {
  34703. s.ImageId = &v
  34704. return s
  34705. }
  34706. // SetImageLocation sets the ImageLocation field's value.
  34707. func (s *Image) SetImageLocation(v string) *Image {
  34708. s.ImageLocation = &v
  34709. return s
  34710. }
  34711. // SetImageOwnerAlias sets the ImageOwnerAlias field's value.
  34712. func (s *Image) SetImageOwnerAlias(v string) *Image {
  34713. s.ImageOwnerAlias = &v
  34714. return s
  34715. }
  34716. // SetImageType sets the ImageType field's value.
  34717. func (s *Image) SetImageType(v string) *Image {
  34718. s.ImageType = &v
  34719. return s
  34720. }
  34721. // SetKernelId sets the KernelId field's value.
  34722. func (s *Image) SetKernelId(v string) *Image {
  34723. s.KernelId = &v
  34724. return s
  34725. }
  34726. // SetName sets the Name field's value.
  34727. func (s *Image) SetName(v string) *Image {
  34728. s.Name = &v
  34729. return s
  34730. }
  34731. // SetOwnerId sets the OwnerId field's value.
  34732. func (s *Image) SetOwnerId(v string) *Image {
  34733. s.OwnerId = &v
  34734. return s
  34735. }
  34736. // SetPlatform sets the Platform field's value.
  34737. func (s *Image) SetPlatform(v string) *Image {
  34738. s.Platform = &v
  34739. return s
  34740. }
  34741. // SetProductCodes sets the ProductCodes field's value.
  34742. func (s *Image) SetProductCodes(v []*ProductCode) *Image {
  34743. s.ProductCodes = v
  34744. return s
  34745. }
  34746. // SetPublic sets the Public field's value.
  34747. func (s *Image) SetPublic(v bool) *Image {
  34748. s.Public = &v
  34749. return s
  34750. }
  34751. // SetRamdiskId sets the RamdiskId field's value.
  34752. func (s *Image) SetRamdiskId(v string) *Image {
  34753. s.RamdiskId = &v
  34754. return s
  34755. }
  34756. // SetRootDeviceName sets the RootDeviceName field's value.
  34757. func (s *Image) SetRootDeviceName(v string) *Image {
  34758. s.RootDeviceName = &v
  34759. return s
  34760. }
  34761. // SetRootDeviceType sets the RootDeviceType field's value.
  34762. func (s *Image) SetRootDeviceType(v string) *Image {
  34763. s.RootDeviceType = &v
  34764. return s
  34765. }
  34766. // SetSriovNetSupport sets the SriovNetSupport field's value.
  34767. func (s *Image) SetSriovNetSupport(v string) *Image {
  34768. s.SriovNetSupport = &v
  34769. return s
  34770. }
  34771. // SetState sets the State field's value.
  34772. func (s *Image) SetState(v string) *Image {
  34773. s.State = &v
  34774. return s
  34775. }
  34776. // SetStateReason sets the StateReason field's value.
  34777. func (s *Image) SetStateReason(v *StateReason) *Image {
  34778. s.StateReason = v
  34779. return s
  34780. }
  34781. // SetTags sets the Tags field's value.
  34782. func (s *Image) SetTags(v []*Tag) *Image {
  34783. s.Tags = v
  34784. return s
  34785. }
  34786. // SetVirtualizationType sets the VirtualizationType field's value.
  34787. func (s *Image) SetVirtualizationType(v string) *Image {
  34788. s.VirtualizationType = &v
  34789. return s
  34790. }
  34791. // Describes the disk container object for an import image task.
  34792. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageDiskContainer
  34793. type ImageDiskContainer struct {
  34794. _ struct{} `type:"structure"`
  34795. // The description of the disk image.
  34796. Description *string `type:"string"`
  34797. // The block device mapping for the disk.
  34798. DeviceName *string `type:"string"`
  34799. // The format of the disk image being imported.
  34800. //
  34801. // Valid values: RAW | VHD | VMDK | OVA
  34802. Format *string `type:"string"`
  34803. // The ID of the EBS snapshot to be used for importing the snapshot.
  34804. SnapshotId *string `type:"string"`
  34805. // The URL to the Amazon S3-based disk image being imported. The URL can either
  34806. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  34807. Url *string `type:"string"`
  34808. // The S3 bucket for the disk image.
  34809. UserBucket *UserBucket `type:"structure"`
  34810. }
  34811. // String returns the string representation
  34812. func (s ImageDiskContainer) String() string {
  34813. return awsutil.Prettify(s)
  34814. }
  34815. // GoString returns the string representation
  34816. func (s ImageDiskContainer) GoString() string {
  34817. return s.String()
  34818. }
  34819. // SetDescription sets the Description field's value.
  34820. func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
  34821. s.Description = &v
  34822. return s
  34823. }
  34824. // SetDeviceName sets the DeviceName field's value.
  34825. func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
  34826. s.DeviceName = &v
  34827. return s
  34828. }
  34829. // SetFormat sets the Format field's value.
  34830. func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
  34831. s.Format = &v
  34832. return s
  34833. }
  34834. // SetSnapshotId sets the SnapshotId field's value.
  34835. func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
  34836. s.SnapshotId = &v
  34837. return s
  34838. }
  34839. // SetUrl sets the Url field's value.
  34840. func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
  34841. s.Url = &v
  34842. return s
  34843. }
  34844. // SetUserBucket sets the UserBucket field's value.
  34845. func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
  34846. s.UserBucket = v
  34847. return s
  34848. }
  34849. // Contains the parameters for ImportImage.
  34850. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageRequest
  34851. type ImportImageInput struct {
  34852. _ struct{} `type:"structure"`
  34853. // The architecture of the virtual machine.
  34854. //
  34855. // Valid values: i386 | x86_64
  34856. Architecture *string `type:"string"`
  34857. // The client-specific data.
  34858. ClientData *ClientData `type:"structure"`
  34859. // The token to enable idempotency for VM import requests.
  34860. ClientToken *string `type:"string"`
  34861. // A description string for the import image task.
  34862. Description *string `type:"string"`
  34863. // Information about the disk containers.
  34864. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  34865. // Checks whether you have the required permissions for the action, without
  34866. // actually making the request, and provides an error response. If you have
  34867. // the required permissions, the error response is DryRunOperation. Otherwise,
  34868. // it is UnauthorizedOperation.
  34869. DryRun *bool `type:"boolean"`
  34870. // The target hypervisor platform.
  34871. //
  34872. // Valid values: xen
  34873. Hypervisor *string `type:"string"`
  34874. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  34875. //
  34876. // Note: You may only use BYOL if you have existing licenses with rights to
  34877. // use these licenses in a third party cloud like AWS. For more information,
  34878. // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
  34879. // in the VM Import/Export User Guide.
  34880. //
  34881. // Valid values: AWS | BYOL
  34882. LicenseType *string `type:"string"`
  34883. // The operating system of the virtual machine.
  34884. //
  34885. // Valid values: Windows | Linux
  34886. Platform *string `type:"string"`
  34887. // The name of the role to use when not using the default role, 'vmimport'.
  34888. RoleName *string `type:"string"`
  34889. }
  34890. // String returns the string representation
  34891. func (s ImportImageInput) String() string {
  34892. return awsutil.Prettify(s)
  34893. }
  34894. // GoString returns the string representation
  34895. func (s ImportImageInput) GoString() string {
  34896. return s.String()
  34897. }
  34898. // SetArchitecture sets the Architecture field's value.
  34899. func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
  34900. s.Architecture = &v
  34901. return s
  34902. }
  34903. // SetClientData sets the ClientData field's value.
  34904. func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
  34905. s.ClientData = v
  34906. return s
  34907. }
  34908. // SetClientToken sets the ClientToken field's value.
  34909. func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
  34910. s.ClientToken = &v
  34911. return s
  34912. }
  34913. // SetDescription sets the Description field's value.
  34914. func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
  34915. s.Description = &v
  34916. return s
  34917. }
  34918. // SetDiskContainers sets the DiskContainers field's value.
  34919. func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
  34920. s.DiskContainers = v
  34921. return s
  34922. }
  34923. // SetDryRun sets the DryRun field's value.
  34924. func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
  34925. s.DryRun = &v
  34926. return s
  34927. }
  34928. // SetHypervisor sets the Hypervisor field's value.
  34929. func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
  34930. s.Hypervisor = &v
  34931. return s
  34932. }
  34933. // SetLicenseType sets the LicenseType field's value.
  34934. func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
  34935. s.LicenseType = &v
  34936. return s
  34937. }
  34938. // SetPlatform sets the Platform field's value.
  34939. func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
  34940. s.Platform = &v
  34941. return s
  34942. }
  34943. // SetRoleName sets the RoleName field's value.
  34944. func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
  34945. s.RoleName = &v
  34946. return s
  34947. }
  34948. // Contains the output for ImportImage.
  34949. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageResult
  34950. type ImportImageOutput struct {
  34951. _ struct{} `type:"structure"`
  34952. // The architecture of the virtual machine.
  34953. Architecture *string `locationName:"architecture" type:"string"`
  34954. // A description of the import task.
  34955. Description *string `locationName:"description" type:"string"`
  34956. // The target hypervisor of the import task.
  34957. Hypervisor *string `locationName:"hypervisor" type:"string"`
  34958. // The ID of the Amazon Machine Image (AMI) created by the import task.
  34959. ImageId *string `locationName:"imageId" type:"string"`
  34960. // The task ID of the import image task.
  34961. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  34962. // The license type of the virtual machine.
  34963. LicenseType *string `locationName:"licenseType" type:"string"`
  34964. // The operating system of the virtual machine.
  34965. Platform *string `locationName:"platform" type:"string"`
  34966. // The progress of the task.
  34967. Progress *string `locationName:"progress" type:"string"`
  34968. // Information about the snapshots.
  34969. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  34970. // A brief status of the task.
  34971. Status *string `locationName:"status" type:"string"`
  34972. // A detailed status message of the import task.
  34973. StatusMessage *string `locationName:"statusMessage" type:"string"`
  34974. }
  34975. // String returns the string representation
  34976. func (s ImportImageOutput) String() string {
  34977. return awsutil.Prettify(s)
  34978. }
  34979. // GoString returns the string representation
  34980. func (s ImportImageOutput) GoString() string {
  34981. return s.String()
  34982. }
  34983. // SetArchitecture sets the Architecture field's value.
  34984. func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
  34985. s.Architecture = &v
  34986. return s
  34987. }
  34988. // SetDescription sets the Description field's value.
  34989. func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
  34990. s.Description = &v
  34991. return s
  34992. }
  34993. // SetHypervisor sets the Hypervisor field's value.
  34994. func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
  34995. s.Hypervisor = &v
  34996. return s
  34997. }
  34998. // SetImageId sets the ImageId field's value.
  34999. func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
  35000. s.ImageId = &v
  35001. return s
  35002. }
  35003. // SetImportTaskId sets the ImportTaskId field's value.
  35004. func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
  35005. s.ImportTaskId = &v
  35006. return s
  35007. }
  35008. // SetLicenseType sets the LicenseType field's value.
  35009. func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
  35010. s.LicenseType = &v
  35011. return s
  35012. }
  35013. // SetPlatform sets the Platform field's value.
  35014. func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
  35015. s.Platform = &v
  35016. return s
  35017. }
  35018. // SetProgress sets the Progress field's value.
  35019. func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
  35020. s.Progress = &v
  35021. return s
  35022. }
  35023. // SetSnapshotDetails sets the SnapshotDetails field's value.
  35024. func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
  35025. s.SnapshotDetails = v
  35026. return s
  35027. }
  35028. // SetStatus sets the Status field's value.
  35029. func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
  35030. s.Status = &v
  35031. return s
  35032. }
  35033. // SetStatusMessage sets the StatusMessage field's value.
  35034. func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
  35035. s.StatusMessage = &v
  35036. return s
  35037. }
  35038. // Describes an import image task.
  35039. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageTask
  35040. type ImportImageTask struct {
  35041. _ struct{} `type:"structure"`
  35042. // The architecture of the virtual machine.
  35043. //
  35044. // Valid values: i386 | x86_64
  35045. Architecture *string `locationName:"architecture" type:"string"`
  35046. // A description of the import task.
  35047. Description *string `locationName:"description" type:"string"`
  35048. // The target hypervisor for the import task.
  35049. //
  35050. // Valid values: xen
  35051. Hypervisor *string `locationName:"hypervisor" type:"string"`
  35052. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  35053. ImageId *string `locationName:"imageId" type:"string"`
  35054. // The ID of the import image task.
  35055. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  35056. // The license type of the virtual machine.
  35057. LicenseType *string `locationName:"licenseType" type:"string"`
  35058. // The description string for the import image task.
  35059. Platform *string `locationName:"platform" type:"string"`
  35060. // The percentage of progress of the import image task.
  35061. Progress *string `locationName:"progress" type:"string"`
  35062. // Information about the snapshots.
  35063. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  35064. // A brief status for the import image task.
  35065. Status *string `locationName:"status" type:"string"`
  35066. // A descriptive status message for the import image task.
  35067. StatusMessage *string `locationName:"statusMessage" type:"string"`
  35068. }
  35069. // String returns the string representation
  35070. func (s ImportImageTask) String() string {
  35071. return awsutil.Prettify(s)
  35072. }
  35073. // GoString returns the string representation
  35074. func (s ImportImageTask) GoString() string {
  35075. return s.String()
  35076. }
  35077. // SetArchitecture sets the Architecture field's value.
  35078. func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
  35079. s.Architecture = &v
  35080. return s
  35081. }
  35082. // SetDescription sets the Description field's value.
  35083. func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
  35084. s.Description = &v
  35085. return s
  35086. }
  35087. // SetHypervisor sets the Hypervisor field's value.
  35088. func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
  35089. s.Hypervisor = &v
  35090. return s
  35091. }
  35092. // SetImageId sets the ImageId field's value.
  35093. func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
  35094. s.ImageId = &v
  35095. return s
  35096. }
  35097. // SetImportTaskId sets the ImportTaskId field's value.
  35098. func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
  35099. s.ImportTaskId = &v
  35100. return s
  35101. }
  35102. // SetLicenseType sets the LicenseType field's value.
  35103. func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
  35104. s.LicenseType = &v
  35105. return s
  35106. }
  35107. // SetPlatform sets the Platform field's value.
  35108. func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
  35109. s.Platform = &v
  35110. return s
  35111. }
  35112. // SetProgress sets the Progress field's value.
  35113. func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
  35114. s.Progress = &v
  35115. return s
  35116. }
  35117. // SetSnapshotDetails sets the SnapshotDetails field's value.
  35118. func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
  35119. s.SnapshotDetails = v
  35120. return s
  35121. }
  35122. // SetStatus sets the Status field's value.
  35123. func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
  35124. s.Status = &v
  35125. return s
  35126. }
  35127. // SetStatusMessage sets the StatusMessage field's value.
  35128. func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
  35129. s.StatusMessage = &v
  35130. return s
  35131. }
  35132. // Contains the parameters for ImportInstance.
  35133. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceRequest
  35134. type ImportInstanceInput struct {
  35135. _ struct{} `type:"structure"`
  35136. // A description for the instance being imported.
  35137. Description *string `locationName:"description" type:"string"`
  35138. // The disk image.
  35139. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  35140. // Checks whether you have the required permissions for the action, without
  35141. // actually making the request, and provides an error response. If you have
  35142. // the required permissions, the error response is DryRunOperation. Otherwise,
  35143. // it is UnauthorizedOperation.
  35144. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35145. // The launch specification.
  35146. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  35147. // The instance operating system.
  35148. //
  35149. // Platform is a required field
  35150. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  35151. }
  35152. // String returns the string representation
  35153. func (s ImportInstanceInput) String() string {
  35154. return awsutil.Prettify(s)
  35155. }
  35156. // GoString returns the string representation
  35157. func (s ImportInstanceInput) GoString() string {
  35158. return s.String()
  35159. }
  35160. // Validate inspects the fields of the type to determine if they are valid.
  35161. func (s *ImportInstanceInput) Validate() error {
  35162. invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
  35163. if s.Platform == nil {
  35164. invalidParams.Add(request.NewErrParamRequired("Platform"))
  35165. }
  35166. if s.DiskImages != nil {
  35167. for i, v := range s.DiskImages {
  35168. if v == nil {
  35169. continue
  35170. }
  35171. if err := v.Validate(); err != nil {
  35172. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
  35173. }
  35174. }
  35175. }
  35176. if invalidParams.Len() > 0 {
  35177. return invalidParams
  35178. }
  35179. return nil
  35180. }
  35181. // SetDescription sets the Description field's value.
  35182. func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
  35183. s.Description = &v
  35184. return s
  35185. }
  35186. // SetDiskImages sets the DiskImages field's value.
  35187. func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
  35188. s.DiskImages = v
  35189. return s
  35190. }
  35191. // SetDryRun sets the DryRun field's value.
  35192. func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
  35193. s.DryRun = &v
  35194. return s
  35195. }
  35196. // SetLaunchSpecification sets the LaunchSpecification field's value.
  35197. func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
  35198. s.LaunchSpecification = v
  35199. return s
  35200. }
  35201. // SetPlatform sets the Platform field's value.
  35202. func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
  35203. s.Platform = &v
  35204. return s
  35205. }
  35206. // Describes the launch specification for VM import.
  35207. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceLaunchSpecification
  35208. type ImportInstanceLaunchSpecification struct {
  35209. _ struct{} `type:"structure"`
  35210. // Reserved.
  35211. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  35212. // The architecture of the instance.
  35213. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  35214. // One or more security group IDs.
  35215. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  35216. // One or more security group names.
  35217. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  35218. // Indicates whether an instance stops or terminates when you initiate shutdown
  35219. // from the instance (using the operating system command for system shutdown).
  35220. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  35221. // The instance type. For more information about the instance types that you
  35222. // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#vmimport-instance-types)
  35223. // in the VM Import/Export User Guide.
  35224. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  35225. // Indicates whether monitoring is enabled.
  35226. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  35227. // The placement information for the instance.
  35228. Placement *Placement `locationName:"placement" type:"structure"`
  35229. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  35230. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  35231. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  35232. SubnetId *string `locationName:"subnetId" type:"string"`
  35233. // The user data to make available to the instance. If you are using an AWS
  35234. // SDK or command line tool, Base64-encoding is performed for you, and you can
  35235. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  35236. UserData *UserData `locationName:"userData" type:"structure"`
  35237. }
  35238. // String returns the string representation
  35239. func (s ImportInstanceLaunchSpecification) String() string {
  35240. return awsutil.Prettify(s)
  35241. }
  35242. // GoString returns the string representation
  35243. func (s ImportInstanceLaunchSpecification) GoString() string {
  35244. return s.String()
  35245. }
  35246. // SetAdditionalInfo sets the AdditionalInfo field's value.
  35247. func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
  35248. s.AdditionalInfo = &v
  35249. return s
  35250. }
  35251. // SetArchitecture sets the Architecture field's value.
  35252. func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
  35253. s.Architecture = &v
  35254. return s
  35255. }
  35256. // SetGroupIds sets the GroupIds field's value.
  35257. func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
  35258. s.GroupIds = v
  35259. return s
  35260. }
  35261. // SetGroupNames sets the GroupNames field's value.
  35262. func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
  35263. s.GroupNames = v
  35264. return s
  35265. }
  35266. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  35267. func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
  35268. s.InstanceInitiatedShutdownBehavior = &v
  35269. return s
  35270. }
  35271. // SetInstanceType sets the InstanceType field's value.
  35272. func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
  35273. s.InstanceType = &v
  35274. return s
  35275. }
  35276. // SetMonitoring sets the Monitoring field's value.
  35277. func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
  35278. s.Monitoring = &v
  35279. return s
  35280. }
  35281. // SetPlacement sets the Placement field's value.
  35282. func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
  35283. s.Placement = v
  35284. return s
  35285. }
  35286. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  35287. func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
  35288. s.PrivateIpAddress = &v
  35289. return s
  35290. }
  35291. // SetSubnetId sets the SubnetId field's value.
  35292. func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
  35293. s.SubnetId = &v
  35294. return s
  35295. }
  35296. // SetUserData sets the UserData field's value.
  35297. func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
  35298. s.UserData = v
  35299. return s
  35300. }
  35301. // Contains the output for ImportInstance.
  35302. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceResult
  35303. type ImportInstanceOutput struct {
  35304. _ struct{} `type:"structure"`
  35305. // Information about the conversion task.
  35306. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  35307. }
  35308. // String returns the string representation
  35309. func (s ImportInstanceOutput) String() string {
  35310. return awsutil.Prettify(s)
  35311. }
  35312. // GoString returns the string representation
  35313. func (s ImportInstanceOutput) GoString() string {
  35314. return s.String()
  35315. }
  35316. // SetConversionTask sets the ConversionTask field's value.
  35317. func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
  35318. s.ConversionTask = v
  35319. return s
  35320. }
  35321. // Describes an import instance task.
  35322. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceTaskDetails
  35323. type ImportInstanceTaskDetails struct {
  35324. _ struct{} `type:"structure"`
  35325. // A description of the task.
  35326. Description *string `locationName:"description" type:"string"`
  35327. // The ID of the instance.
  35328. InstanceId *string `locationName:"instanceId" type:"string"`
  35329. // The instance operating system.
  35330. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  35331. // One or more volumes.
  35332. //
  35333. // Volumes is a required field
  35334. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list" required:"true"`
  35335. }
  35336. // String returns the string representation
  35337. func (s ImportInstanceTaskDetails) String() string {
  35338. return awsutil.Prettify(s)
  35339. }
  35340. // GoString returns the string representation
  35341. func (s ImportInstanceTaskDetails) GoString() string {
  35342. return s.String()
  35343. }
  35344. // SetDescription sets the Description field's value.
  35345. func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
  35346. s.Description = &v
  35347. return s
  35348. }
  35349. // SetInstanceId sets the InstanceId field's value.
  35350. func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
  35351. s.InstanceId = &v
  35352. return s
  35353. }
  35354. // SetPlatform sets the Platform field's value.
  35355. func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
  35356. s.Platform = &v
  35357. return s
  35358. }
  35359. // SetVolumes sets the Volumes field's value.
  35360. func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
  35361. s.Volumes = v
  35362. return s
  35363. }
  35364. // Describes an import volume task.
  35365. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceVolumeDetailItem
  35366. type ImportInstanceVolumeDetailItem struct {
  35367. _ struct{} `type:"structure"`
  35368. // The Availability Zone where the resulting instance will reside.
  35369. //
  35370. // AvailabilityZone is a required field
  35371. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  35372. // The number of bytes converted so far.
  35373. //
  35374. // BytesConverted is a required field
  35375. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  35376. // A description of the task.
  35377. Description *string `locationName:"description" type:"string"`
  35378. // The image.
  35379. //
  35380. // Image is a required field
  35381. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  35382. // The status of the import of this particular disk image.
  35383. //
  35384. // Status is a required field
  35385. Status *string `locationName:"status" type:"string" required:"true"`
  35386. // The status information or errors related to the disk image.
  35387. StatusMessage *string `locationName:"statusMessage" type:"string"`
  35388. // The volume.
  35389. //
  35390. // Volume is a required field
  35391. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  35392. }
  35393. // String returns the string representation
  35394. func (s ImportInstanceVolumeDetailItem) String() string {
  35395. return awsutil.Prettify(s)
  35396. }
  35397. // GoString returns the string representation
  35398. func (s ImportInstanceVolumeDetailItem) GoString() string {
  35399. return s.String()
  35400. }
  35401. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35402. func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
  35403. s.AvailabilityZone = &v
  35404. return s
  35405. }
  35406. // SetBytesConverted sets the BytesConverted field's value.
  35407. func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
  35408. s.BytesConverted = &v
  35409. return s
  35410. }
  35411. // SetDescription sets the Description field's value.
  35412. func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
  35413. s.Description = &v
  35414. return s
  35415. }
  35416. // SetImage sets the Image field's value.
  35417. func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
  35418. s.Image = v
  35419. return s
  35420. }
  35421. // SetStatus sets the Status field's value.
  35422. func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
  35423. s.Status = &v
  35424. return s
  35425. }
  35426. // SetStatusMessage sets the StatusMessage field's value.
  35427. func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
  35428. s.StatusMessage = &v
  35429. return s
  35430. }
  35431. // SetVolume sets the Volume field's value.
  35432. func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
  35433. s.Volume = v
  35434. return s
  35435. }
  35436. // Contains the parameters for ImportKeyPair.
  35437. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPairRequest
  35438. type ImportKeyPairInput struct {
  35439. _ struct{} `type:"structure"`
  35440. // Checks whether you have the required permissions for the action, without
  35441. // actually making the request, and provides an error response. If you have
  35442. // the required permissions, the error response is DryRunOperation. Otherwise,
  35443. // it is UnauthorizedOperation.
  35444. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35445. // A unique name for the key pair.
  35446. //
  35447. // KeyName is a required field
  35448. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  35449. // The public key. For API calls, the text must be base64-encoded. For command
  35450. // line tools, base64 encoding is performed for you.
  35451. //
  35452. // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
  35453. //
  35454. // PublicKeyMaterial is a required field
  35455. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  35456. }
  35457. // String returns the string representation
  35458. func (s ImportKeyPairInput) String() string {
  35459. return awsutil.Prettify(s)
  35460. }
  35461. // GoString returns the string representation
  35462. func (s ImportKeyPairInput) GoString() string {
  35463. return s.String()
  35464. }
  35465. // Validate inspects the fields of the type to determine if they are valid.
  35466. func (s *ImportKeyPairInput) Validate() error {
  35467. invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
  35468. if s.KeyName == nil {
  35469. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  35470. }
  35471. if s.PublicKeyMaterial == nil {
  35472. invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  35473. }
  35474. if invalidParams.Len() > 0 {
  35475. return invalidParams
  35476. }
  35477. return nil
  35478. }
  35479. // SetDryRun sets the DryRun field's value.
  35480. func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
  35481. s.DryRun = &v
  35482. return s
  35483. }
  35484. // SetKeyName sets the KeyName field's value.
  35485. func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
  35486. s.KeyName = &v
  35487. return s
  35488. }
  35489. // SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
  35490. func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
  35491. s.PublicKeyMaterial = v
  35492. return s
  35493. }
  35494. // Contains the output of ImportKeyPair.
  35495. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPairResult
  35496. type ImportKeyPairOutput struct {
  35497. _ struct{} `type:"structure"`
  35498. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  35499. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  35500. // The key pair name you provided.
  35501. KeyName *string `locationName:"keyName" type:"string"`
  35502. }
  35503. // String returns the string representation
  35504. func (s ImportKeyPairOutput) String() string {
  35505. return awsutil.Prettify(s)
  35506. }
  35507. // GoString returns the string representation
  35508. func (s ImportKeyPairOutput) GoString() string {
  35509. return s.String()
  35510. }
  35511. // SetKeyFingerprint sets the KeyFingerprint field's value.
  35512. func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
  35513. s.KeyFingerprint = &v
  35514. return s
  35515. }
  35516. // SetKeyName sets the KeyName field's value.
  35517. func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
  35518. s.KeyName = &v
  35519. return s
  35520. }
  35521. // Contains the parameters for ImportSnapshot.
  35522. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotRequest
  35523. type ImportSnapshotInput struct {
  35524. _ struct{} `type:"structure"`
  35525. // The client-specific data.
  35526. ClientData *ClientData `type:"structure"`
  35527. // Token to enable idempotency for VM import requests.
  35528. ClientToken *string `type:"string"`
  35529. // The description string for the import snapshot task.
  35530. Description *string `type:"string"`
  35531. // Information about the disk container.
  35532. DiskContainer *SnapshotDiskContainer `type:"structure"`
  35533. // Checks whether you have the required permissions for the action, without
  35534. // actually making the request, and provides an error response. If you have
  35535. // the required permissions, the error response is DryRunOperation. Otherwise,
  35536. // it is UnauthorizedOperation.
  35537. DryRun *bool `type:"boolean"`
  35538. // The name of the role to use when not using the default role, 'vmimport'.
  35539. RoleName *string `type:"string"`
  35540. }
  35541. // String returns the string representation
  35542. func (s ImportSnapshotInput) String() string {
  35543. return awsutil.Prettify(s)
  35544. }
  35545. // GoString returns the string representation
  35546. func (s ImportSnapshotInput) GoString() string {
  35547. return s.String()
  35548. }
  35549. // SetClientData sets the ClientData field's value.
  35550. func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
  35551. s.ClientData = v
  35552. return s
  35553. }
  35554. // SetClientToken sets the ClientToken field's value.
  35555. func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
  35556. s.ClientToken = &v
  35557. return s
  35558. }
  35559. // SetDescription sets the Description field's value.
  35560. func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
  35561. s.Description = &v
  35562. return s
  35563. }
  35564. // SetDiskContainer sets the DiskContainer field's value.
  35565. func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
  35566. s.DiskContainer = v
  35567. return s
  35568. }
  35569. // SetDryRun sets the DryRun field's value.
  35570. func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
  35571. s.DryRun = &v
  35572. return s
  35573. }
  35574. // SetRoleName sets the RoleName field's value.
  35575. func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
  35576. s.RoleName = &v
  35577. return s
  35578. }
  35579. // Contains the output for ImportSnapshot.
  35580. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotResult
  35581. type ImportSnapshotOutput struct {
  35582. _ struct{} `type:"structure"`
  35583. // A description of the import snapshot task.
  35584. Description *string `locationName:"description" type:"string"`
  35585. // The ID of the import snapshot task.
  35586. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  35587. // Information about the import snapshot task.
  35588. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  35589. }
  35590. // String returns the string representation
  35591. func (s ImportSnapshotOutput) String() string {
  35592. return awsutil.Prettify(s)
  35593. }
  35594. // GoString returns the string representation
  35595. func (s ImportSnapshotOutput) GoString() string {
  35596. return s.String()
  35597. }
  35598. // SetDescription sets the Description field's value.
  35599. func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
  35600. s.Description = &v
  35601. return s
  35602. }
  35603. // SetImportTaskId sets the ImportTaskId field's value.
  35604. func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
  35605. s.ImportTaskId = &v
  35606. return s
  35607. }
  35608. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  35609. func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
  35610. s.SnapshotTaskDetail = v
  35611. return s
  35612. }
  35613. // Describes an import snapshot task.
  35614. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotTask
  35615. type ImportSnapshotTask struct {
  35616. _ struct{} `type:"structure"`
  35617. // A description of the import snapshot task.
  35618. Description *string `locationName:"description" type:"string"`
  35619. // The ID of the import snapshot task.
  35620. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  35621. // Describes an import snapshot task.
  35622. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  35623. }
  35624. // String returns the string representation
  35625. func (s ImportSnapshotTask) String() string {
  35626. return awsutil.Prettify(s)
  35627. }
  35628. // GoString returns the string representation
  35629. func (s ImportSnapshotTask) GoString() string {
  35630. return s.String()
  35631. }
  35632. // SetDescription sets the Description field's value.
  35633. func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
  35634. s.Description = &v
  35635. return s
  35636. }
  35637. // SetImportTaskId sets the ImportTaskId field's value.
  35638. func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
  35639. s.ImportTaskId = &v
  35640. return s
  35641. }
  35642. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  35643. func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
  35644. s.SnapshotTaskDetail = v
  35645. return s
  35646. }
  35647. // Contains the parameters for ImportVolume.
  35648. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeRequest
  35649. type ImportVolumeInput struct {
  35650. _ struct{} `type:"structure"`
  35651. // The Availability Zone for the resulting EBS volume.
  35652. //
  35653. // AvailabilityZone is a required field
  35654. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  35655. // A description of the volume.
  35656. Description *string `locationName:"description" type:"string"`
  35657. // Checks whether you have the required permissions for the action, without
  35658. // actually making the request, and provides an error response. If you have
  35659. // the required permissions, the error response is DryRunOperation. Otherwise,
  35660. // it is UnauthorizedOperation.
  35661. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35662. // The disk image.
  35663. //
  35664. // Image is a required field
  35665. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  35666. // The volume size.
  35667. //
  35668. // Volume is a required field
  35669. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  35670. }
  35671. // String returns the string representation
  35672. func (s ImportVolumeInput) String() string {
  35673. return awsutil.Prettify(s)
  35674. }
  35675. // GoString returns the string representation
  35676. func (s ImportVolumeInput) GoString() string {
  35677. return s.String()
  35678. }
  35679. // Validate inspects the fields of the type to determine if they are valid.
  35680. func (s *ImportVolumeInput) Validate() error {
  35681. invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
  35682. if s.AvailabilityZone == nil {
  35683. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  35684. }
  35685. if s.Image == nil {
  35686. invalidParams.Add(request.NewErrParamRequired("Image"))
  35687. }
  35688. if s.Volume == nil {
  35689. invalidParams.Add(request.NewErrParamRequired("Volume"))
  35690. }
  35691. if s.Image != nil {
  35692. if err := s.Image.Validate(); err != nil {
  35693. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  35694. }
  35695. }
  35696. if s.Volume != nil {
  35697. if err := s.Volume.Validate(); err != nil {
  35698. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  35699. }
  35700. }
  35701. if invalidParams.Len() > 0 {
  35702. return invalidParams
  35703. }
  35704. return nil
  35705. }
  35706. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35707. func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
  35708. s.AvailabilityZone = &v
  35709. return s
  35710. }
  35711. // SetDescription sets the Description field's value.
  35712. func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
  35713. s.Description = &v
  35714. return s
  35715. }
  35716. // SetDryRun sets the DryRun field's value.
  35717. func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
  35718. s.DryRun = &v
  35719. return s
  35720. }
  35721. // SetImage sets the Image field's value.
  35722. func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
  35723. s.Image = v
  35724. return s
  35725. }
  35726. // SetVolume sets the Volume field's value.
  35727. func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
  35728. s.Volume = v
  35729. return s
  35730. }
  35731. // Contains the output for ImportVolume.
  35732. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeResult
  35733. type ImportVolumeOutput struct {
  35734. _ struct{} `type:"structure"`
  35735. // Information about the conversion task.
  35736. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  35737. }
  35738. // String returns the string representation
  35739. func (s ImportVolumeOutput) String() string {
  35740. return awsutil.Prettify(s)
  35741. }
  35742. // GoString returns the string representation
  35743. func (s ImportVolumeOutput) GoString() string {
  35744. return s.String()
  35745. }
  35746. // SetConversionTask sets the ConversionTask field's value.
  35747. func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
  35748. s.ConversionTask = v
  35749. return s
  35750. }
  35751. // Describes an import volume task.
  35752. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeTaskDetails
  35753. type ImportVolumeTaskDetails struct {
  35754. _ struct{} `type:"structure"`
  35755. // The Availability Zone where the resulting volume will reside.
  35756. //
  35757. // AvailabilityZone is a required field
  35758. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  35759. // The number of bytes converted so far.
  35760. //
  35761. // BytesConverted is a required field
  35762. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  35763. // The description you provided when starting the import volume task.
  35764. Description *string `locationName:"description" type:"string"`
  35765. // The image.
  35766. //
  35767. // Image is a required field
  35768. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  35769. // The volume.
  35770. //
  35771. // Volume is a required field
  35772. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  35773. }
  35774. // String returns the string representation
  35775. func (s ImportVolumeTaskDetails) String() string {
  35776. return awsutil.Prettify(s)
  35777. }
  35778. // GoString returns the string representation
  35779. func (s ImportVolumeTaskDetails) GoString() string {
  35780. return s.String()
  35781. }
  35782. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35783. func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
  35784. s.AvailabilityZone = &v
  35785. return s
  35786. }
  35787. // SetBytesConverted sets the BytesConverted field's value.
  35788. func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
  35789. s.BytesConverted = &v
  35790. return s
  35791. }
  35792. // SetDescription sets the Description field's value.
  35793. func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
  35794. s.Description = &v
  35795. return s
  35796. }
  35797. // SetImage sets the Image field's value.
  35798. func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
  35799. s.Image = v
  35800. return s
  35801. }
  35802. // SetVolume sets the Volume field's value.
  35803. func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
  35804. s.Volume = v
  35805. return s
  35806. }
  35807. // Describes an instance.
  35808. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Instance
  35809. type Instance struct {
  35810. _ struct{} `type:"structure"`
  35811. // The AMI launch index, which can be used to find this instance in the launch
  35812. // group.
  35813. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  35814. // The architecture of the image.
  35815. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  35816. // Any block device mapping entries for the instance.
  35817. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  35818. // The idempotency token you provided when you launched the instance, if applicable.
  35819. ClientToken *string `locationName:"clientToken" type:"string"`
  35820. // Indicates whether the instance is optimized for EBS I/O. This optimization
  35821. // provides dedicated throughput to Amazon EBS and an optimized configuration
  35822. // stack to provide optimal I/O performance. This optimization isn't available
  35823. // with all instance types. Additional usage charges apply when using an EBS
  35824. // Optimized instance.
  35825. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  35826. // Specifies whether enhanced networking with ENA is enabled.
  35827. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  35828. // The hypervisor type of the instance.
  35829. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  35830. // The IAM instance profile associated with the instance, if applicable.
  35831. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  35832. // The ID of the AMI used to launch the instance.
  35833. ImageId *string `locationName:"imageId" type:"string"`
  35834. // The ID of the instance.
  35835. InstanceId *string `locationName:"instanceId" type:"string"`
  35836. // Indicates whether this is a Spot instance or a Scheduled Instance.
  35837. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  35838. // The instance type.
  35839. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  35840. // The kernel associated with this instance, if applicable.
  35841. KernelId *string `locationName:"kernelId" type:"string"`
  35842. // The name of the key pair, if this instance was launched with an associated
  35843. // key pair.
  35844. KeyName *string `locationName:"keyName" type:"string"`
  35845. // The time the instance was launched.
  35846. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
  35847. // The monitoring for the instance.
  35848. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  35849. // [EC2-VPC] One or more network interfaces for the instance.
  35850. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  35851. // The location where the instance launched, if applicable.
  35852. Placement *Placement `locationName:"placement" type:"structure"`
  35853. // The value is Windows for Windows instances; otherwise blank.
  35854. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  35855. // (IPv4 only) The private DNS hostname name assigned to the instance. This
  35856. // DNS hostname can only be used inside the Amazon EC2 network. This name is
  35857. // not available until the instance enters the running state.
  35858. //
  35859. // [EC2-VPC] The Amazon-provided DNS server will resolve Amazon-provided private
  35860. // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
  35861. // VPC. If you are not using the Amazon-provided DNS server in your VPC, your
  35862. // custom domain name servers must resolve the hostname as appropriate.
  35863. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  35864. // The private IPv4 address assigned to the instance.
  35865. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  35866. // The product codes attached to this instance, if applicable.
  35867. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  35868. // (IPv4 only) The public DNS name assigned to the instance. This name is not
  35869. // available until the instance enters the running state. For EC2-VPC, this
  35870. // name is only available if you've enabled DNS hostnames for your VPC.
  35871. PublicDnsName *string `locationName:"dnsName" type:"string"`
  35872. // The public IPv4 address assigned to the instance, if applicable.
  35873. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  35874. // The RAM disk associated with this instance, if applicable.
  35875. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  35876. // The root device name (for example, /dev/sda1 or /dev/xvda).
  35877. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  35878. // The root device type used by the AMI. The AMI can use an EBS volume or an
  35879. // instance store volume.
  35880. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  35881. // One or more security groups for the instance.
  35882. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  35883. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  35884. // This controls whether source/destination checking is enabled on the instance.
  35885. // A value of true means checking is enabled, and false means checking is disabled.
  35886. // The value must be false for the instance to perform NAT. For more information,
  35887. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  35888. // in the Amazon Virtual Private Cloud User Guide.
  35889. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  35890. // If the request is a Spot instance request, the ID of the request.
  35891. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  35892. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  35893. // interface is enabled.
  35894. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  35895. // The current state of the instance.
  35896. State *InstanceState `locationName:"instanceState" type:"structure"`
  35897. // The reason for the most recent state transition.
  35898. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  35899. // The reason for the most recent state transition. This might be an empty string.
  35900. StateTransitionReason *string `locationName:"reason" type:"string"`
  35901. // [EC2-VPC] The ID of the subnet in which the instance is running.
  35902. SubnetId *string `locationName:"subnetId" type:"string"`
  35903. // Any tags assigned to the instance.
  35904. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  35905. // The virtualization type of the instance.
  35906. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  35907. // [EC2-VPC] The ID of the VPC in which the instance is running.
  35908. VpcId *string `locationName:"vpcId" type:"string"`
  35909. }
  35910. // String returns the string representation
  35911. func (s Instance) String() string {
  35912. return awsutil.Prettify(s)
  35913. }
  35914. // GoString returns the string representation
  35915. func (s Instance) GoString() string {
  35916. return s.String()
  35917. }
  35918. // SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
  35919. func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
  35920. s.AmiLaunchIndex = &v
  35921. return s
  35922. }
  35923. // SetArchitecture sets the Architecture field's value.
  35924. func (s *Instance) SetArchitecture(v string) *Instance {
  35925. s.Architecture = &v
  35926. return s
  35927. }
  35928. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  35929. func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
  35930. s.BlockDeviceMappings = v
  35931. return s
  35932. }
  35933. // SetClientToken sets the ClientToken field's value.
  35934. func (s *Instance) SetClientToken(v string) *Instance {
  35935. s.ClientToken = &v
  35936. return s
  35937. }
  35938. // SetEbsOptimized sets the EbsOptimized field's value.
  35939. func (s *Instance) SetEbsOptimized(v bool) *Instance {
  35940. s.EbsOptimized = &v
  35941. return s
  35942. }
  35943. // SetEnaSupport sets the EnaSupport field's value.
  35944. func (s *Instance) SetEnaSupport(v bool) *Instance {
  35945. s.EnaSupport = &v
  35946. return s
  35947. }
  35948. // SetHypervisor sets the Hypervisor field's value.
  35949. func (s *Instance) SetHypervisor(v string) *Instance {
  35950. s.Hypervisor = &v
  35951. return s
  35952. }
  35953. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  35954. func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
  35955. s.IamInstanceProfile = v
  35956. return s
  35957. }
  35958. // SetImageId sets the ImageId field's value.
  35959. func (s *Instance) SetImageId(v string) *Instance {
  35960. s.ImageId = &v
  35961. return s
  35962. }
  35963. // SetInstanceId sets the InstanceId field's value.
  35964. func (s *Instance) SetInstanceId(v string) *Instance {
  35965. s.InstanceId = &v
  35966. return s
  35967. }
  35968. // SetInstanceLifecycle sets the InstanceLifecycle field's value.
  35969. func (s *Instance) SetInstanceLifecycle(v string) *Instance {
  35970. s.InstanceLifecycle = &v
  35971. return s
  35972. }
  35973. // SetInstanceType sets the InstanceType field's value.
  35974. func (s *Instance) SetInstanceType(v string) *Instance {
  35975. s.InstanceType = &v
  35976. return s
  35977. }
  35978. // SetKernelId sets the KernelId field's value.
  35979. func (s *Instance) SetKernelId(v string) *Instance {
  35980. s.KernelId = &v
  35981. return s
  35982. }
  35983. // SetKeyName sets the KeyName field's value.
  35984. func (s *Instance) SetKeyName(v string) *Instance {
  35985. s.KeyName = &v
  35986. return s
  35987. }
  35988. // SetLaunchTime sets the LaunchTime field's value.
  35989. func (s *Instance) SetLaunchTime(v time.Time) *Instance {
  35990. s.LaunchTime = &v
  35991. return s
  35992. }
  35993. // SetMonitoring sets the Monitoring field's value.
  35994. func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
  35995. s.Monitoring = v
  35996. return s
  35997. }
  35998. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  35999. func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
  36000. s.NetworkInterfaces = v
  36001. return s
  36002. }
  36003. // SetPlacement sets the Placement field's value.
  36004. func (s *Instance) SetPlacement(v *Placement) *Instance {
  36005. s.Placement = v
  36006. return s
  36007. }
  36008. // SetPlatform sets the Platform field's value.
  36009. func (s *Instance) SetPlatform(v string) *Instance {
  36010. s.Platform = &v
  36011. return s
  36012. }
  36013. // SetPrivateDnsName sets the PrivateDnsName field's value.
  36014. func (s *Instance) SetPrivateDnsName(v string) *Instance {
  36015. s.PrivateDnsName = &v
  36016. return s
  36017. }
  36018. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  36019. func (s *Instance) SetPrivateIpAddress(v string) *Instance {
  36020. s.PrivateIpAddress = &v
  36021. return s
  36022. }
  36023. // SetProductCodes sets the ProductCodes field's value.
  36024. func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
  36025. s.ProductCodes = v
  36026. return s
  36027. }
  36028. // SetPublicDnsName sets the PublicDnsName field's value.
  36029. func (s *Instance) SetPublicDnsName(v string) *Instance {
  36030. s.PublicDnsName = &v
  36031. return s
  36032. }
  36033. // SetPublicIpAddress sets the PublicIpAddress field's value.
  36034. func (s *Instance) SetPublicIpAddress(v string) *Instance {
  36035. s.PublicIpAddress = &v
  36036. return s
  36037. }
  36038. // SetRamdiskId sets the RamdiskId field's value.
  36039. func (s *Instance) SetRamdiskId(v string) *Instance {
  36040. s.RamdiskId = &v
  36041. return s
  36042. }
  36043. // SetRootDeviceName sets the RootDeviceName field's value.
  36044. func (s *Instance) SetRootDeviceName(v string) *Instance {
  36045. s.RootDeviceName = &v
  36046. return s
  36047. }
  36048. // SetRootDeviceType sets the RootDeviceType field's value.
  36049. func (s *Instance) SetRootDeviceType(v string) *Instance {
  36050. s.RootDeviceType = &v
  36051. return s
  36052. }
  36053. // SetSecurityGroups sets the SecurityGroups field's value.
  36054. func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
  36055. s.SecurityGroups = v
  36056. return s
  36057. }
  36058. // SetSourceDestCheck sets the SourceDestCheck field's value.
  36059. func (s *Instance) SetSourceDestCheck(v bool) *Instance {
  36060. s.SourceDestCheck = &v
  36061. return s
  36062. }
  36063. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  36064. func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
  36065. s.SpotInstanceRequestId = &v
  36066. return s
  36067. }
  36068. // SetSriovNetSupport sets the SriovNetSupport field's value.
  36069. func (s *Instance) SetSriovNetSupport(v string) *Instance {
  36070. s.SriovNetSupport = &v
  36071. return s
  36072. }
  36073. // SetState sets the State field's value.
  36074. func (s *Instance) SetState(v *InstanceState) *Instance {
  36075. s.State = v
  36076. return s
  36077. }
  36078. // SetStateReason sets the StateReason field's value.
  36079. func (s *Instance) SetStateReason(v *StateReason) *Instance {
  36080. s.StateReason = v
  36081. return s
  36082. }
  36083. // SetStateTransitionReason sets the StateTransitionReason field's value.
  36084. func (s *Instance) SetStateTransitionReason(v string) *Instance {
  36085. s.StateTransitionReason = &v
  36086. return s
  36087. }
  36088. // SetSubnetId sets the SubnetId field's value.
  36089. func (s *Instance) SetSubnetId(v string) *Instance {
  36090. s.SubnetId = &v
  36091. return s
  36092. }
  36093. // SetTags sets the Tags field's value.
  36094. func (s *Instance) SetTags(v []*Tag) *Instance {
  36095. s.Tags = v
  36096. return s
  36097. }
  36098. // SetVirtualizationType sets the VirtualizationType field's value.
  36099. func (s *Instance) SetVirtualizationType(v string) *Instance {
  36100. s.VirtualizationType = &v
  36101. return s
  36102. }
  36103. // SetVpcId sets the VpcId field's value.
  36104. func (s *Instance) SetVpcId(v string) *Instance {
  36105. s.VpcId = &v
  36106. return s
  36107. }
  36108. // Describes a block device mapping.
  36109. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceBlockDeviceMapping
  36110. type InstanceBlockDeviceMapping struct {
  36111. _ struct{} `type:"structure"`
  36112. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  36113. DeviceName *string `locationName:"deviceName" type:"string"`
  36114. // Parameters used to automatically set up EBS volumes when the instance is
  36115. // launched.
  36116. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  36117. }
  36118. // String returns the string representation
  36119. func (s InstanceBlockDeviceMapping) String() string {
  36120. return awsutil.Prettify(s)
  36121. }
  36122. // GoString returns the string representation
  36123. func (s InstanceBlockDeviceMapping) GoString() string {
  36124. return s.String()
  36125. }
  36126. // SetDeviceName sets the DeviceName field's value.
  36127. func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
  36128. s.DeviceName = &v
  36129. return s
  36130. }
  36131. // SetEbs sets the Ebs field's value.
  36132. func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
  36133. s.Ebs = v
  36134. return s
  36135. }
  36136. // Describes a block device mapping entry.
  36137. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceBlockDeviceMappingSpecification
  36138. type InstanceBlockDeviceMappingSpecification struct {
  36139. _ struct{} `type:"structure"`
  36140. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  36141. DeviceName *string `locationName:"deviceName" type:"string"`
  36142. // Parameters used to automatically set up EBS volumes when the instance is
  36143. // launched.
  36144. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  36145. // suppress the specified device included in the block device mapping.
  36146. NoDevice *string `locationName:"noDevice" type:"string"`
  36147. // The virtual device name.
  36148. VirtualName *string `locationName:"virtualName" type:"string"`
  36149. }
  36150. // String returns the string representation
  36151. func (s InstanceBlockDeviceMappingSpecification) String() string {
  36152. return awsutil.Prettify(s)
  36153. }
  36154. // GoString returns the string representation
  36155. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  36156. return s.String()
  36157. }
  36158. // SetDeviceName sets the DeviceName field's value.
  36159. func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
  36160. s.DeviceName = &v
  36161. return s
  36162. }
  36163. // SetEbs sets the Ebs field's value.
  36164. func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
  36165. s.Ebs = v
  36166. return s
  36167. }
  36168. // SetNoDevice sets the NoDevice field's value.
  36169. func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
  36170. s.NoDevice = &v
  36171. return s
  36172. }
  36173. // SetVirtualName sets the VirtualName field's value.
  36174. func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
  36175. s.VirtualName = &v
  36176. return s
  36177. }
  36178. // Information about the instance type that the Dedicated Host supports.
  36179. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCapacity
  36180. type InstanceCapacity struct {
  36181. _ struct{} `type:"structure"`
  36182. // The number of instances that can still be launched onto the Dedicated Host.
  36183. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
  36184. // The instance type size supported by the Dedicated Host.
  36185. InstanceType *string `locationName:"instanceType" type:"string"`
  36186. // The total number of instances that can be launched onto the Dedicated Host.
  36187. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
  36188. }
  36189. // String returns the string representation
  36190. func (s InstanceCapacity) String() string {
  36191. return awsutil.Prettify(s)
  36192. }
  36193. // GoString returns the string representation
  36194. func (s InstanceCapacity) GoString() string {
  36195. return s.String()
  36196. }
  36197. // SetAvailableCapacity sets the AvailableCapacity field's value.
  36198. func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
  36199. s.AvailableCapacity = &v
  36200. return s
  36201. }
  36202. // SetInstanceType sets the InstanceType field's value.
  36203. func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
  36204. s.InstanceType = &v
  36205. return s
  36206. }
  36207. // SetTotalCapacity sets the TotalCapacity field's value.
  36208. func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
  36209. s.TotalCapacity = &v
  36210. return s
  36211. }
  36212. // Describes a Reserved Instance listing state.
  36213. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCount
  36214. type InstanceCount struct {
  36215. _ struct{} `type:"structure"`
  36216. // The number of listed Reserved Instances in the state specified by the state.
  36217. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  36218. // The states of the listed Reserved Instances.
  36219. State *string `locationName:"state" type:"string" enum:"ListingState"`
  36220. }
  36221. // String returns the string representation
  36222. func (s InstanceCount) String() string {
  36223. return awsutil.Prettify(s)
  36224. }
  36225. // GoString returns the string representation
  36226. func (s InstanceCount) GoString() string {
  36227. return s.String()
  36228. }
  36229. // SetInstanceCount sets the InstanceCount field's value.
  36230. func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
  36231. s.InstanceCount = &v
  36232. return s
  36233. }
  36234. // SetState sets the State field's value.
  36235. func (s *InstanceCount) SetState(v string) *InstanceCount {
  36236. s.State = &v
  36237. return s
  36238. }
  36239. // Describes an instance to export.
  36240. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceExportDetails
  36241. type InstanceExportDetails struct {
  36242. _ struct{} `type:"structure"`
  36243. // The ID of the resource being exported.
  36244. InstanceId *string `locationName:"instanceId" type:"string"`
  36245. // The target virtualization environment.
  36246. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  36247. }
  36248. // String returns the string representation
  36249. func (s InstanceExportDetails) String() string {
  36250. return awsutil.Prettify(s)
  36251. }
  36252. // GoString returns the string representation
  36253. func (s InstanceExportDetails) GoString() string {
  36254. return s.String()
  36255. }
  36256. // SetInstanceId sets the InstanceId field's value.
  36257. func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
  36258. s.InstanceId = &v
  36259. return s
  36260. }
  36261. // SetTargetEnvironment sets the TargetEnvironment field's value.
  36262. func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
  36263. s.TargetEnvironment = &v
  36264. return s
  36265. }
  36266. // Describes an IPv6 address.
  36267. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceIpv6Address
  36268. type InstanceIpv6Address struct {
  36269. _ struct{} `type:"structure"`
  36270. // The IPv6 address.
  36271. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  36272. }
  36273. // String returns the string representation
  36274. func (s InstanceIpv6Address) String() string {
  36275. return awsutil.Prettify(s)
  36276. }
  36277. // GoString returns the string representation
  36278. func (s InstanceIpv6Address) GoString() string {
  36279. return s.String()
  36280. }
  36281. // SetIpv6Address sets the Ipv6Address field's value.
  36282. func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
  36283. s.Ipv6Address = &v
  36284. return s
  36285. }
  36286. // Describes the monitoring of an instance.
  36287. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceMonitoring
  36288. type InstanceMonitoring struct {
  36289. _ struct{} `type:"structure"`
  36290. // The ID of the instance.
  36291. InstanceId *string `locationName:"instanceId" type:"string"`
  36292. // The monitoring for the instance.
  36293. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  36294. }
  36295. // String returns the string representation
  36296. func (s InstanceMonitoring) String() string {
  36297. return awsutil.Prettify(s)
  36298. }
  36299. // GoString returns the string representation
  36300. func (s InstanceMonitoring) GoString() string {
  36301. return s.String()
  36302. }
  36303. // SetInstanceId sets the InstanceId field's value.
  36304. func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
  36305. s.InstanceId = &v
  36306. return s
  36307. }
  36308. // SetMonitoring sets the Monitoring field's value.
  36309. func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
  36310. s.Monitoring = v
  36311. return s
  36312. }
  36313. // Describes a network interface.
  36314. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterface
  36315. type InstanceNetworkInterface struct {
  36316. _ struct{} `type:"structure"`
  36317. // The association information for an Elastic IPv4 associated with the network
  36318. // interface.
  36319. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  36320. // The network interface attachment.
  36321. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  36322. // The description.
  36323. Description *string `locationName:"description" type:"string"`
  36324. // One or more security groups.
  36325. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  36326. // One or more IPv6 addresses associated with the network interface.
  36327. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  36328. // The MAC address.
  36329. MacAddress *string `locationName:"macAddress" type:"string"`
  36330. // The ID of the network interface.
  36331. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  36332. // The ID of the AWS account that created the network interface.
  36333. OwnerId *string `locationName:"ownerId" type:"string"`
  36334. // The private DNS name.
  36335. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  36336. // The IPv4 address of the network interface within the subnet.
  36337. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  36338. // One or more private IPv4 addresses associated with the network interface.
  36339. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  36340. // Indicates whether to validate network traffic to or from this network interface.
  36341. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  36342. // The status of the network interface.
  36343. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  36344. // The ID of the subnet.
  36345. SubnetId *string `locationName:"subnetId" type:"string"`
  36346. // The ID of the VPC.
  36347. VpcId *string `locationName:"vpcId" type:"string"`
  36348. }
  36349. // String returns the string representation
  36350. func (s InstanceNetworkInterface) String() string {
  36351. return awsutil.Prettify(s)
  36352. }
  36353. // GoString returns the string representation
  36354. func (s InstanceNetworkInterface) GoString() string {
  36355. return s.String()
  36356. }
  36357. // SetAssociation sets the Association field's value.
  36358. func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
  36359. s.Association = v
  36360. return s
  36361. }
  36362. // SetAttachment sets the Attachment field's value.
  36363. func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
  36364. s.Attachment = v
  36365. return s
  36366. }
  36367. // SetDescription sets the Description field's value.
  36368. func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
  36369. s.Description = &v
  36370. return s
  36371. }
  36372. // SetGroups sets the Groups field's value.
  36373. func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
  36374. s.Groups = v
  36375. return s
  36376. }
  36377. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  36378. func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
  36379. s.Ipv6Addresses = v
  36380. return s
  36381. }
  36382. // SetMacAddress sets the MacAddress field's value.
  36383. func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
  36384. s.MacAddress = &v
  36385. return s
  36386. }
  36387. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  36388. func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
  36389. s.NetworkInterfaceId = &v
  36390. return s
  36391. }
  36392. // SetOwnerId sets the OwnerId field's value.
  36393. func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
  36394. s.OwnerId = &v
  36395. return s
  36396. }
  36397. // SetPrivateDnsName sets the PrivateDnsName field's value.
  36398. func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
  36399. s.PrivateDnsName = &v
  36400. return s
  36401. }
  36402. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  36403. func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
  36404. s.PrivateIpAddress = &v
  36405. return s
  36406. }
  36407. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  36408. func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
  36409. s.PrivateIpAddresses = v
  36410. return s
  36411. }
  36412. // SetSourceDestCheck sets the SourceDestCheck field's value.
  36413. func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
  36414. s.SourceDestCheck = &v
  36415. return s
  36416. }
  36417. // SetStatus sets the Status field's value.
  36418. func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
  36419. s.Status = &v
  36420. return s
  36421. }
  36422. // SetSubnetId sets the SubnetId field's value.
  36423. func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
  36424. s.SubnetId = &v
  36425. return s
  36426. }
  36427. // SetVpcId sets the VpcId field's value.
  36428. func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
  36429. s.VpcId = &v
  36430. return s
  36431. }
  36432. // Describes association information for an Elastic IP address (IPv4).
  36433. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAssociation
  36434. type InstanceNetworkInterfaceAssociation struct {
  36435. _ struct{} `type:"structure"`
  36436. // The ID of the owner of the Elastic IP address.
  36437. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  36438. // The public DNS name.
  36439. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  36440. // The public IP address or Elastic IP address bound to the network interface.
  36441. PublicIp *string `locationName:"publicIp" type:"string"`
  36442. }
  36443. // String returns the string representation
  36444. func (s InstanceNetworkInterfaceAssociation) String() string {
  36445. return awsutil.Prettify(s)
  36446. }
  36447. // GoString returns the string representation
  36448. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  36449. return s.String()
  36450. }
  36451. // SetIpOwnerId sets the IpOwnerId field's value.
  36452. func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
  36453. s.IpOwnerId = &v
  36454. return s
  36455. }
  36456. // SetPublicDnsName sets the PublicDnsName field's value.
  36457. func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
  36458. s.PublicDnsName = &v
  36459. return s
  36460. }
  36461. // SetPublicIp sets the PublicIp field's value.
  36462. func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
  36463. s.PublicIp = &v
  36464. return s
  36465. }
  36466. // Describes a network interface attachment.
  36467. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAttachment
  36468. type InstanceNetworkInterfaceAttachment struct {
  36469. _ struct{} `type:"structure"`
  36470. // The time stamp when the attachment initiated.
  36471. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  36472. // The ID of the network interface attachment.
  36473. AttachmentId *string `locationName:"attachmentId" type:"string"`
  36474. // Indicates whether the network interface is deleted when the instance is terminated.
  36475. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  36476. // The index of the device on the instance for the network interface attachment.
  36477. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  36478. // The attachment state.
  36479. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  36480. }
  36481. // String returns the string representation
  36482. func (s InstanceNetworkInterfaceAttachment) String() string {
  36483. return awsutil.Prettify(s)
  36484. }
  36485. // GoString returns the string representation
  36486. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  36487. return s.String()
  36488. }
  36489. // SetAttachTime sets the AttachTime field's value.
  36490. func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
  36491. s.AttachTime = &v
  36492. return s
  36493. }
  36494. // SetAttachmentId sets the AttachmentId field's value.
  36495. func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
  36496. s.AttachmentId = &v
  36497. return s
  36498. }
  36499. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  36500. func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
  36501. s.DeleteOnTermination = &v
  36502. return s
  36503. }
  36504. // SetDeviceIndex sets the DeviceIndex field's value.
  36505. func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
  36506. s.DeviceIndex = &v
  36507. return s
  36508. }
  36509. // SetStatus sets the Status field's value.
  36510. func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
  36511. s.Status = &v
  36512. return s
  36513. }
  36514. // Describes a network interface.
  36515. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceSpecification
  36516. type InstanceNetworkInterfaceSpecification struct {
  36517. _ struct{} `type:"structure"`
  36518. // Indicates whether to assign a public IPv4 address to an instance you launch
  36519. // in a VPC. The public IP address can only be assigned to a network interface
  36520. // for eth0, and can only be assigned to a new network interface, not an existing
  36521. // one. You cannot specify more than one network interface in the request. If
  36522. // launching into a default subnet, the default value is true.
  36523. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  36524. // If set to true, the interface is deleted when the instance is terminated.
  36525. // You can specify true only if creating a new network interface when launching
  36526. // an instance.
  36527. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  36528. // The description of the network interface. Applies only if creating a network
  36529. // interface when launching an instance.
  36530. Description *string `locationName:"description" type:"string"`
  36531. // The index of the device on the instance for the network interface attachment.
  36532. // If you are specifying a network interface in a RunInstances request, you
  36533. // must provide the device index.
  36534. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  36535. // The IDs of the security groups for the network interface. Applies only if
  36536. // creating a network interface when launching an instance.
  36537. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  36538. // A number of IPv6 addresses to assign to the network interface. Amazon EC2
  36539. // chooses the IPv6 addresses from the range of the subnet. You cannot specify
  36540. // this option and the option to assign specific IPv6 addresses in the same
  36541. // request. You can specify this option if you've specified a minimum number
  36542. // of instances to launch.
  36543. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  36544. // One or more IPv6 addresses to assign to the network interface. You cannot
  36545. // specify this option and the option to assign a number of IPv6 addresses in
  36546. // the same request. You cannot specify this option if you've specified a minimum
  36547. // number of instances to launch.
  36548. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
  36549. // The ID of the network interface.
  36550. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  36551. // The private IPv4 address of the network interface. Applies only if creating
  36552. // a network interface when launching an instance. You cannot specify this option
  36553. // if you're launching more than one instance in a RunInstances request.
  36554. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  36555. // One or more private IPv4 addresses to assign to the network interface. Only
  36556. // one private IPv4 address can be designated as primary. You cannot specify
  36557. // this option if you're launching more than one instance in a RunInstances
  36558. // request.
  36559. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  36560. // The number of secondary private IPv4 addresses. You can't specify this option
  36561. // and specify more than one private IP address using the private IP addresses
  36562. // option. You cannot specify this option if you're launching more than one
  36563. // instance in a RunInstances request.
  36564. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  36565. // The ID of the subnet associated with the network string. Applies only if
  36566. // creating a network interface when launching an instance.
  36567. SubnetId *string `locationName:"subnetId" type:"string"`
  36568. }
  36569. // String returns the string representation
  36570. func (s InstanceNetworkInterfaceSpecification) String() string {
  36571. return awsutil.Prettify(s)
  36572. }
  36573. // GoString returns the string representation
  36574. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  36575. return s.String()
  36576. }
  36577. // Validate inspects the fields of the type to determine if they are valid.
  36578. func (s *InstanceNetworkInterfaceSpecification) Validate() error {
  36579. invalidParams := request.ErrInvalidParams{Context: "InstanceNetworkInterfaceSpecification"}
  36580. if s.PrivateIpAddresses != nil {
  36581. for i, v := range s.PrivateIpAddresses {
  36582. if v == nil {
  36583. continue
  36584. }
  36585. if err := v.Validate(); err != nil {
  36586. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  36587. }
  36588. }
  36589. }
  36590. if invalidParams.Len() > 0 {
  36591. return invalidParams
  36592. }
  36593. return nil
  36594. }
  36595. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  36596. func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
  36597. s.AssociatePublicIpAddress = &v
  36598. return s
  36599. }
  36600. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  36601. func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
  36602. s.DeleteOnTermination = &v
  36603. return s
  36604. }
  36605. // SetDescription sets the Description field's value.
  36606. func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
  36607. s.Description = &v
  36608. return s
  36609. }
  36610. // SetDeviceIndex sets the DeviceIndex field's value.
  36611. func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
  36612. s.DeviceIndex = &v
  36613. return s
  36614. }
  36615. // SetGroups sets the Groups field's value.
  36616. func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
  36617. s.Groups = v
  36618. return s
  36619. }
  36620. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  36621. func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  36622. s.Ipv6AddressCount = &v
  36623. return s
  36624. }
  36625. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  36626. func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
  36627. s.Ipv6Addresses = v
  36628. return s
  36629. }
  36630. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  36631. func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
  36632. s.NetworkInterfaceId = &v
  36633. return s
  36634. }
  36635. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  36636. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
  36637. s.PrivateIpAddress = &v
  36638. return s
  36639. }
  36640. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  36641. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
  36642. s.PrivateIpAddresses = v
  36643. return s
  36644. }
  36645. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  36646. func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  36647. s.SecondaryPrivateIpAddressCount = &v
  36648. return s
  36649. }
  36650. // SetSubnetId sets the SubnetId field's value.
  36651. func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
  36652. s.SubnetId = &v
  36653. return s
  36654. }
  36655. // Describes a private IPv4 address.
  36656. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstancePrivateIpAddress
  36657. type InstancePrivateIpAddress struct {
  36658. _ struct{} `type:"structure"`
  36659. // The association information for an Elastic IP address for the network interface.
  36660. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  36661. // Indicates whether this IPv4 address is the primary private IP address of
  36662. // the network interface.
  36663. Primary *bool `locationName:"primary" type:"boolean"`
  36664. // The private IPv4 DNS name.
  36665. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  36666. // The private IPv4 address of the network interface.
  36667. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  36668. }
  36669. // String returns the string representation
  36670. func (s InstancePrivateIpAddress) String() string {
  36671. return awsutil.Prettify(s)
  36672. }
  36673. // GoString returns the string representation
  36674. func (s InstancePrivateIpAddress) GoString() string {
  36675. return s.String()
  36676. }
  36677. // SetAssociation sets the Association field's value.
  36678. func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
  36679. s.Association = v
  36680. return s
  36681. }
  36682. // SetPrimary sets the Primary field's value.
  36683. func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
  36684. s.Primary = &v
  36685. return s
  36686. }
  36687. // SetPrivateDnsName sets the PrivateDnsName field's value.
  36688. func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
  36689. s.PrivateDnsName = &v
  36690. return s
  36691. }
  36692. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  36693. func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
  36694. s.PrivateIpAddress = &v
  36695. return s
  36696. }
  36697. // Describes the current state of an instance.
  36698. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceState
  36699. type InstanceState struct {
  36700. _ struct{} `type:"structure"`
  36701. // The low byte represents the state. The high byte is an opaque internal value
  36702. // and should be ignored.
  36703. //
  36704. // * 0 : pending
  36705. //
  36706. // * 16 : running
  36707. //
  36708. // * 32 : shutting-down
  36709. //
  36710. // * 48 : terminated
  36711. //
  36712. // * 64 : stopping
  36713. //
  36714. // * 80 : stopped
  36715. Code *int64 `locationName:"code" type:"integer"`
  36716. // The current state of the instance.
  36717. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  36718. }
  36719. // String returns the string representation
  36720. func (s InstanceState) String() string {
  36721. return awsutil.Prettify(s)
  36722. }
  36723. // GoString returns the string representation
  36724. func (s InstanceState) GoString() string {
  36725. return s.String()
  36726. }
  36727. // SetCode sets the Code field's value.
  36728. func (s *InstanceState) SetCode(v int64) *InstanceState {
  36729. s.Code = &v
  36730. return s
  36731. }
  36732. // SetName sets the Name field's value.
  36733. func (s *InstanceState) SetName(v string) *InstanceState {
  36734. s.Name = &v
  36735. return s
  36736. }
  36737. // Describes an instance state change.
  36738. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStateChange
  36739. type InstanceStateChange struct {
  36740. _ struct{} `type:"structure"`
  36741. // The current state of the instance.
  36742. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  36743. // The ID of the instance.
  36744. InstanceId *string `locationName:"instanceId" type:"string"`
  36745. // The previous state of the instance.
  36746. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  36747. }
  36748. // String returns the string representation
  36749. func (s InstanceStateChange) String() string {
  36750. return awsutil.Prettify(s)
  36751. }
  36752. // GoString returns the string representation
  36753. func (s InstanceStateChange) GoString() string {
  36754. return s.String()
  36755. }
  36756. // SetCurrentState sets the CurrentState field's value.
  36757. func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
  36758. s.CurrentState = v
  36759. return s
  36760. }
  36761. // SetInstanceId sets the InstanceId field's value.
  36762. func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
  36763. s.InstanceId = &v
  36764. return s
  36765. }
  36766. // SetPreviousState sets the PreviousState field's value.
  36767. func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
  36768. s.PreviousState = v
  36769. return s
  36770. }
  36771. // Describes the status of an instance.
  36772. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatus
  36773. type InstanceStatus struct {
  36774. _ struct{} `type:"structure"`
  36775. // The Availability Zone of the instance.
  36776. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  36777. // Any scheduled events associated with the instance.
  36778. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  36779. // The ID of the instance.
  36780. InstanceId *string `locationName:"instanceId" type:"string"`
  36781. // The intended state of the instance. DescribeInstanceStatus requires that
  36782. // an instance be in the running state.
  36783. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  36784. // Reports impaired functionality that stems from issues internal to the instance,
  36785. // such as impaired reachability.
  36786. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  36787. // Reports impaired functionality that stems from issues related to the systems
  36788. // that support an instance, such as hardware failures and network connectivity
  36789. // problems.
  36790. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  36791. }
  36792. // String returns the string representation
  36793. func (s InstanceStatus) String() string {
  36794. return awsutil.Prettify(s)
  36795. }
  36796. // GoString returns the string representation
  36797. func (s InstanceStatus) GoString() string {
  36798. return s.String()
  36799. }
  36800. // SetAvailabilityZone sets the AvailabilityZone field's value.
  36801. func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
  36802. s.AvailabilityZone = &v
  36803. return s
  36804. }
  36805. // SetEvents sets the Events field's value.
  36806. func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
  36807. s.Events = v
  36808. return s
  36809. }
  36810. // SetInstanceId sets the InstanceId field's value.
  36811. func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
  36812. s.InstanceId = &v
  36813. return s
  36814. }
  36815. // SetInstanceState sets the InstanceState field's value.
  36816. func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
  36817. s.InstanceState = v
  36818. return s
  36819. }
  36820. // SetInstanceStatus sets the InstanceStatus field's value.
  36821. func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
  36822. s.InstanceStatus = v
  36823. return s
  36824. }
  36825. // SetSystemStatus sets the SystemStatus field's value.
  36826. func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
  36827. s.SystemStatus = v
  36828. return s
  36829. }
  36830. // Describes the instance status.
  36831. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusDetails
  36832. type InstanceStatusDetails struct {
  36833. _ struct{} `type:"structure"`
  36834. // The time when a status check failed. For an instance that was launched and
  36835. // impaired, this is the time when the instance was launched.
  36836. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
  36837. // The type of instance status.
  36838. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  36839. // The status.
  36840. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  36841. }
  36842. // String returns the string representation
  36843. func (s InstanceStatusDetails) String() string {
  36844. return awsutil.Prettify(s)
  36845. }
  36846. // GoString returns the string representation
  36847. func (s InstanceStatusDetails) GoString() string {
  36848. return s.String()
  36849. }
  36850. // SetImpairedSince sets the ImpairedSince field's value.
  36851. func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
  36852. s.ImpairedSince = &v
  36853. return s
  36854. }
  36855. // SetName sets the Name field's value.
  36856. func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
  36857. s.Name = &v
  36858. return s
  36859. }
  36860. // SetStatus sets the Status field's value.
  36861. func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
  36862. s.Status = &v
  36863. return s
  36864. }
  36865. // Describes a scheduled event for an instance.
  36866. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusEvent
  36867. type InstanceStatusEvent struct {
  36868. _ struct{} `type:"structure"`
  36869. // The event code.
  36870. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  36871. // A description of the event.
  36872. //
  36873. // After a scheduled event is completed, it can still be described for up to
  36874. // a week. If the event has been completed, this description starts with the
  36875. // following text: [Completed].
  36876. Description *string `locationName:"description" type:"string"`
  36877. // The latest scheduled end time for the event.
  36878. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  36879. // The earliest scheduled start time for the event.
  36880. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  36881. }
  36882. // String returns the string representation
  36883. func (s InstanceStatusEvent) String() string {
  36884. return awsutil.Prettify(s)
  36885. }
  36886. // GoString returns the string representation
  36887. func (s InstanceStatusEvent) GoString() string {
  36888. return s.String()
  36889. }
  36890. // SetCode sets the Code field's value.
  36891. func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
  36892. s.Code = &v
  36893. return s
  36894. }
  36895. // SetDescription sets the Description field's value.
  36896. func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
  36897. s.Description = &v
  36898. return s
  36899. }
  36900. // SetNotAfter sets the NotAfter field's value.
  36901. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
  36902. s.NotAfter = &v
  36903. return s
  36904. }
  36905. // SetNotBefore sets the NotBefore field's value.
  36906. func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
  36907. s.NotBefore = &v
  36908. return s
  36909. }
  36910. // Describes the status of an instance.
  36911. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusSummary
  36912. type InstanceStatusSummary struct {
  36913. _ struct{} `type:"structure"`
  36914. // The system instance health or application instance health.
  36915. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  36916. // The status.
  36917. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  36918. }
  36919. // String returns the string representation
  36920. func (s InstanceStatusSummary) String() string {
  36921. return awsutil.Prettify(s)
  36922. }
  36923. // GoString returns the string representation
  36924. func (s InstanceStatusSummary) GoString() string {
  36925. return s.String()
  36926. }
  36927. // SetDetails sets the Details field's value.
  36928. func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
  36929. s.Details = v
  36930. return s
  36931. }
  36932. // SetStatus sets the Status field's value.
  36933. func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
  36934. s.Status = &v
  36935. return s
  36936. }
  36937. // Describes an Internet gateway.
  36938. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InternetGateway
  36939. type InternetGateway struct {
  36940. _ struct{} `type:"structure"`
  36941. // Any VPCs attached to the Internet gateway.
  36942. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  36943. // The ID of the Internet gateway.
  36944. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  36945. // Any tags assigned to the Internet gateway.
  36946. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  36947. }
  36948. // String returns the string representation
  36949. func (s InternetGateway) String() string {
  36950. return awsutil.Prettify(s)
  36951. }
  36952. // GoString returns the string representation
  36953. func (s InternetGateway) GoString() string {
  36954. return s.String()
  36955. }
  36956. // SetAttachments sets the Attachments field's value.
  36957. func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
  36958. s.Attachments = v
  36959. return s
  36960. }
  36961. // SetInternetGatewayId sets the InternetGatewayId field's value.
  36962. func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
  36963. s.InternetGatewayId = &v
  36964. return s
  36965. }
  36966. // SetTags sets the Tags field's value.
  36967. func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
  36968. s.Tags = v
  36969. return s
  36970. }
  36971. // Describes the attachment of a VPC to an Internet gateway or an egress-only
  36972. // Internet gateway.
  36973. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InternetGatewayAttachment
  36974. type InternetGatewayAttachment struct {
  36975. _ struct{} `type:"structure"`
  36976. // The current state of the attachment.
  36977. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  36978. // The ID of the VPC.
  36979. VpcId *string `locationName:"vpcId" type:"string"`
  36980. }
  36981. // String returns the string representation
  36982. func (s InternetGatewayAttachment) String() string {
  36983. return awsutil.Prettify(s)
  36984. }
  36985. // GoString returns the string representation
  36986. func (s InternetGatewayAttachment) GoString() string {
  36987. return s.String()
  36988. }
  36989. // SetState sets the State field's value.
  36990. func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
  36991. s.State = &v
  36992. return s
  36993. }
  36994. // SetVpcId sets the VpcId field's value.
  36995. func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
  36996. s.VpcId = &v
  36997. return s
  36998. }
  36999. // Describes a security group rule.
  37000. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpPermission
  37001. type IpPermission struct {
  37002. _ struct{} `type:"structure"`
  37003. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  37004. // type number. A value of -1 indicates all ICMP/ICMPv6 types.
  37005. FromPort *int64 `locationName:"fromPort" type:"integer"`
  37006. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  37007. //
  37008. // [EC2-VPC only] Use -1 to specify all protocols. When authorizing security
  37009. // group rules, specifying -1 or a protocol number other than tcp, udp, icmp,
  37010. // or 58 (ICMPv6) allows traffic on all ports, regardless of any port range
  37011. // you specify. For tcp, udp, and icmp, you must specify a port range. For 58
  37012. // (ICMPv6), you can optionally specify a port range; if you don't, traffic
  37013. // for all types and codes is allowed when authorizing rules.
  37014. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  37015. // One or more IPv4 ranges.
  37016. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  37017. // [EC2-VPC only] One or more IPv6 ranges.
  37018. Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
  37019. // (Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and DescribeSecurityGroups
  37020. // only) One or more prefix list IDs for an AWS service. In an AuthorizeSecurityGroupEgress
  37021. // request, this is the AWS service that you want to access through a VPC endpoint
  37022. // from instances associated with the security group.
  37023. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  37024. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
  37025. // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.
  37026. ToPort *int64 `locationName:"toPort" type:"integer"`
  37027. // One or more security group and AWS account ID pairs.
  37028. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  37029. }
  37030. // String returns the string representation
  37031. func (s IpPermission) String() string {
  37032. return awsutil.Prettify(s)
  37033. }
  37034. // GoString returns the string representation
  37035. func (s IpPermission) GoString() string {
  37036. return s.String()
  37037. }
  37038. // SetFromPort sets the FromPort field's value.
  37039. func (s *IpPermission) SetFromPort(v int64) *IpPermission {
  37040. s.FromPort = &v
  37041. return s
  37042. }
  37043. // SetIpProtocol sets the IpProtocol field's value.
  37044. func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
  37045. s.IpProtocol = &v
  37046. return s
  37047. }
  37048. // SetIpRanges sets the IpRanges field's value.
  37049. func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
  37050. s.IpRanges = v
  37051. return s
  37052. }
  37053. // SetIpv6Ranges sets the Ipv6Ranges field's value.
  37054. func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
  37055. s.Ipv6Ranges = v
  37056. return s
  37057. }
  37058. // SetPrefixListIds sets the PrefixListIds field's value.
  37059. func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
  37060. s.PrefixListIds = v
  37061. return s
  37062. }
  37063. // SetToPort sets the ToPort field's value.
  37064. func (s *IpPermission) SetToPort(v int64) *IpPermission {
  37065. s.ToPort = &v
  37066. return s
  37067. }
  37068. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  37069. func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
  37070. s.UserIdGroupPairs = v
  37071. return s
  37072. }
  37073. // Describes an IPv4 range.
  37074. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpRange
  37075. type IpRange struct {
  37076. _ struct{} `type:"structure"`
  37077. // The IPv4 CIDR range. You can either specify a CIDR range or a source security
  37078. // group, not both. To specify a single IPv4 address, use the /32 prefix.
  37079. CidrIp *string `locationName:"cidrIp" type:"string"`
  37080. }
  37081. // String returns the string representation
  37082. func (s IpRange) String() string {
  37083. return awsutil.Prettify(s)
  37084. }
  37085. // GoString returns the string representation
  37086. func (s IpRange) GoString() string {
  37087. return s.String()
  37088. }
  37089. // SetCidrIp sets the CidrIp field's value.
  37090. func (s *IpRange) SetCidrIp(v string) *IpRange {
  37091. s.CidrIp = &v
  37092. return s
  37093. }
  37094. // Describes an IPv6 CIDR block.
  37095. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ipv6CidrBlock
  37096. type Ipv6CidrBlock struct {
  37097. _ struct{} `type:"structure"`
  37098. // The IPv6 CIDR block.
  37099. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  37100. }
  37101. // String returns the string representation
  37102. func (s Ipv6CidrBlock) String() string {
  37103. return awsutil.Prettify(s)
  37104. }
  37105. // GoString returns the string representation
  37106. func (s Ipv6CidrBlock) GoString() string {
  37107. return s.String()
  37108. }
  37109. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  37110. func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
  37111. s.Ipv6CidrBlock = &v
  37112. return s
  37113. }
  37114. // [EC2-VPC only] Describes an IPv6 range.
  37115. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ipv6Range
  37116. type Ipv6Range struct {
  37117. _ struct{} `type:"structure"`
  37118. // The IPv6 CIDR range. You can either specify a CIDR range or a source security
  37119. // group, not both. To specify a single IPv6 address, use the /128 prefix.
  37120. CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
  37121. }
  37122. // String returns the string representation
  37123. func (s Ipv6Range) String() string {
  37124. return awsutil.Prettify(s)
  37125. }
  37126. // GoString returns the string representation
  37127. func (s Ipv6Range) GoString() string {
  37128. return s.String()
  37129. }
  37130. // SetCidrIpv6 sets the CidrIpv6 field's value.
  37131. func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
  37132. s.CidrIpv6 = &v
  37133. return s
  37134. }
  37135. // Describes a key pair.
  37136. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/KeyPairInfo
  37137. type KeyPairInfo struct {
  37138. _ struct{} `type:"structure"`
  37139. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  37140. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  37141. // the public key, this is the MD5 public key fingerprint as specified in section
  37142. // 4 of RFC4716.
  37143. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  37144. // The name of the key pair.
  37145. KeyName *string `locationName:"keyName" type:"string"`
  37146. }
  37147. // String returns the string representation
  37148. func (s KeyPairInfo) String() string {
  37149. return awsutil.Prettify(s)
  37150. }
  37151. // GoString returns the string representation
  37152. func (s KeyPairInfo) GoString() string {
  37153. return s.String()
  37154. }
  37155. // SetKeyFingerprint sets the KeyFingerprint field's value.
  37156. func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
  37157. s.KeyFingerprint = &v
  37158. return s
  37159. }
  37160. // SetKeyName sets the KeyName field's value.
  37161. func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
  37162. s.KeyName = &v
  37163. return s
  37164. }
  37165. // Describes a launch permission.
  37166. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermission
  37167. type LaunchPermission struct {
  37168. _ struct{} `type:"structure"`
  37169. // The name of the group.
  37170. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  37171. // The AWS account ID.
  37172. UserId *string `locationName:"userId" type:"string"`
  37173. }
  37174. // String returns the string representation
  37175. func (s LaunchPermission) String() string {
  37176. return awsutil.Prettify(s)
  37177. }
  37178. // GoString returns the string representation
  37179. func (s LaunchPermission) GoString() string {
  37180. return s.String()
  37181. }
  37182. // SetGroup sets the Group field's value.
  37183. func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
  37184. s.Group = &v
  37185. return s
  37186. }
  37187. // SetUserId sets the UserId field's value.
  37188. func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
  37189. s.UserId = &v
  37190. return s
  37191. }
  37192. // Describes a launch permission modification.
  37193. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermissionModifications
  37194. type LaunchPermissionModifications struct {
  37195. _ struct{} `type:"structure"`
  37196. // The AWS account ID to add to the list of launch permissions for the AMI.
  37197. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  37198. // The AWS account ID to remove from the list of launch permissions for the
  37199. // AMI.
  37200. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  37201. }
  37202. // String returns the string representation
  37203. func (s LaunchPermissionModifications) String() string {
  37204. return awsutil.Prettify(s)
  37205. }
  37206. // GoString returns the string representation
  37207. func (s LaunchPermissionModifications) GoString() string {
  37208. return s.String()
  37209. }
  37210. // SetAdd sets the Add field's value.
  37211. func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
  37212. s.Add = v
  37213. return s
  37214. }
  37215. // SetRemove sets the Remove field's value.
  37216. func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
  37217. s.Remove = v
  37218. return s
  37219. }
  37220. // Describes the launch specification for an instance.
  37221. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchSpecification
  37222. type LaunchSpecification struct {
  37223. _ struct{} `type:"structure"`
  37224. // Deprecated.
  37225. AddressingType *string `locationName:"addressingType" type:"string"`
  37226. // One or more block device mapping entries.
  37227. //
  37228. // Although you can specify encrypted EBS volumes in this block device mapping
  37229. // for your Spot Instances, these volumes are not encrypted.
  37230. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  37231. // Indicates whether the instance is optimized for EBS I/O. This optimization
  37232. // provides dedicated throughput to Amazon EBS and an optimized configuration
  37233. // stack to provide optimal EBS I/O performance. This optimization isn't available
  37234. // with all instance types. Additional usage charges apply when using an EBS
  37235. // Optimized instance.
  37236. //
  37237. // Default: false
  37238. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  37239. // The IAM instance profile.
  37240. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  37241. // The ID of the AMI.
  37242. ImageId *string `locationName:"imageId" type:"string"`
  37243. // The instance type.
  37244. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  37245. // The ID of the kernel.
  37246. KernelId *string `locationName:"kernelId" type:"string"`
  37247. // The name of the key pair.
  37248. KeyName *string `locationName:"keyName" type:"string"`
  37249. // Describes the monitoring of an instance.
  37250. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  37251. // One or more network interfaces. If you specify a network interface, you must
  37252. // specify subnet IDs and security group IDs using the network interface.
  37253. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  37254. // The placement information for the instance.
  37255. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  37256. // The ID of the RAM disk.
  37257. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  37258. // One or more security groups. When requesting instances in a VPC, you must
  37259. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  37260. // you can specify the names or the IDs of the security groups.
  37261. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  37262. // The ID of the subnet in which to launch the instance.
  37263. SubnetId *string `locationName:"subnetId" type:"string"`
  37264. // The user data to make available to the instances. If you are using an AWS
  37265. // SDK or command line tool, Base64-encoding is performed for you, and you can
  37266. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  37267. UserData *string `locationName:"userData" type:"string"`
  37268. }
  37269. // String returns the string representation
  37270. func (s LaunchSpecification) String() string {
  37271. return awsutil.Prettify(s)
  37272. }
  37273. // GoString returns the string representation
  37274. func (s LaunchSpecification) GoString() string {
  37275. return s.String()
  37276. }
  37277. // SetAddressingType sets the AddressingType field's value.
  37278. func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
  37279. s.AddressingType = &v
  37280. return s
  37281. }
  37282. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  37283. func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
  37284. s.BlockDeviceMappings = v
  37285. return s
  37286. }
  37287. // SetEbsOptimized sets the EbsOptimized field's value.
  37288. func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
  37289. s.EbsOptimized = &v
  37290. return s
  37291. }
  37292. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  37293. func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
  37294. s.IamInstanceProfile = v
  37295. return s
  37296. }
  37297. // SetImageId sets the ImageId field's value.
  37298. func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
  37299. s.ImageId = &v
  37300. return s
  37301. }
  37302. // SetInstanceType sets the InstanceType field's value.
  37303. func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
  37304. s.InstanceType = &v
  37305. return s
  37306. }
  37307. // SetKernelId sets the KernelId field's value.
  37308. func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
  37309. s.KernelId = &v
  37310. return s
  37311. }
  37312. // SetKeyName sets the KeyName field's value.
  37313. func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
  37314. s.KeyName = &v
  37315. return s
  37316. }
  37317. // SetMonitoring sets the Monitoring field's value.
  37318. func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
  37319. s.Monitoring = v
  37320. return s
  37321. }
  37322. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  37323. func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
  37324. s.NetworkInterfaces = v
  37325. return s
  37326. }
  37327. // SetPlacement sets the Placement field's value.
  37328. func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
  37329. s.Placement = v
  37330. return s
  37331. }
  37332. // SetRamdiskId sets the RamdiskId field's value.
  37333. func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
  37334. s.RamdiskId = &v
  37335. return s
  37336. }
  37337. // SetSecurityGroups sets the SecurityGroups field's value.
  37338. func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
  37339. s.SecurityGroups = v
  37340. return s
  37341. }
  37342. // SetSubnetId sets the SubnetId field's value.
  37343. func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
  37344. s.SubnetId = &v
  37345. return s
  37346. }
  37347. // SetUserData sets the UserData field's value.
  37348. func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
  37349. s.UserData = &v
  37350. return s
  37351. }
  37352. // Contains the parameters for ModifyHosts.
  37353. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHostsRequest
  37354. type ModifyHostsInput struct {
  37355. _ struct{} `type:"structure"`
  37356. // Specify whether to enable or disable auto-placement.
  37357. //
  37358. // AutoPlacement is a required field
  37359. AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
  37360. // The host IDs of the Dedicated Hosts you want to modify.
  37361. //
  37362. // HostIds is a required field
  37363. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  37364. }
  37365. // String returns the string representation
  37366. func (s ModifyHostsInput) String() string {
  37367. return awsutil.Prettify(s)
  37368. }
  37369. // GoString returns the string representation
  37370. func (s ModifyHostsInput) GoString() string {
  37371. return s.String()
  37372. }
  37373. // Validate inspects the fields of the type to determine if they are valid.
  37374. func (s *ModifyHostsInput) Validate() error {
  37375. invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
  37376. if s.AutoPlacement == nil {
  37377. invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
  37378. }
  37379. if s.HostIds == nil {
  37380. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  37381. }
  37382. if invalidParams.Len() > 0 {
  37383. return invalidParams
  37384. }
  37385. return nil
  37386. }
  37387. // SetAutoPlacement sets the AutoPlacement field's value.
  37388. func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
  37389. s.AutoPlacement = &v
  37390. return s
  37391. }
  37392. // SetHostIds sets the HostIds field's value.
  37393. func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
  37394. s.HostIds = v
  37395. return s
  37396. }
  37397. // Contains the output of ModifyHosts.
  37398. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHostsResult
  37399. type ModifyHostsOutput struct {
  37400. _ struct{} `type:"structure"`
  37401. // The IDs of the Dedicated Hosts that were successfully modified.
  37402. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  37403. // The IDs of the Dedicated Hosts that could not be modified. Check whether
  37404. // the setting you requested can be used.
  37405. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  37406. }
  37407. // String returns the string representation
  37408. func (s ModifyHostsOutput) String() string {
  37409. return awsutil.Prettify(s)
  37410. }
  37411. // GoString returns the string representation
  37412. func (s ModifyHostsOutput) GoString() string {
  37413. return s.String()
  37414. }
  37415. // SetSuccessful sets the Successful field's value.
  37416. func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
  37417. s.Successful = v
  37418. return s
  37419. }
  37420. // SetUnsuccessful sets the Unsuccessful field's value.
  37421. func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
  37422. s.Unsuccessful = v
  37423. return s
  37424. }
  37425. // Contains the parameters of ModifyIdFormat.
  37426. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormatRequest
  37427. type ModifyIdFormatInput struct {
  37428. _ struct{} `type:"structure"`
  37429. // The type of resource: instance | reservation | snapshot | volume
  37430. //
  37431. // Resource is a required field
  37432. Resource *string `type:"string" required:"true"`
  37433. // Indicate whether the resource should use longer IDs (17-character IDs).
  37434. //
  37435. // UseLongIds is a required field
  37436. UseLongIds *bool `type:"boolean" required:"true"`
  37437. }
  37438. // String returns the string representation
  37439. func (s ModifyIdFormatInput) String() string {
  37440. return awsutil.Prettify(s)
  37441. }
  37442. // GoString returns the string representation
  37443. func (s ModifyIdFormatInput) GoString() string {
  37444. return s.String()
  37445. }
  37446. // Validate inspects the fields of the type to determine if they are valid.
  37447. func (s *ModifyIdFormatInput) Validate() error {
  37448. invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
  37449. if s.Resource == nil {
  37450. invalidParams.Add(request.NewErrParamRequired("Resource"))
  37451. }
  37452. if s.UseLongIds == nil {
  37453. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  37454. }
  37455. if invalidParams.Len() > 0 {
  37456. return invalidParams
  37457. }
  37458. return nil
  37459. }
  37460. // SetResource sets the Resource field's value.
  37461. func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
  37462. s.Resource = &v
  37463. return s
  37464. }
  37465. // SetUseLongIds sets the UseLongIds field's value.
  37466. func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
  37467. s.UseLongIds = &v
  37468. return s
  37469. }
  37470. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormatOutput
  37471. type ModifyIdFormatOutput struct {
  37472. _ struct{} `type:"structure"`
  37473. }
  37474. // String returns the string representation
  37475. func (s ModifyIdFormatOutput) String() string {
  37476. return awsutil.Prettify(s)
  37477. }
  37478. // GoString returns the string representation
  37479. func (s ModifyIdFormatOutput) GoString() string {
  37480. return s.String()
  37481. }
  37482. // Contains the parameters of ModifyIdentityIdFormat.
  37483. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormatRequest
  37484. type ModifyIdentityIdFormatInput struct {
  37485. _ struct{} `type:"structure"`
  37486. // The ARN of the principal, which can be an IAM user, IAM role, or the root
  37487. // user. Specify all to modify the ID format for all IAM users, IAM roles, and
  37488. // the root user of the account.
  37489. //
  37490. // PrincipalArn is a required field
  37491. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  37492. // The type of resource: instance | reservation | snapshot | volume
  37493. //
  37494. // Resource is a required field
  37495. Resource *string `locationName:"resource" type:"string" required:"true"`
  37496. // Indicates whether the resource should use longer IDs (17-character IDs)
  37497. //
  37498. // UseLongIds is a required field
  37499. UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
  37500. }
  37501. // String returns the string representation
  37502. func (s ModifyIdentityIdFormatInput) String() string {
  37503. return awsutil.Prettify(s)
  37504. }
  37505. // GoString returns the string representation
  37506. func (s ModifyIdentityIdFormatInput) GoString() string {
  37507. return s.String()
  37508. }
  37509. // Validate inspects the fields of the type to determine if they are valid.
  37510. func (s *ModifyIdentityIdFormatInput) Validate() error {
  37511. invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
  37512. if s.PrincipalArn == nil {
  37513. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  37514. }
  37515. if s.Resource == nil {
  37516. invalidParams.Add(request.NewErrParamRequired("Resource"))
  37517. }
  37518. if s.UseLongIds == nil {
  37519. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  37520. }
  37521. if invalidParams.Len() > 0 {
  37522. return invalidParams
  37523. }
  37524. return nil
  37525. }
  37526. // SetPrincipalArn sets the PrincipalArn field's value.
  37527. func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
  37528. s.PrincipalArn = &v
  37529. return s
  37530. }
  37531. // SetResource sets the Resource field's value.
  37532. func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
  37533. s.Resource = &v
  37534. return s
  37535. }
  37536. // SetUseLongIds sets the UseLongIds field's value.
  37537. func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
  37538. s.UseLongIds = &v
  37539. return s
  37540. }
  37541. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormatOutput
  37542. type ModifyIdentityIdFormatOutput struct {
  37543. _ struct{} `type:"structure"`
  37544. }
  37545. // String returns the string representation
  37546. func (s ModifyIdentityIdFormatOutput) String() string {
  37547. return awsutil.Prettify(s)
  37548. }
  37549. // GoString returns the string representation
  37550. func (s ModifyIdentityIdFormatOutput) GoString() string {
  37551. return s.String()
  37552. }
  37553. // Contains the parameters for ModifyImageAttribute.
  37554. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttributeRequest
  37555. type ModifyImageAttributeInput struct {
  37556. _ struct{} `type:"structure"`
  37557. // The name of the attribute to modify.
  37558. Attribute *string `type:"string"`
  37559. // A description for the AMI.
  37560. Description *AttributeValue `type:"structure"`
  37561. // Checks whether you have the required permissions for the action, without
  37562. // actually making the request, and provides an error response. If you have
  37563. // the required permissions, the error response is DryRunOperation. Otherwise,
  37564. // it is UnauthorizedOperation.
  37565. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37566. // The ID of the AMI.
  37567. //
  37568. // ImageId is a required field
  37569. ImageId *string `type:"string" required:"true"`
  37570. // A launch permission modification.
  37571. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  37572. // The operation type.
  37573. OperationType *string `type:"string" enum:"OperationType"`
  37574. // One or more product codes. After you add a product code to an AMI, it can't
  37575. // be removed. This is only valid when modifying the productCodes attribute.
  37576. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  37577. // One or more user groups. This is only valid when modifying the launchPermission
  37578. // attribute.
  37579. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  37580. // One or more AWS account IDs. This is only valid when modifying the launchPermission
  37581. // attribute.
  37582. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  37583. // The value of the attribute being modified. This is only valid when modifying
  37584. // the description attribute.
  37585. Value *string `type:"string"`
  37586. }
  37587. // String returns the string representation
  37588. func (s ModifyImageAttributeInput) String() string {
  37589. return awsutil.Prettify(s)
  37590. }
  37591. // GoString returns the string representation
  37592. func (s ModifyImageAttributeInput) GoString() string {
  37593. return s.String()
  37594. }
  37595. // Validate inspects the fields of the type to determine if they are valid.
  37596. func (s *ModifyImageAttributeInput) Validate() error {
  37597. invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
  37598. if s.ImageId == nil {
  37599. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  37600. }
  37601. if invalidParams.Len() > 0 {
  37602. return invalidParams
  37603. }
  37604. return nil
  37605. }
  37606. // SetAttribute sets the Attribute field's value.
  37607. func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
  37608. s.Attribute = &v
  37609. return s
  37610. }
  37611. // SetDescription sets the Description field's value.
  37612. func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
  37613. s.Description = v
  37614. return s
  37615. }
  37616. // SetDryRun sets the DryRun field's value.
  37617. func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
  37618. s.DryRun = &v
  37619. return s
  37620. }
  37621. // SetImageId sets the ImageId field's value.
  37622. func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
  37623. s.ImageId = &v
  37624. return s
  37625. }
  37626. // SetLaunchPermission sets the LaunchPermission field's value.
  37627. func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
  37628. s.LaunchPermission = v
  37629. return s
  37630. }
  37631. // SetOperationType sets the OperationType field's value.
  37632. func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
  37633. s.OperationType = &v
  37634. return s
  37635. }
  37636. // SetProductCodes sets the ProductCodes field's value.
  37637. func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
  37638. s.ProductCodes = v
  37639. return s
  37640. }
  37641. // SetUserGroups sets the UserGroups field's value.
  37642. func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
  37643. s.UserGroups = v
  37644. return s
  37645. }
  37646. // SetUserIds sets the UserIds field's value.
  37647. func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
  37648. s.UserIds = v
  37649. return s
  37650. }
  37651. // SetValue sets the Value field's value.
  37652. func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
  37653. s.Value = &v
  37654. return s
  37655. }
  37656. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttributeOutput
  37657. type ModifyImageAttributeOutput struct {
  37658. _ struct{} `type:"structure"`
  37659. }
  37660. // String returns the string representation
  37661. func (s ModifyImageAttributeOutput) String() string {
  37662. return awsutil.Prettify(s)
  37663. }
  37664. // GoString returns the string representation
  37665. func (s ModifyImageAttributeOutput) GoString() string {
  37666. return s.String()
  37667. }
  37668. // Contains the parameters for ModifyInstanceAttribute.
  37669. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttributeRequest
  37670. type ModifyInstanceAttributeInput struct {
  37671. _ struct{} `type:"structure"`
  37672. // The name of the attribute.
  37673. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  37674. // Modifies the DeleteOnTermination attribute for volumes that are currently
  37675. // attached. The volume must be owned by the caller. If no value is specified
  37676. // for DeleteOnTermination, the default is true and the volume is deleted when
  37677. // the instance is terminated.
  37678. //
  37679. // To add instance store volumes to an Amazon EBS-backed instance, you must
  37680. // add them when you launch the instance. For more information, see Updating
  37681. // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  37682. // in the Amazon Elastic Compute Cloud User Guide.
  37683. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  37684. // If the value is true, you can't terminate the instance using the Amazon EC2
  37685. // console, CLI, or API; otherwise, you can. You cannot use this paramater for
  37686. // Spot Instances.
  37687. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  37688. // Checks whether you have the required permissions for the action, without
  37689. // actually making the request, and provides an error response. If you have
  37690. // the required permissions, the error response is DryRunOperation. Otherwise,
  37691. // it is UnauthorizedOperation.
  37692. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37693. // Specifies whether the instance is optimized for EBS I/O. This optimization
  37694. // provides dedicated throughput to Amazon EBS and an optimized configuration
  37695. // stack to provide optimal EBS I/O performance. This optimization isn't available
  37696. // with all instance types. Additional usage charges apply when using an EBS
  37697. // Optimized instance.
  37698. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  37699. // Set to true to enable enhanced networking with ENA for the instance.
  37700. //
  37701. // This option is supported only for HVM instances. Specifying this option with
  37702. // a PV instance can make it unreachable.
  37703. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  37704. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  37705. // least one security group, even if it's just the default security group for
  37706. // the VPC. You must specify the security group ID, not the security group name.
  37707. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  37708. // The ID of the instance.
  37709. //
  37710. // InstanceId is a required field
  37711. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  37712. // Specifies whether an instance stops or terminates when you initiate shutdown
  37713. // from the instance (using the operating system command for system shutdown).
  37714. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  37715. // Changes the instance type to the specified value. For more information, see
  37716. // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  37717. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  37718. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  37719. // Changes the instance's kernel to the specified value. We recommend that you
  37720. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  37721. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  37722. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  37723. // Changes the instance's RAM disk to the specified value. We recommend that
  37724. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  37725. // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  37726. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  37727. // Specifies whether source/destination checking is enabled. A value of true
  37728. // means that checking is enabled, and false means checking is disabled. This
  37729. // value must be false for a NAT instance to perform NAT.
  37730. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  37731. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  37732. // Function interface for the instance.
  37733. //
  37734. // There is no way to disable enhanced networking with the Intel 82599 Virtual
  37735. // Function interface at this time.
  37736. //
  37737. // This option is supported only for HVM instances. Specifying this option with
  37738. // a PV instance can make it unreachable.
  37739. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  37740. // Changes the instance's user data to the specified value. If you are using
  37741. // an AWS SDK or command line tool, Base64-encoding is performed for you, and
  37742. // you can load the text from a file. Otherwise, you must provide Base64-encoded
  37743. // text.
  37744. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  37745. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  37746. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  37747. Value *string `locationName:"value" type:"string"`
  37748. }
  37749. // String returns the string representation
  37750. func (s ModifyInstanceAttributeInput) String() string {
  37751. return awsutil.Prettify(s)
  37752. }
  37753. // GoString returns the string representation
  37754. func (s ModifyInstanceAttributeInput) GoString() string {
  37755. return s.String()
  37756. }
  37757. // Validate inspects the fields of the type to determine if they are valid.
  37758. func (s *ModifyInstanceAttributeInput) Validate() error {
  37759. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
  37760. if s.InstanceId == nil {
  37761. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  37762. }
  37763. if invalidParams.Len() > 0 {
  37764. return invalidParams
  37765. }
  37766. return nil
  37767. }
  37768. // SetAttribute sets the Attribute field's value.
  37769. func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
  37770. s.Attribute = &v
  37771. return s
  37772. }
  37773. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  37774. func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
  37775. s.BlockDeviceMappings = v
  37776. return s
  37777. }
  37778. // SetDisableApiTermination sets the DisableApiTermination field's value.
  37779. func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  37780. s.DisableApiTermination = v
  37781. return s
  37782. }
  37783. // SetDryRun sets the DryRun field's value.
  37784. func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
  37785. s.DryRun = &v
  37786. return s
  37787. }
  37788. // SetEbsOptimized sets the EbsOptimized field's value.
  37789. func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  37790. s.EbsOptimized = v
  37791. return s
  37792. }
  37793. // SetEnaSupport sets the EnaSupport field's value.
  37794. func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  37795. s.EnaSupport = v
  37796. return s
  37797. }
  37798. // SetGroups sets the Groups field's value.
  37799. func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
  37800. s.Groups = v
  37801. return s
  37802. }
  37803. // SetInstanceId sets the InstanceId field's value.
  37804. func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
  37805. s.InstanceId = &v
  37806. return s
  37807. }
  37808. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  37809. func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
  37810. s.InstanceInitiatedShutdownBehavior = v
  37811. return s
  37812. }
  37813. // SetInstanceType sets the InstanceType field's value.
  37814. func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
  37815. s.InstanceType = v
  37816. return s
  37817. }
  37818. // SetKernel sets the Kernel field's value.
  37819. func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
  37820. s.Kernel = v
  37821. return s
  37822. }
  37823. // SetRamdisk sets the Ramdisk field's value.
  37824. func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
  37825. s.Ramdisk = v
  37826. return s
  37827. }
  37828. // SetSourceDestCheck sets the SourceDestCheck field's value.
  37829. func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  37830. s.SourceDestCheck = v
  37831. return s
  37832. }
  37833. // SetSriovNetSupport sets the SriovNetSupport field's value.
  37834. func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
  37835. s.SriovNetSupport = v
  37836. return s
  37837. }
  37838. // SetUserData sets the UserData field's value.
  37839. func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
  37840. s.UserData = v
  37841. return s
  37842. }
  37843. // SetValue sets the Value field's value.
  37844. func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
  37845. s.Value = &v
  37846. return s
  37847. }
  37848. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttributeOutput
  37849. type ModifyInstanceAttributeOutput struct {
  37850. _ struct{} `type:"structure"`
  37851. }
  37852. // String returns the string representation
  37853. func (s ModifyInstanceAttributeOutput) String() string {
  37854. return awsutil.Prettify(s)
  37855. }
  37856. // GoString returns the string representation
  37857. func (s ModifyInstanceAttributeOutput) GoString() string {
  37858. return s.String()
  37859. }
  37860. // Contains the parameters for ModifyInstancePlacement.
  37861. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacementRequest
  37862. type ModifyInstancePlacementInput struct {
  37863. _ struct{} `type:"structure"`
  37864. // The new affinity setting for the instance.
  37865. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
  37866. // The ID of the Dedicated Host that the instance will have affinity with.
  37867. HostId *string `locationName:"hostId" type:"string"`
  37868. // The ID of the instance that you are modifying.
  37869. //
  37870. // InstanceId is a required field
  37871. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  37872. // The tenancy of the instance that you are modifying.
  37873. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
  37874. }
  37875. // String returns the string representation
  37876. func (s ModifyInstancePlacementInput) String() string {
  37877. return awsutil.Prettify(s)
  37878. }
  37879. // GoString returns the string representation
  37880. func (s ModifyInstancePlacementInput) GoString() string {
  37881. return s.String()
  37882. }
  37883. // Validate inspects the fields of the type to determine if they are valid.
  37884. func (s *ModifyInstancePlacementInput) Validate() error {
  37885. invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
  37886. if s.InstanceId == nil {
  37887. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  37888. }
  37889. if invalidParams.Len() > 0 {
  37890. return invalidParams
  37891. }
  37892. return nil
  37893. }
  37894. // SetAffinity sets the Affinity field's value.
  37895. func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
  37896. s.Affinity = &v
  37897. return s
  37898. }
  37899. // SetHostId sets the HostId field's value.
  37900. func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
  37901. s.HostId = &v
  37902. return s
  37903. }
  37904. // SetInstanceId sets the InstanceId field's value.
  37905. func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
  37906. s.InstanceId = &v
  37907. return s
  37908. }
  37909. // SetTenancy sets the Tenancy field's value.
  37910. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
  37911. s.Tenancy = &v
  37912. return s
  37913. }
  37914. // Contains the output of ModifyInstancePlacement.
  37915. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacementResult
  37916. type ModifyInstancePlacementOutput struct {
  37917. _ struct{} `type:"structure"`
  37918. // Is true if the request succeeds, and an error otherwise.
  37919. Return *bool `locationName:"return" type:"boolean"`
  37920. }
  37921. // String returns the string representation
  37922. func (s ModifyInstancePlacementOutput) String() string {
  37923. return awsutil.Prettify(s)
  37924. }
  37925. // GoString returns the string representation
  37926. func (s ModifyInstancePlacementOutput) GoString() string {
  37927. return s.String()
  37928. }
  37929. // SetReturn sets the Return field's value.
  37930. func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
  37931. s.Return = &v
  37932. return s
  37933. }
  37934. // Contains the parameters for ModifyNetworkInterfaceAttribute.
  37935. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttributeRequest
  37936. type ModifyNetworkInterfaceAttributeInput struct {
  37937. _ struct{} `type:"structure"`
  37938. // Information about the interface attachment. If modifying the 'delete on termination'
  37939. // attribute, you must specify the ID of the interface attachment.
  37940. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  37941. // A description for the network interface.
  37942. Description *AttributeValue `locationName:"description" type:"structure"`
  37943. // Checks whether you have the required permissions for the action, without
  37944. // actually making the request, and provides an error response. If you have
  37945. // the required permissions, the error response is DryRunOperation. Otherwise,
  37946. // it is UnauthorizedOperation.
  37947. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37948. // Changes the security groups for the network interface. The new set of groups
  37949. // you specify replaces the current set. You must specify at least one group,
  37950. // even if it's just the default security group in the VPC. You must specify
  37951. // the ID of the security group, not the name.
  37952. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  37953. // The ID of the network interface.
  37954. //
  37955. // NetworkInterfaceId is a required field
  37956. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  37957. // Indicates whether source/destination checking is enabled. A value of true
  37958. // means checking is enabled, and false means checking is disabled. This value
  37959. // must be false for a NAT instance to perform NAT. For more information, see
  37960. // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  37961. // in the Amazon Virtual Private Cloud User Guide.
  37962. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  37963. }
  37964. // String returns the string representation
  37965. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  37966. return awsutil.Prettify(s)
  37967. }
  37968. // GoString returns the string representation
  37969. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  37970. return s.String()
  37971. }
  37972. // Validate inspects the fields of the type to determine if they are valid.
  37973. func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
  37974. invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
  37975. if s.NetworkInterfaceId == nil {
  37976. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  37977. }
  37978. if invalidParams.Len() > 0 {
  37979. return invalidParams
  37980. }
  37981. return nil
  37982. }
  37983. // SetAttachment sets the Attachment field's value.
  37984. func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
  37985. s.Attachment = v
  37986. return s
  37987. }
  37988. // SetDescription sets the Description field's value.
  37989. func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
  37990. s.Description = v
  37991. return s
  37992. }
  37993. // SetDryRun sets the DryRun field's value.
  37994. func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
  37995. s.DryRun = &v
  37996. return s
  37997. }
  37998. // SetGroups sets the Groups field's value.
  37999. func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
  38000. s.Groups = v
  38001. return s
  38002. }
  38003. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  38004. func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
  38005. s.NetworkInterfaceId = &v
  38006. return s
  38007. }
  38008. // SetSourceDestCheck sets the SourceDestCheck field's value.
  38009. func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
  38010. s.SourceDestCheck = v
  38011. return s
  38012. }
  38013. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttributeOutput
  38014. type ModifyNetworkInterfaceAttributeOutput struct {
  38015. _ struct{} `type:"structure"`
  38016. }
  38017. // String returns the string representation
  38018. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  38019. return awsutil.Prettify(s)
  38020. }
  38021. // GoString returns the string representation
  38022. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  38023. return s.String()
  38024. }
  38025. // Contains the parameters for ModifyReservedInstances.
  38026. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstancesRequest
  38027. type ModifyReservedInstancesInput struct {
  38028. _ struct{} `type:"structure"`
  38029. // A unique, case-sensitive token you provide to ensure idempotency of your
  38030. // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  38031. ClientToken *string `locationName:"clientToken" type:"string"`
  38032. // The IDs of the Reserved Instances to modify.
  38033. //
  38034. // ReservedInstancesIds is a required field
  38035. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  38036. // The configuration settings for the Reserved Instances to modify.
  38037. //
  38038. // TargetConfigurations is a required field
  38039. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  38040. }
  38041. // String returns the string representation
  38042. func (s ModifyReservedInstancesInput) String() string {
  38043. return awsutil.Prettify(s)
  38044. }
  38045. // GoString returns the string representation
  38046. func (s ModifyReservedInstancesInput) GoString() string {
  38047. return s.String()
  38048. }
  38049. // Validate inspects the fields of the type to determine if they are valid.
  38050. func (s *ModifyReservedInstancesInput) Validate() error {
  38051. invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
  38052. if s.ReservedInstancesIds == nil {
  38053. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  38054. }
  38055. if s.TargetConfigurations == nil {
  38056. invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
  38057. }
  38058. if invalidParams.Len() > 0 {
  38059. return invalidParams
  38060. }
  38061. return nil
  38062. }
  38063. // SetClientToken sets the ClientToken field's value.
  38064. func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
  38065. s.ClientToken = &v
  38066. return s
  38067. }
  38068. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  38069. func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
  38070. s.ReservedInstancesIds = v
  38071. return s
  38072. }
  38073. // SetTargetConfigurations sets the TargetConfigurations field's value.
  38074. func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
  38075. s.TargetConfigurations = v
  38076. return s
  38077. }
  38078. // Contains the output of ModifyReservedInstances.
  38079. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstancesResult
  38080. type ModifyReservedInstancesOutput struct {
  38081. _ struct{} `type:"structure"`
  38082. // The ID for the modification.
  38083. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  38084. }
  38085. // String returns the string representation
  38086. func (s ModifyReservedInstancesOutput) String() string {
  38087. return awsutil.Prettify(s)
  38088. }
  38089. // GoString returns the string representation
  38090. func (s ModifyReservedInstancesOutput) GoString() string {
  38091. return s.String()
  38092. }
  38093. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  38094. func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
  38095. s.ReservedInstancesModificationId = &v
  38096. return s
  38097. }
  38098. // Contains the parameters for ModifySnapshotAttribute.
  38099. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttributeRequest
  38100. type ModifySnapshotAttributeInput struct {
  38101. _ struct{} `type:"structure"`
  38102. // The snapshot attribute to modify.
  38103. //
  38104. // Only volume creation permissions may be modified at the customer level.
  38105. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  38106. // A JSON representation of the snapshot attribute modification.
  38107. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  38108. // Checks whether you have the required permissions for the action, without
  38109. // actually making the request, and provides an error response. If you have
  38110. // the required permissions, the error response is DryRunOperation. Otherwise,
  38111. // it is UnauthorizedOperation.
  38112. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38113. // The group to modify for the snapshot.
  38114. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  38115. // The type of operation to perform to the attribute.
  38116. OperationType *string `type:"string" enum:"OperationType"`
  38117. // The ID of the snapshot.
  38118. //
  38119. // SnapshotId is a required field
  38120. SnapshotId *string `type:"string" required:"true"`
  38121. // The account ID to modify for the snapshot.
  38122. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  38123. }
  38124. // String returns the string representation
  38125. func (s ModifySnapshotAttributeInput) String() string {
  38126. return awsutil.Prettify(s)
  38127. }
  38128. // GoString returns the string representation
  38129. func (s ModifySnapshotAttributeInput) GoString() string {
  38130. return s.String()
  38131. }
  38132. // Validate inspects the fields of the type to determine if they are valid.
  38133. func (s *ModifySnapshotAttributeInput) Validate() error {
  38134. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
  38135. if s.SnapshotId == nil {
  38136. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  38137. }
  38138. if invalidParams.Len() > 0 {
  38139. return invalidParams
  38140. }
  38141. return nil
  38142. }
  38143. // SetAttribute sets the Attribute field's value.
  38144. func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
  38145. s.Attribute = &v
  38146. return s
  38147. }
  38148. // SetCreateVolumePermission sets the CreateVolumePermission field's value.
  38149. func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
  38150. s.CreateVolumePermission = v
  38151. return s
  38152. }
  38153. // SetDryRun sets the DryRun field's value.
  38154. func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
  38155. s.DryRun = &v
  38156. return s
  38157. }
  38158. // SetGroupNames sets the GroupNames field's value.
  38159. func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
  38160. s.GroupNames = v
  38161. return s
  38162. }
  38163. // SetOperationType sets the OperationType field's value.
  38164. func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
  38165. s.OperationType = &v
  38166. return s
  38167. }
  38168. // SetSnapshotId sets the SnapshotId field's value.
  38169. func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
  38170. s.SnapshotId = &v
  38171. return s
  38172. }
  38173. // SetUserIds sets the UserIds field's value.
  38174. func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
  38175. s.UserIds = v
  38176. return s
  38177. }
  38178. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttributeOutput
  38179. type ModifySnapshotAttributeOutput struct {
  38180. _ struct{} `type:"structure"`
  38181. }
  38182. // String returns the string representation
  38183. func (s ModifySnapshotAttributeOutput) String() string {
  38184. return awsutil.Prettify(s)
  38185. }
  38186. // GoString returns the string representation
  38187. func (s ModifySnapshotAttributeOutput) GoString() string {
  38188. return s.String()
  38189. }
  38190. // Contains the parameters for ModifySpotFleetRequest.
  38191. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequestRequest
  38192. type ModifySpotFleetRequestInput struct {
  38193. _ struct{} `type:"structure"`
  38194. // Indicates whether running Spot instances should be terminated if the target
  38195. // capacity of the Spot fleet request is decreased below the current size of
  38196. // the Spot fleet.
  38197. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  38198. // The ID of the Spot fleet request.
  38199. //
  38200. // SpotFleetRequestId is a required field
  38201. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  38202. // The size of the fleet.
  38203. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
  38204. }
  38205. // String returns the string representation
  38206. func (s ModifySpotFleetRequestInput) String() string {
  38207. return awsutil.Prettify(s)
  38208. }
  38209. // GoString returns the string representation
  38210. func (s ModifySpotFleetRequestInput) GoString() string {
  38211. return s.String()
  38212. }
  38213. // Validate inspects the fields of the type to determine if they are valid.
  38214. func (s *ModifySpotFleetRequestInput) Validate() error {
  38215. invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
  38216. if s.SpotFleetRequestId == nil {
  38217. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  38218. }
  38219. if invalidParams.Len() > 0 {
  38220. return invalidParams
  38221. }
  38222. return nil
  38223. }
  38224. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  38225. func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
  38226. s.ExcessCapacityTerminationPolicy = &v
  38227. return s
  38228. }
  38229. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  38230. func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
  38231. s.SpotFleetRequestId = &v
  38232. return s
  38233. }
  38234. // SetTargetCapacity sets the TargetCapacity field's value.
  38235. func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
  38236. s.TargetCapacity = &v
  38237. return s
  38238. }
  38239. // Contains the output of ModifySpotFleetRequest.
  38240. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequestResponse
  38241. type ModifySpotFleetRequestOutput struct {
  38242. _ struct{} `type:"structure"`
  38243. // Is true if the request succeeds, and an error otherwise.
  38244. Return *bool `locationName:"return" type:"boolean"`
  38245. }
  38246. // String returns the string representation
  38247. func (s ModifySpotFleetRequestOutput) String() string {
  38248. return awsutil.Prettify(s)
  38249. }
  38250. // GoString returns the string representation
  38251. func (s ModifySpotFleetRequestOutput) GoString() string {
  38252. return s.String()
  38253. }
  38254. // SetReturn sets the Return field's value.
  38255. func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
  38256. s.Return = &v
  38257. return s
  38258. }
  38259. // Contains the parameters for ModifySubnetAttribute.
  38260. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttributeRequest
  38261. type ModifySubnetAttributeInput struct {
  38262. _ struct{} `type:"structure"`
  38263. // Specify true to indicate that network interfaces created in the specified
  38264. // subnet should be assigned an IPv6 address. This includes a network interface
  38265. // that's created when launching an instance into the subnet (the instance therefore
  38266. // receives an IPv6 address).
  38267. //
  38268. // If you enable the IPv6 addressing feature for your subnet, your network interface
  38269. // or instance only receives an IPv6 address if it's created using version 2016-11-15
  38270. // or later of the Amazon EC2 API.
  38271. AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
  38272. // Specify true to indicate that network interfaces created in the specified
  38273. // subnet should be assigned a public IPv4 address. This includes a network
  38274. // interface that's created when launching an instance into the subnet (the
  38275. // instance therefore receives a public IPv4 address).
  38276. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  38277. // The ID of the subnet.
  38278. //
  38279. // SubnetId is a required field
  38280. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  38281. }
  38282. // String returns the string representation
  38283. func (s ModifySubnetAttributeInput) String() string {
  38284. return awsutil.Prettify(s)
  38285. }
  38286. // GoString returns the string representation
  38287. func (s ModifySubnetAttributeInput) GoString() string {
  38288. return s.String()
  38289. }
  38290. // Validate inspects the fields of the type to determine if they are valid.
  38291. func (s *ModifySubnetAttributeInput) Validate() error {
  38292. invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
  38293. if s.SubnetId == nil {
  38294. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  38295. }
  38296. if invalidParams.Len() > 0 {
  38297. return invalidParams
  38298. }
  38299. return nil
  38300. }
  38301. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  38302. func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  38303. s.AssignIpv6AddressOnCreation = v
  38304. return s
  38305. }
  38306. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  38307. func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  38308. s.MapPublicIpOnLaunch = v
  38309. return s
  38310. }
  38311. // SetSubnetId sets the SubnetId field's value.
  38312. func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
  38313. s.SubnetId = &v
  38314. return s
  38315. }
  38316. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttributeOutput
  38317. type ModifySubnetAttributeOutput struct {
  38318. _ struct{} `type:"structure"`
  38319. }
  38320. // String returns the string representation
  38321. func (s ModifySubnetAttributeOutput) String() string {
  38322. return awsutil.Prettify(s)
  38323. }
  38324. // GoString returns the string representation
  38325. func (s ModifySubnetAttributeOutput) GoString() string {
  38326. return s.String()
  38327. }
  38328. // Contains the parameters for ModifyVolumeAttribute.
  38329. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttributeRequest
  38330. type ModifyVolumeAttributeInput struct {
  38331. _ struct{} `type:"structure"`
  38332. // Indicates whether the volume should be auto-enabled for I/O operations.
  38333. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  38334. // Checks whether you have the required permissions for the action, without
  38335. // actually making the request, and provides an error response. If you have
  38336. // the required permissions, the error response is DryRunOperation. Otherwise,
  38337. // it is UnauthorizedOperation.
  38338. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38339. // The ID of the volume.
  38340. //
  38341. // VolumeId is a required field
  38342. VolumeId *string `type:"string" required:"true"`
  38343. }
  38344. // String returns the string representation
  38345. func (s ModifyVolumeAttributeInput) String() string {
  38346. return awsutil.Prettify(s)
  38347. }
  38348. // GoString returns the string representation
  38349. func (s ModifyVolumeAttributeInput) GoString() string {
  38350. return s.String()
  38351. }
  38352. // Validate inspects the fields of the type to determine if they are valid.
  38353. func (s *ModifyVolumeAttributeInput) Validate() error {
  38354. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
  38355. if s.VolumeId == nil {
  38356. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  38357. }
  38358. if invalidParams.Len() > 0 {
  38359. return invalidParams
  38360. }
  38361. return nil
  38362. }
  38363. // SetAutoEnableIO sets the AutoEnableIO field's value.
  38364. func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
  38365. s.AutoEnableIO = v
  38366. return s
  38367. }
  38368. // SetDryRun sets the DryRun field's value.
  38369. func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
  38370. s.DryRun = &v
  38371. return s
  38372. }
  38373. // SetVolumeId sets the VolumeId field's value.
  38374. func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
  38375. s.VolumeId = &v
  38376. return s
  38377. }
  38378. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttributeOutput
  38379. type ModifyVolumeAttributeOutput struct {
  38380. _ struct{} `type:"structure"`
  38381. }
  38382. // String returns the string representation
  38383. func (s ModifyVolumeAttributeOutput) String() string {
  38384. return awsutil.Prettify(s)
  38385. }
  38386. // GoString returns the string representation
  38387. func (s ModifyVolumeAttributeOutput) GoString() string {
  38388. return s.String()
  38389. }
  38390. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeRequest
  38391. type ModifyVolumeInput struct {
  38392. _ struct{} `type:"structure"`
  38393. // Checks whether you have the required permissions for the action, without
  38394. // actually making the request, and provides an error response. If you have
  38395. // the required permissions, the error response is DryRunOperation. Otherwise,
  38396. // it is UnauthorizedOperation.
  38397. DryRun *bool `type:"boolean"`
  38398. // Target IOPS rate of the volume to be modified.
  38399. //
  38400. // Only valid for Provisioned IOPS SSD (io1) volumes. For more information about
  38401. // io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops
  38402. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
  38403. //
  38404. // Default: If no IOPS value is specified, the existing value is retained.
  38405. Iops *int64 `type:"integer"`
  38406. // Target size in GiB of the volume to be modified. Target volume size must
  38407. // be greater than or equal to than the existing size of the volume. For information
  38408. // about available EBS volume sizes, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
  38409. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
  38410. //
  38411. // Default: If no size is specified, the existing size is retained.
  38412. Size *int64 `type:"integer"`
  38413. // VolumeId is a required field
  38414. VolumeId *string `type:"string" required:"true"`
  38415. // Target EBS volume type of the volume to be modified
  38416. //
  38417. // The API does not support modifications for volume type standard. You also
  38418. // cannot change the type of a volume to standard.
  38419. //
  38420. // Default: If no type is specified, the existing type is retained.
  38421. VolumeType *string `type:"string" enum:"VolumeType"`
  38422. }
  38423. // String returns the string representation
  38424. func (s ModifyVolumeInput) String() string {
  38425. return awsutil.Prettify(s)
  38426. }
  38427. // GoString returns the string representation
  38428. func (s ModifyVolumeInput) GoString() string {
  38429. return s.String()
  38430. }
  38431. // Validate inspects the fields of the type to determine if they are valid.
  38432. func (s *ModifyVolumeInput) Validate() error {
  38433. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
  38434. if s.VolumeId == nil {
  38435. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  38436. }
  38437. if invalidParams.Len() > 0 {
  38438. return invalidParams
  38439. }
  38440. return nil
  38441. }
  38442. // SetDryRun sets the DryRun field's value.
  38443. func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
  38444. s.DryRun = &v
  38445. return s
  38446. }
  38447. // SetIops sets the Iops field's value.
  38448. func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
  38449. s.Iops = &v
  38450. return s
  38451. }
  38452. // SetSize sets the Size field's value.
  38453. func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
  38454. s.Size = &v
  38455. return s
  38456. }
  38457. // SetVolumeId sets the VolumeId field's value.
  38458. func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
  38459. s.VolumeId = &v
  38460. return s
  38461. }
  38462. // SetVolumeType sets the VolumeType field's value.
  38463. func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
  38464. s.VolumeType = &v
  38465. return s
  38466. }
  38467. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeResult
  38468. type ModifyVolumeOutput struct {
  38469. _ struct{} `type:"structure"`
  38470. // A VolumeModification object.
  38471. VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
  38472. }
  38473. // String returns the string representation
  38474. func (s ModifyVolumeOutput) String() string {
  38475. return awsutil.Prettify(s)
  38476. }
  38477. // GoString returns the string representation
  38478. func (s ModifyVolumeOutput) GoString() string {
  38479. return s.String()
  38480. }
  38481. // SetVolumeModification sets the VolumeModification field's value.
  38482. func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
  38483. s.VolumeModification = v
  38484. return s
  38485. }
  38486. // Contains the parameters for ModifyVpcAttribute.
  38487. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttributeRequest
  38488. type ModifyVpcAttributeInput struct {
  38489. _ struct{} `type:"structure"`
  38490. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  38491. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  38492. //
  38493. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  38494. // same request. Use separate requests for each attribute. You can only enable
  38495. // DNS hostnames if you've enabled DNS support.
  38496. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  38497. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  38498. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  38499. // or the reserved IP address at the base of the VPC network range "plus two"
  38500. // will succeed. If disabled, the Amazon provided DNS service in the VPC that
  38501. // resolves public DNS hostnames to IP addresses is not enabled.
  38502. //
  38503. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  38504. // same request. Use separate requests for each attribute.
  38505. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  38506. // The ID of the VPC.
  38507. //
  38508. // VpcId is a required field
  38509. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  38510. }
  38511. // String returns the string representation
  38512. func (s ModifyVpcAttributeInput) String() string {
  38513. return awsutil.Prettify(s)
  38514. }
  38515. // GoString returns the string representation
  38516. func (s ModifyVpcAttributeInput) GoString() string {
  38517. return s.String()
  38518. }
  38519. // Validate inspects the fields of the type to determine if they are valid.
  38520. func (s *ModifyVpcAttributeInput) Validate() error {
  38521. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
  38522. if s.VpcId == nil {
  38523. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  38524. }
  38525. if invalidParams.Len() > 0 {
  38526. return invalidParams
  38527. }
  38528. return nil
  38529. }
  38530. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  38531. func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  38532. s.EnableDnsHostnames = v
  38533. return s
  38534. }
  38535. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  38536. func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  38537. s.EnableDnsSupport = v
  38538. return s
  38539. }
  38540. // SetVpcId sets the VpcId field's value.
  38541. func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
  38542. s.VpcId = &v
  38543. return s
  38544. }
  38545. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttributeOutput
  38546. type ModifyVpcAttributeOutput struct {
  38547. _ struct{} `type:"structure"`
  38548. }
  38549. // String returns the string representation
  38550. func (s ModifyVpcAttributeOutput) String() string {
  38551. return awsutil.Prettify(s)
  38552. }
  38553. // GoString returns the string representation
  38554. func (s ModifyVpcAttributeOutput) GoString() string {
  38555. return s.String()
  38556. }
  38557. // Contains the parameters for ModifyVpcEndpoint.
  38558. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointRequest
  38559. type ModifyVpcEndpointInput struct {
  38560. _ struct{} `type:"structure"`
  38561. // One or more route tables IDs to associate with the endpoint.
  38562. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  38563. // Checks whether you have the required permissions for the action, without
  38564. // actually making the request, and provides an error response. If you have
  38565. // the required permissions, the error response is DryRunOperation. Otherwise,
  38566. // it is UnauthorizedOperation.
  38567. DryRun *bool `type:"boolean"`
  38568. // A policy document to attach to the endpoint. The policy must be in valid
  38569. // JSON format.
  38570. PolicyDocument *string `type:"string"`
  38571. // One or more route table IDs to disassociate from the endpoint.
  38572. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  38573. // Specify true to reset the policy document to the default policy. The default
  38574. // policy allows access to the service.
  38575. ResetPolicy *bool `type:"boolean"`
  38576. // The ID of the endpoint.
  38577. //
  38578. // VpcEndpointId is a required field
  38579. VpcEndpointId *string `type:"string" required:"true"`
  38580. }
  38581. // String returns the string representation
  38582. func (s ModifyVpcEndpointInput) String() string {
  38583. return awsutil.Prettify(s)
  38584. }
  38585. // GoString returns the string representation
  38586. func (s ModifyVpcEndpointInput) GoString() string {
  38587. return s.String()
  38588. }
  38589. // Validate inspects the fields of the type to determine if they are valid.
  38590. func (s *ModifyVpcEndpointInput) Validate() error {
  38591. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
  38592. if s.VpcEndpointId == nil {
  38593. invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
  38594. }
  38595. if invalidParams.Len() > 0 {
  38596. return invalidParams
  38597. }
  38598. return nil
  38599. }
  38600. // SetAddRouteTableIds sets the AddRouteTableIds field's value.
  38601. func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  38602. s.AddRouteTableIds = v
  38603. return s
  38604. }
  38605. // SetDryRun sets the DryRun field's value.
  38606. func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
  38607. s.DryRun = &v
  38608. return s
  38609. }
  38610. // SetPolicyDocument sets the PolicyDocument field's value.
  38611. func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
  38612. s.PolicyDocument = &v
  38613. return s
  38614. }
  38615. // SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
  38616. func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  38617. s.RemoveRouteTableIds = v
  38618. return s
  38619. }
  38620. // SetResetPolicy sets the ResetPolicy field's value.
  38621. func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
  38622. s.ResetPolicy = &v
  38623. return s
  38624. }
  38625. // SetVpcEndpointId sets the VpcEndpointId field's value.
  38626. func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
  38627. s.VpcEndpointId = &v
  38628. return s
  38629. }
  38630. // Contains the output of ModifyVpcEndpoint.
  38631. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointResult
  38632. type ModifyVpcEndpointOutput struct {
  38633. _ struct{} `type:"structure"`
  38634. // Returns true if the request succeeds; otherwise, it returns an error.
  38635. Return *bool `locationName:"return" type:"boolean"`
  38636. }
  38637. // String returns the string representation
  38638. func (s ModifyVpcEndpointOutput) String() string {
  38639. return awsutil.Prettify(s)
  38640. }
  38641. // GoString returns the string representation
  38642. func (s ModifyVpcEndpointOutput) GoString() string {
  38643. return s.String()
  38644. }
  38645. // SetReturn sets the Return field's value.
  38646. func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
  38647. s.Return = &v
  38648. return s
  38649. }
  38650. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptionsRequest
  38651. type ModifyVpcPeeringConnectionOptionsInput struct {
  38652. _ struct{} `type:"structure"`
  38653. // The VPC peering connection options for the accepter VPC.
  38654. AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  38655. // Checks whether you have the required permissions for the operation, without
  38656. // actually making the request, and provides an error response. If you have
  38657. // the required permissions, the error response is DryRunOperation. Otherwise,
  38658. // it is UnauthorizedOperation.
  38659. DryRun *bool `type:"boolean"`
  38660. // The VPC peering connection options for the requester VPC.
  38661. RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  38662. // The ID of the VPC peering connection.
  38663. //
  38664. // VpcPeeringConnectionId is a required field
  38665. VpcPeeringConnectionId *string `type:"string" required:"true"`
  38666. }
  38667. // String returns the string representation
  38668. func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
  38669. return awsutil.Prettify(s)
  38670. }
  38671. // GoString returns the string representation
  38672. func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
  38673. return s.String()
  38674. }
  38675. // Validate inspects the fields of the type to determine if they are valid.
  38676. func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
  38677. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
  38678. if s.VpcPeeringConnectionId == nil {
  38679. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  38680. }
  38681. if invalidParams.Len() > 0 {
  38682. return invalidParams
  38683. }
  38684. return nil
  38685. }
  38686. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  38687. func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  38688. s.AccepterPeeringConnectionOptions = v
  38689. return s
  38690. }
  38691. // SetDryRun sets the DryRun field's value.
  38692. func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
  38693. s.DryRun = &v
  38694. return s
  38695. }
  38696. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  38697. func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  38698. s.RequesterPeeringConnectionOptions = v
  38699. return s
  38700. }
  38701. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  38702. func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
  38703. s.VpcPeeringConnectionId = &v
  38704. return s
  38705. }
  38706. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptionsResult
  38707. type ModifyVpcPeeringConnectionOptionsOutput struct {
  38708. _ struct{} `type:"structure"`
  38709. // Information about the VPC peering connection options for the accepter VPC.
  38710. AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
  38711. // Information about the VPC peering connection options for the requester VPC.
  38712. RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
  38713. }
  38714. // String returns the string representation
  38715. func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
  38716. return awsutil.Prettify(s)
  38717. }
  38718. // GoString returns the string representation
  38719. func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
  38720. return s.String()
  38721. }
  38722. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  38723. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  38724. s.AccepterPeeringConnectionOptions = v
  38725. return s
  38726. }
  38727. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  38728. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  38729. s.RequesterPeeringConnectionOptions = v
  38730. return s
  38731. }
  38732. // Contains the parameters for MonitorInstances.
  38733. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstancesRequest
  38734. type MonitorInstancesInput struct {
  38735. _ struct{} `type:"structure"`
  38736. // Checks whether you have the required permissions for the action, without
  38737. // actually making the request, and provides an error response. If you have
  38738. // the required permissions, the error response is DryRunOperation. Otherwise,
  38739. // it is UnauthorizedOperation.
  38740. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38741. // One or more instance IDs.
  38742. //
  38743. // InstanceIds is a required field
  38744. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  38745. }
  38746. // String returns the string representation
  38747. func (s MonitorInstancesInput) String() string {
  38748. return awsutil.Prettify(s)
  38749. }
  38750. // GoString returns the string representation
  38751. func (s MonitorInstancesInput) GoString() string {
  38752. return s.String()
  38753. }
  38754. // Validate inspects the fields of the type to determine if they are valid.
  38755. func (s *MonitorInstancesInput) Validate() error {
  38756. invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
  38757. if s.InstanceIds == nil {
  38758. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  38759. }
  38760. if invalidParams.Len() > 0 {
  38761. return invalidParams
  38762. }
  38763. return nil
  38764. }
  38765. // SetDryRun sets the DryRun field's value.
  38766. func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
  38767. s.DryRun = &v
  38768. return s
  38769. }
  38770. // SetInstanceIds sets the InstanceIds field's value.
  38771. func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
  38772. s.InstanceIds = v
  38773. return s
  38774. }
  38775. // Contains the output of MonitorInstances.
  38776. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstancesResult
  38777. type MonitorInstancesOutput struct {
  38778. _ struct{} `type:"structure"`
  38779. // The monitoring information.
  38780. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  38781. }
  38782. // String returns the string representation
  38783. func (s MonitorInstancesOutput) String() string {
  38784. return awsutil.Prettify(s)
  38785. }
  38786. // GoString returns the string representation
  38787. func (s MonitorInstancesOutput) GoString() string {
  38788. return s.String()
  38789. }
  38790. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  38791. func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
  38792. s.InstanceMonitorings = v
  38793. return s
  38794. }
  38795. // Describes the monitoring of an instance.
  38796. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Monitoring
  38797. type Monitoring struct {
  38798. _ struct{} `type:"structure"`
  38799. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  38800. // is enabled.
  38801. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  38802. }
  38803. // String returns the string representation
  38804. func (s Monitoring) String() string {
  38805. return awsutil.Prettify(s)
  38806. }
  38807. // GoString returns the string representation
  38808. func (s Monitoring) GoString() string {
  38809. return s.String()
  38810. }
  38811. // SetState sets the State field's value.
  38812. func (s *Monitoring) SetState(v string) *Monitoring {
  38813. s.State = &v
  38814. return s
  38815. }
  38816. // Contains the parameters for MoveAddressToVpc.
  38817. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpcRequest
  38818. type MoveAddressToVpcInput struct {
  38819. _ struct{} `type:"structure"`
  38820. // Checks whether you have the required permissions for the action, without
  38821. // actually making the request, and provides an error response. If you have
  38822. // the required permissions, the error response is DryRunOperation. Otherwise,
  38823. // it is UnauthorizedOperation.
  38824. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38825. // The Elastic IP address.
  38826. //
  38827. // PublicIp is a required field
  38828. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  38829. }
  38830. // String returns the string representation
  38831. func (s MoveAddressToVpcInput) String() string {
  38832. return awsutil.Prettify(s)
  38833. }
  38834. // GoString returns the string representation
  38835. func (s MoveAddressToVpcInput) GoString() string {
  38836. return s.String()
  38837. }
  38838. // Validate inspects the fields of the type to determine if they are valid.
  38839. func (s *MoveAddressToVpcInput) Validate() error {
  38840. invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
  38841. if s.PublicIp == nil {
  38842. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  38843. }
  38844. if invalidParams.Len() > 0 {
  38845. return invalidParams
  38846. }
  38847. return nil
  38848. }
  38849. // SetDryRun sets the DryRun field's value.
  38850. func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
  38851. s.DryRun = &v
  38852. return s
  38853. }
  38854. // SetPublicIp sets the PublicIp field's value.
  38855. func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
  38856. s.PublicIp = &v
  38857. return s
  38858. }
  38859. // Contains the output of MoveAddressToVpc.
  38860. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpcResult
  38861. type MoveAddressToVpcOutput struct {
  38862. _ struct{} `type:"structure"`
  38863. // The allocation ID for the Elastic IP address.
  38864. AllocationId *string `locationName:"allocationId" type:"string"`
  38865. // The status of the move of the IP address.
  38866. Status *string `locationName:"status" type:"string" enum:"Status"`
  38867. }
  38868. // String returns the string representation
  38869. func (s MoveAddressToVpcOutput) String() string {
  38870. return awsutil.Prettify(s)
  38871. }
  38872. // GoString returns the string representation
  38873. func (s MoveAddressToVpcOutput) GoString() string {
  38874. return s.String()
  38875. }
  38876. // SetAllocationId sets the AllocationId field's value.
  38877. func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
  38878. s.AllocationId = &v
  38879. return s
  38880. }
  38881. // SetStatus sets the Status field's value.
  38882. func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
  38883. s.Status = &v
  38884. return s
  38885. }
  38886. // Describes the status of a moving Elastic IP address.
  38887. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MovingAddressStatus
  38888. type MovingAddressStatus struct {
  38889. _ struct{} `type:"structure"`
  38890. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  38891. // or restored to the EC2-Classic platform.
  38892. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  38893. // The Elastic IP address.
  38894. PublicIp *string `locationName:"publicIp" type:"string"`
  38895. }
  38896. // String returns the string representation
  38897. func (s MovingAddressStatus) String() string {
  38898. return awsutil.Prettify(s)
  38899. }
  38900. // GoString returns the string representation
  38901. func (s MovingAddressStatus) GoString() string {
  38902. return s.String()
  38903. }
  38904. // SetMoveStatus sets the MoveStatus field's value.
  38905. func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
  38906. s.MoveStatus = &v
  38907. return s
  38908. }
  38909. // SetPublicIp sets the PublicIp field's value.
  38910. func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
  38911. s.PublicIp = &v
  38912. return s
  38913. }
  38914. // Describes a NAT gateway.
  38915. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGateway
  38916. type NatGateway struct {
  38917. _ struct{} `type:"structure"`
  38918. // The date and time the NAT gateway was created.
  38919. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  38920. // The date and time the NAT gateway was deleted, if applicable.
  38921. DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp" timestampFormat:"iso8601"`
  38922. // If the NAT gateway could not be created, specifies the error code for the
  38923. // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
  38924. // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
  38925. FailureCode *string `locationName:"failureCode" type:"string"`
  38926. // If the NAT gateway could not be created, specifies the error message for
  38927. // the failure, that corresponds to the error code.
  38928. //
  38929. // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
  38930. // addresses to create this NAT gateway"
  38931. //
  38932. // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
  38933. // attached"
  38934. //
  38935. // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
  38936. // could not be associated with this NAT gateway"
  38937. //
  38938. // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
  38939. // is already associated"
  38940. //
  38941. // * For InternalError: "Network interface eni-xxxxxxxx, created and used
  38942. // internally by this NAT gateway is in an invalid state. Please try again."
  38943. //
  38944. // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
  38945. // does not exist or could not be found."
  38946. FailureMessage *string `locationName:"failureMessage" type:"string"`
  38947. // Information about the IP addresses and network interface associated with
  38948. // the NAT gateway.
  38949. NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
  38950. // The ID of the NAT gateway.
  38951. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  38952. // Reserved. If you need to sustain traffic greater than the documented limits
  38953. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  38954. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  38955. ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
  38956. // The state of the NAT gateway.
  38957. //
  38958. // * pending: The NAT gateway is being created and is not ready to process
  38959. // traffic.
  38960. //
  38961. // * failed: The NAT gateway could not be created. Check the failureCode
  38962. // and failureMessage fields for the reason.
  38963. //
  38964. // * available: The NAT gateway is able to process traffic. This status remains
  38965. // until you delete the NAT gateway, and does not indicate the health of
  38966. // the NAT gateway.
  38967. //
  38968. // * deleting: The NAT gateway is in the process of being terminated and
  38969. // may still be processing traffic.
  38970. //
  38971. // * deleted: The NAT gateway has been terminated and is no longer processing
  38972. // traffic.
  38973. State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
  38974. // The ID of the subnet in which the NAT gateway is located.
  38975. SubnetId *string `locationName:"subnetId" type:"string"`
  38976. // The ID of the VPC in which the NAT gateway is located.
  38977. VpcId *string `locationName:"vpcId" type:"string"`
  38978. }
  38979. // String returns the string representation
  38980. func (s NatGateway) String() string {
  38981. return awsutil.Prettify(s)
  38982. }
  38983. // GoString returns the string representation
  38984. func (s NatGateway) GoString() string {
  38985. return s.String()
  38986. }
  38987. // SetCreateTime sets the CreateTime field's value.
  38988. func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
  38989. s.CreateTime = &v
  38990. return s
  38991. }
  38992. // SetDeleteTime sets the DeleteTime field's value.
  38993. func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
  38994. s.DeleteTime = &v
  38995. return s
  38996. }
  38997. // SetFailureCode sets the FailureCode field's value.
  38998. func (s *NatGateway) SetFailureCode(v string) *NatGateway {
  38999. s.FailureCode = &v
  39000. return s
  39001. }
  39002. // SetFailureMessage sets the FailureMessage field's value.
  39003. func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
  39004. s.FailureMessage = &v
  39005. return s
  39006. }
  39007. // SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
  39008. func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
  39009. s.NatGatewayAddresses = v
  39010. return s
  39011. }
  39012. // SetNatGatewayId sets the NatGatewayId field's value.
  39013. func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
  39014. s.NatGatewayId = &v
  39015. return s
  39016. }
  39017. // SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
  39018. func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
  39019. s.ProvisionedBandwidth = v
  39020. return s
  39021. }
  39022. // SetState sets the State field's value.
  39023. func (s *NatGateway) SetState(v string) *NatGateway {
  39024. s.State = &v
  39025. return s
  39026. }
  39027. // SetSubnetId sets the SubnetId field's value.
  39028. func (s *NatGateway) SetSubnetId(v string) *NatGateway {
  39029. s.SubnetId = &v
  39030. return s
  39031. }
  39032. // SetVpcId sets the VpcId field's value.
  39033. func (s *NatGateway) SetVpcId(v string) *NatGateway {
  39034. s.VpcId = &v
  39035. return s
  39036. }
  39037. // Describes the IP addresses and network interface associated with a NAT gateway.
  39038. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGatewayAddress
  39039. type NatGatewayAddress struct {
  39040. _ struct{} `type:"structure"`
  39041. // The allocation ID of the Elastic IP address that's associated with the NAT
  39042. // gateway.
  39043. AllocationId *string `locationName:"allocationId" type:"string"`
  39044. // The ID of the network interface associated with the NAT gateway.
  39045. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  39046. // The private IP address associated with the Elastic IP address.
  39047. PrivateIp *string `locationName:"privateIp" type:"string"`
  39048. // The Elastic IP address associated with the NAT gateway.
  39049. PublicIp *string `locationName:"publicIp" type:"string"`
  39050. }
  39051. // String returns the string representation
  39052. func (s NatGatewayAddress) String() string {
  39053. return awsutil.Prettify(s)
  39054. }
  39055. // GoString returns the string representation
  39056. func (s NatGatewayAddress) GoString() string {
  39057. return s.String()
  39058. }
  39059. // SetAllocationId sets the AllocationId field's value.
  39060. func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
  39061. s.AllocationId = &v
  39062. return s
  39063. }
  39064. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  39065. func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
  39066. s.NetworkInterfaceId = &v
  39067. return s
  39068. }
  39069. // SetPrivateIp sets the PrivateIp field's value.
  39070. func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
  39071. s.PrivateIp = &v
  39072. return s
  39073. }
  39074. // SetPublicIp sets the PublicIp field's value.
  39075. func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
  39076. s.PublicIp = &v
  39077. return s
  39078. }
  39079. // Describes a network ACL.
  39080. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAcl
  39081. type NetworkAcl struct {
  39082. _ struct{} `type:"structure"`
  39083. // Any associations between the network ACL and one or more subnets
  39084. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  39085. // One or more entries (rules) in the network ACL.
  39086. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  39087. // Indicates whether this is the default network ACL for the VPC.
  39088. IsDefault *bool `locationName:"default" type:"boolean"`
  39089. // The ID of the network ACL.
  39090. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  39091. // Any tags assigned to the network ACL.
  39092. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  39093. // The ID of the VPC for the network ACL.
  39094. VpcId *string `locationName:"vpcId" type:"string"`
  39095. }
  39096. // String returns the string representation
  39097. func (s NetworkAcl) String() string {
  39098. return awsutil.Prettify(s)
  39099. }
  39100. // GoString returns the string representation
  39101. func (s NetworkAcl) GoString() string {
  39102. return s.String()
  39103. }
  39104. // SetAssociations sets the Associations field's value.
  39105. func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
  39106. s.Associations = v
  39107. return s
  39108. }
  39109. // SetEntries sets the Entries field's value.
  39110. func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
  39111. s.Entries = v
  39112. return s
  39113. }
  39114. // SetIsDefault sets the IsDefault field's value.
  39115. func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
  39116. s.IsDefault = &v
  39117. return s
  39118. }
  39119. // SetNetworkAclId sets the NetworkAclId field's value.
  39120. func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
  39121. s.NetworkAclId = &v
  39122. return s
  39123. }
  39124. // SetTags sets the Tags field's value.
  39125. func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
  39126. s.Tags = v
  39127. return s
  39128. }
  39129. // SetVpcId sets the VpcId field's value.
  39130. func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
  39131. s.VpcId = &v
  39132. return s
  39133. }
  39134. // Describes an association between a network ACL and a subnet.
  39135. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAclAssociation
  39136. type NetworkAclAssociation struct {
  39137. _ struct{} `type:"structure"`
  39138. // The ID of the association between a network ACL and a subnet.
  39139. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  39140. // The ID of the network ACL.
  39141. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  39142. // The ID of the subnet.
  39143. SubnetId *string `locationName:"subnetId" type:"string"`
  39144. }
  39145. // String returns the string representation
  39146. func (s NetworkAclAssociation) String() string {
  39147. return awsutil.Prettify(s)
  39148. }
  39149. // GoString returns the string representation
  39150. func (s NetworkAclAssociation) GoString() string {
  39151. return s.String()
  39152. }
  39153. // SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
  39154. func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
  39155. s.NetworkAclAssociationId = &v
  39156. return s
  39157. }
  39158. // SetNetworkAclId sets the NetworkAclId field's value.
  39159. func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
  39160. s.NetworkAclId = &v
  39161. return s
  39162. }
  39163. // SetSubnetId sets the SubnetId field's value.
  39164. func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
  39165. s.SubnetId = &v
  39166. return s
  39167. }
  39168. // Describes an entry in a network ACL.
  39169. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAclEntry
  39170. type NetworkAclEntry struct {
  39171. _ struct{} `type:"structure"`
  39172. // The IPv4 network range to allow or deny, in CIDR notation.
  39173. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  39174. // Indicates whether the rule is an egress rule (applied to traffic leaving
  39175. // the subnet).
  39176. Egress *bool `locationName:"egress" type:"boolean"`
  39177. // ICMP protocol: The ICMP type and code.
  39178. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  39179. // The IPv6 network range to allow or deny, in CIDR notation.
  39180. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  39181. // TCP or UDP protocols: The range of ports the rule applies to.
  39182. PortRange *PortRange `locationName:"portRange" type:"structure"`
  39183. // The protocol. A value of -1 means all protocols.
  39184. Protocol *string `locationName:"protocol" type:"string"`
  39185. // Indicates whether to allow or deny the traffic that matches the rule.
  39186. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  39187. // The rule number for the entry. ACL entries are processed in ascending order
  39188. // by rule number.
  39189. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  39190. }
  39191. // String returns the string representation
  39192. func (s NetworkAclEntry) String() string {
  39193. return awsutil.Prettify(s)
  39194. }
  39195. // GoString returns the string representation
  39196. func (s NetworkAclEntry) GoString() string {
  39197. return s.String()
  39198. }
  39199. // SetCidrBlock sets the CidrBlock field's value.
  39200. func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
  39201. s.CidrBlock = &v
  39202. return s
  39203. }
  39204. // SetEgress sets the Egress field's value.
  39205. func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
  39206. s.Egress = &v
  39207. return s
  39208. }
  39209. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  39210. func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
  39211. s.IcmpTypeCode = v
  39212. return s
  39213. }
  39214. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  39215. func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
  39216. s.Ipv6CidrBlock = &v
  39217. return s
  39218. }
  39219. // SetPortRange sets the PortRange field's value.
  39220. func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
  39221. s.PortRange = v
  39222. return s
  39223. }
  39224. // SetProtocol sets the Protocol field's value.
  39225. func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
  39226. s.Protocol = &v
  39227. return s
  39228. }
  39229. // SetRuleAction sets the RuleAction field's value.
  39230. func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
  39231. s.RuleAction = &v
  39232. return s
  39233. }
  39234. // SetRuleNumber sets the RuleNumber field's value.
  39235. func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
  39236. s.RuleNumber = &v
  39237. return s
  39238. }
  39239. // Describes a network interface.
  39240. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterface
  39241. type NetworkInterface struct {
  39242. _ struct{} `type:"structure"`
  39243. // The association information for an Elastic IP address (IPv4) associated with
  39244. // the network interface.
  39245. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  39246. // The network interface attachment.
  39247. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  39248. // The Availability Zone.
  39249. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  39250. // A description.
  39251. Description *string `locationName:"description" type:"string"`
  39252. // Any security groups for the network interface.
  39253. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  39254. // The type of interface.
  39255. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
  39256. // The IPv6 addresses associated with the network interface.
  39257. Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  39258. // The MAC address.
  39259. MacAddress *string `locationName:"macAddress" type:"string"`
  39260. // The ID of the network interface.
  39261. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  39262. // The AWS account ID of the owner of the network interface.
  39263. OwnerId *string `locationName:"ownerId" type:"string"`
  39264. // The private DNS name.
  39265. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  39266. // The IPv4 address of the network interface within the subnet.
  39267. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  39268. // The private IPv4 addresses associated with the network interface.
  39269. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  39270. // The ID of the entity that launched the instance on your behalf (for example,
  39271. // AWS Management Console or Auto Scaling).
  39272. RequesterId *string `locationName:"requesterId" type:"string"`
  39273. // Indicates whether the network interface is being managed by AWS.
  39274. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  39275. // Indicates whether traffic to or from the instance is validated.
  39276. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  39277. // The status of the network interface.
  39278. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  39279. // The ID of the subnet.
  39280. SubnetId *string `locationName:"subnetId" type:"string"`
  39281. // Any tags assigned to the network interface.
  39282. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  39283. // The ID of the VPC.
  39284. VpcId *string `locationName:"vpcId" type:"string"`
  39285. }
  39286. // String returns the string representation
  39287. func (s NetworkInterface) String() string {
  39288. return awsutil.Prettify(s)
  39289. }
  39290. // GoString returns the string representation
  39291. func (s NetworkInterface) GoString() string {
  39292. return s.String()
  39293. }
  39294. // SetAssociation sets the Association field's value.
  39295. func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
  39296. s.Association = v
  39297. return s
  39298. }
  39299. // SetAttachment sets the Attachment field's value.
  39300. func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
  39301. s.Attachment = v
  39302. return s
  39303. }
  39304. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39305. func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
  39306. s.AvailabilityZone = &v
  39307. return s
  39308. }
  39309. // SetDescription sets the Description field's value.
  39310. func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
  39311. s.Description = &v
  39312. return s
  39313. }
  39314. // SetGroups sets the Groups field's value.
  39315. func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
  39316. s.Groups = v
  39317. return s
  39318. }
  39319. // SetInterfaceType sets the InterfaceType field's value.
  39320. func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
  39321. s.InterfaceType = &v
  39322. return s
  39323. }
  39324. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  39325. func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
  39326. s.Ipv6Addresses = v
  39327. return s
  39328. }
  39329. // SetMacAddress sets the MacAddress field's value.
  39330. func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
  39331. s.MacAddress = &v
  39332. return s
  39333. }
  39334. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  39335. func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
  39336. s.NetworkInterfaceId = &v
  39337. return s
  39338. }
  39339. // SetOwnerId sets the OwnerId field's value.
  39340. func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
  39341. s.OwnerId = &v
  39342. return s
  39343. }
  39344. // SetPrivateDnsName sets the PrivateDnsName field's value.
  39345. func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
  39346. s.PrivateDnsName = &v
  39347. return s
  39348. }
  39349. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  39350. func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
  39351. s.PrivateIpAddress = &v
  39352. return s
  39353. }
  39354. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  39355. func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
  39356. s.PrivateIpAddresses = v
  39357. return s
  39358. }
  39359. // SetRequesterId sets the RequesterId field's value.
  39360. func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
  39361. s.RequesterId = &v
  39362. return s
  39363. }
  39364. // SetRequesterManaged sets the RequesterManaged field's value.
  39365. func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
  39366. s.RequesterManaged = &v
  39367. return s
  39368. }
  39369. // SetSourceDestCheck sets the SourceDestCheck field's value.
  39370. func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
  39371. s.SourceDestCheck = &v
  39372. return s
  39373. }
  39374. // SetStatus sets the Status field's value.
  39375. func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
  39376. s.Status = &v
  39377. return s
  39378. }
  39379. // SetSubnetId sets the SubnetId field's value.
  39380. func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
  39381. s.SubnetId = &v
  39382. return s
  39383. }
  39384. // SetTagSet sets the TagSet field's value.
  39385. func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
  39386. s.TagSet = v
  39387. return s
  39388. }
  39389. // SetVpcId sets the VpcId field's value.
  39390. func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
  39391. s.VpcId = &v
  39392. return s
  39393. }
  39394. // Describes association information for an Elastic IP address (IPv4 only).
  39395. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAssociation
  39396. type NetworkInterfaceAssociation struct {
  39397. _ struct{} `type:"structure"`
  39398. // The allocation ID.
  39399. AllocationId *string `locationName:"allocationId" type:"string"`
  39400. // The association ID.
  39401. AssociationId *string `locationName:"associationId" type:"string"`
  39402. // The ID of the Elastic IP address owner.
  39403. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  39404. // The public DNS name.
  39405. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  39406. // The address of the Elastic IP address bound to the network interface.
  39407. PublicIp *string `locationName:"publicIp" type:"string"`
  39408. }
  39409. // String returns the string representation
  39410. func (s NetworkInterfaceAssociation) String() string {
  39411. return awsutil.Prettify(s)
  39412. }
  39413. // GoString returns the string representation
  39414. func (s NetworkInterfaceAssociation) GoString() string {
  39415. return s.String()
  39416. }
  39417. // SetAllocationId sets the AllocationId field's value.
  39418. func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
  39419. s.AllocationId = &v
  39420. return s
  39421. }
  39422. // SetAssociationId sets the AssociationId field's value.
  39423. func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
  39424. s.AssociationId = &v
  39425. return s
  39426. }
  39427. // SetIpOwnerId sets the IpOwnerId field's value.
  39428. func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
  39429. s.IpOwnerId = &v
  39430. return s
  39431. }
  39432. // SetPublicDnsName sets the PublicDnsName field's value.
  39433. func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
  39434. s.PublicDnsName = &v
  39435. return s
  39436. }
  39437. // SetPublicIp sets the PublicIp field's value.
  39438. func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
  39439. s.PublicIp = &v
  39440. return s
  39441. }
  39442. // Describes a network interface attachment.
  39443. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAttachment
  39444. type NetworkInterfaceAttachment struct {
  39445. _ struct{} `type:"structure"`
  39446. // The timestamp indicating when the attachment initiated.
  39447. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  39448. // The ID of the network interface attachment.
  39449. AttachmentId *string `locationName:"attachmentId" type:"string"`
  39450. // Indicates whether the network interface is deleted when the instance is terminated.
  39451. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  39452. // The device index of the network interface attachment on the instance.
  39453. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  39454. // The ID of the instance.
  39455. InstanceId *string `locationName:"instanceId" type:"string"`
  39456. // The AWS account ID of the owner of the instance.
  39457. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  39458. // The attachment state.
  39459. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  39460. }
  39461. // String returns the string representation
  39462. func (s NetworkInterfaceAttachment) String() string {
  39463. return awsutil.Prettify(s)
  39464. }
  39465. // GoString returns the string representation
  39466. func (s NetworkInterfaceAttachment) GoString() string {
  39467. return s.String()
  39468. }
  39469. // SetAttachTime sets the AttachTime field's value.
  39470. func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
  39471. s.AttachTime = &v
  39472. return s
  39473. }
  39474. // SetAttachmentId sets the AttachmentId field's value.
  39475. func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
  39476. s.AttachmentId = &v
  39477. return s
  39478. }
  39479. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  39480. func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
  39481. s.DeleteOnTermination = &v
  39482. return s
  39483. }
  39484. // SetDeviceIndex sets the DeviceIndex field's value.
  39485. func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
  39486. s.DeviceIndex = &v
  39487. return s
  39488. }
  39489. // SetInstanceId sets the InstanceId field's value.
  39490. func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
  39491. s.InstanceId = &v
  39492. return s
  39493. }
  39494. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  39495. func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
  39496. s.InstanceOwnerId = &v
  39497. return s
  39498. }
  39499. // SetStatus sets the Status field's value.
  39500. func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
  39501. s.Status = &v
  39502. return s
  39503. }
  39504. // Describes an attachment change.
  39505. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAttachmentChanges
  39506. type NetworkInterfaceAttachmentChanges struct {
  39507. _ struct{} `type:"structure"`
  39508. // The ID of the network interface attachment.
  39509. AttachmentId *string `locationName:"attachmentId" type:"string"`
  39510. // Indicates whether the network interface is deleted when the instance is terminated.
  39511. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  39512. }
  39513. // String returns the string representation
  39514. func (s NetworkInterfaceAttachmentChanges) String() string {
  39515. return awsutil.Prettify(s)
  39516. }
  39517. // GoString returns the string representation
  39518. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  39519. return s.String()
  39520. }
  39521. // SetAttachmentId sets the AttachmentId field's value.
  39522. func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
  39523. s.AttachmentId = &v
  39524. return s
  39525. }
  39526. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  39527. func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
  39528. s.DeleteOnTermination = &v
  39529. return s
  39530. }
  39531. // Describes an IPv6 address associated with a network interface.
  39532. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceIpv6Address
  39533. type NetworkInterfaceIpv6Address struct {
  39534. _ struct{} `type:"structure"`
  39535. // The IPv6 address.
  39536. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  39537. }
  39538. // String returns the string representation
  39539. func (s NetworkInterfaceIpv6Address) String() string {
  39540. return awsutil.Prettify(s)
  39541. }
  39542. // GoString returns the string representation
  39543. func (s NetworkInterfaceIpv6Address) GoString() string {
  39544. return s.String()
  39545. }
  39546. // SetIpv6Address sets the Ipv6Address field's value.
  39547. func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
  39548. s.Ipv6Address = &v
  39549. return s
  39550. }
  39551. // Describes the private IPv4 address of a network interface.
  39552. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePrivateIpAddress
  39553. type NetworkInterfacePrivateIpAddress struct {
  39554. _ struct{} `type:"structure"`
  39555. // The association information for an Elastic IP address (IPv4) associated with
  39556. // the network interface.
  39557. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  39558. // Indicates whether this IPv4 address is the primary private IPv4 address of
  39559. // the network interface.
  39560. Primary *bool `locationName:"primary" type:"boolean"`
  39561. // The private DNS name.
  39562. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  39563. // The private IPv4 address.
  39564. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  39565. }
  39566. // String returns the string representation
  39567. func (s NetworkInterfacePrivateIpAddress) String() string {
  39568. return awsutil.Prettify(s)
  39569. }
  39570. // GoString returns the string representation
  39571. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  39572. return s.String()
  39573. }
  39574. // SetAssociation sets the Association field's value.
  39575. func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
  39576. s.Association = v
  39577. return s
  39578. }
  39579. // SetPrimary sets the Primary field's value.
  39580. func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
  39581. s.Primary = &v
  39582. return s
  39583. }
  39584. // SetPrivateDnsName sets the PrivateDnsName field's value.
  39585. func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
  39586. s.PrivateDnsName = &v
  39587. return s
  39588. }
  39589. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  39590. func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
  39591. s.PrivateIpAddress = &v
  39592. return s
  39593. }
  39594. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NewDhcpConfiguration
  39595. type NewDhcpConfiguration struct {
  39596. _ struct{} `type:"structure"`
  39597. Key *string `locationName:"key" type:"string"`
  39598. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  39599. }
  39600. // String returns the string representation
  39601. func (s NewDhcpConfiguration) String() string {
  39602. return awsutil.Prettify(s)
  39603. }
  39604. // GoString returns the string representation
  39605. func (s NewDhcpConfiguration) GoString() string {
  39606. return s.String()
  39607. }
  39608. // SetKey sets the Key field's value.
  39609. func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
  39610. s.Key = &v
  39611. return s
  39612. }
  39613. // SetValues sets the Values field's value.
  39614. func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
  39615. s.Values = v
  39616. return s
  39617. }
  39618. // Describes the VPC peering connection options.
  39619. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PeeringConnectionOptions
  39620. type PeeringConnectionOptions struct {
  39621. _ struct{} `type:"structure"`
  39622. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  39623. // addresses when queried from instances in the peer VPC.
  39624. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  39625. // If true, enables outbound communication from an EC2-Classic instance that's
  39626. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  39627. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  39628. // If true, enables outbound communication from instances in a local VPC to
  39629. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  39630. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  39631. }
  39632. // String returns the string representation
  39633. func (s PeeringConnectionOptions) String() string {
  39634. return awsutil.Prettify(s)
  39635. }
  39636. // GoString returns the string representation
  39637. func (s PeeringConnectionOptions) GoString() string {
  39638. return s.String()
  39639. }
  39640. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  39641. func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
  39642. s.AllowDnsResolutionFromRemoteVpc = &v
  39643. return s
  39644. }
  39645. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  39646. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
  39647. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  39648. return s
  39649. }
  39650. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  39651. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
  39652. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  39653. return s
  39654. }
  39655. // The VPC peering connection options.
  39656. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PeeringConnectionOptionsRequest
  39657. type PeeringConnectionOptionsRequest struct {
  39658. _ struct{} `type:"structure"`
  39659. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  39660. // addresses when queried from instances in the peer VPC.
  39661. AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
  39662. // If true, enables outbound communication from an EC2-Classic instance that's
  39663. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  39664. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
  39665. // If true, enables outbound communication from instances in a local VPC to
  39666. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  39667. AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
  39668. }
  39669. // String returns the string representation
  39670. func (s PeeringConnectionOptionsRequest) String() string {
  39671. return awsutil.Prettify(s)
  39672. }
  39673. // GoString returns the string representation
  39674. func (s PeeringConnectionOptionsRequest) GoString() string {
  39675. return s.String()
  39676. }
  39677. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  39678. func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  39679. s.AllowDnsResolutionFromRemoteVpc = &v
  39680. return s
  39681. }
  39682. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  39683. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  39684. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  39685. return s
  39686. }
  39687. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  39688. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
  39689. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  39690. return s
  39691. }
  39692. // Describes the placement of an instance.
  39693. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Placement
  39694. type Placement struct {
  39695. _ struct{} `type:"structure"`
  39696. // The affinity setting for the instance on the Dedicated Host. This parameter
  39697. // is not supported for the ImportInstance command.
  39698. Affinity *string `locationName:"affinity" type:"string"`
  39699. // The Availability Zone of the instance.
  39700. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  39701. // The name of the placement group the instance is in (for cluster compute instances).
  39702. GroupName *string `locationName:"groupName" type:"string"`
  39703. // The ID of the Dedicated Host on which the instance resides. This parameter
  39704. // is not supported for the ImportInstance command.
  39705. HostId *string `locationName:"hostId" type:"string"`
  39706. // The tenancy of the instance (if the instance is running in a VPC). An instance
  39707. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  39708. // is not supported for the ImportInstance command.
  39709. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  39710. }
  39711. // String returns the string representation
  39712. func (s Placement) String() string {
  39713. return awsutil.Prettify(s)
  39714. }
  39715. // GoString returns the string representation
  39716. func (s Placement) GoString() string {
  39717. return s.String()
  39718. }
  39719. // SetAffinity sets the Affinity field's value.
  39720. func (s *Placement) SetAffinity(v string) *Placement {
  39721. s.Affinity = &v
  39722. return s
  39723. }
  39724. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39725. func (s *Placement) SetAvailabilityZone(v string) *Placement {
  39726. s.AvailabilityZone = &v
  39727. return s
  39728. }
  39729. // SetGroupName sets the GroupName field's value.
  39730. func (s *Placement) SetGroupName(v string) *Placement {
  39731. s.GroupName = &v
  39732. return s
  39733. }
  39734. // SetHostId sets the HostId field's value.
  39735. func (s *Placement) SetHostId(v string) *Placement {
  39736. s.HostId = &v
  39737. return s
  39738. }
  39739. // SetTenancy sets the Tenancy field's value.
  39740. func (s *Placement) SetTenancy(v string) *Placement {
  39741. s.Tenancy = &v
  39742. return s
  39743. }
  39744. // Describes a placement group.
  39745. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PlacementGroup
  39746. type PlacementGroup struct {
  39747. _ struct{} `type:"structure"`
  39748. // The name of the placement group.
  39749. GroupName *string `locationName:"groupName" type:"string"`
  39750. // The state of the placement group.
  39751. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  39752. // The placement strategy.
  39753. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  39754. }
  39755. // String returns the string representation
  39756. func (s PlacementGroup) String() string {
  39757. return awsutil.Prettify(s)
  39758. }
  39759. // GoString returns the string representation
  39760. func (s PlacementGroup) GoString() string {
  39761. return s.String()
  39762. }
  39763. // SetGroupName sets the GroupName field's value.
  39764. func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
  39765. s.GroupName = &v
  39766. return s
  39767. }
  39768. // SetState sets the State field's value.
  39769. func (s *PlacementGroup) SetState(v string) *PlacementGroup {
  39770. s.State = &v
  39771. return s
  39772. }
  39773. // SetStrategy sets the Strategy field's value.
  39774. func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
  39775. s.Strategy = &v
  39776. return s
  39777. }
  39778. // Describes a range of ports.
  39779. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PortRange
  39780. type PortRange struct {
  39781. _ struct{} `type:"structure"`
  39782. // The first port in the range.
  39783. From *int64 `locationName:"from" type:"integer"`
  39784. // The last port in the range.
  39785. To *int64 `locationName:"to" type:"integer"`
  39786. }
  39787. // String returns the string representation
  39788. func (s PortRange) String() string {
  39789. return awsutil.Prettify(s)
  39790. }
  39791. // GoString returns the string representation
  39792. func (s PortRange) GoString() string {
  39793. return s.String()
  39794. }
  39795. // SetFrom sets the From field's value.
  39796. func (s *PortRange) SetFrom(v int64) *PortRange {
  39797. s.From = &v
  39798. return s
  39799. }
  39800. // SetTo sets the To field's value.
  39801. func (s *PortRange) SetTo(v int64) *PortRange {
  39802. s.To = &v
  39803. return s
  39804. }
  39805. // Describes prefixes for AWS services.
  39806. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixList
  39807. type PrefixList struct {
  39808. _ struct{} `type:"structure"`
  39809. // The IP address range of the AWS service.
  39810. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  39811. // The ID of the prefix.
  39812. PrefixListId *string `locationName:"prefixListId" type:"string"`
  39813. // The name of the prefix.
  39814. PrefixListName *string `locationName:"prefixListName" type:"string"`
  39815. }
  39816. // String returns the string representation
  39817. func (s PrefixList) String() string {
  39818. return awsutil.Prettify(s)
  39819. }
  39820. // GoString returns the string representation
  39821. func (s PrefixList) GoString() string {
  39822. return s.String()
  39823. }
  39824. // SetCidrs sets the Cidrs field's value.
  39825. func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
  39826. s.Cidrs = v
  39827. return s
  39828. }
  39829. // SetPrefixListId sets the PrefixListId field's value.
  39830. func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
  39831. s.PrefixListId = &v
  39832. return s
  39833. }
  39834. // SetPrefixListName sets the PrefixListName field's value.
  39835. func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
  39836. s.PrefixListName = &v
  39837. return s
  39838. }
  39839. // The ID of the prefix.
  39840. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixListId
  39841. type PrefixListId struct {
  39842. _ struct{} `type:"structure"`
  39843. // The ID of the prefix.
  39844. PrefixListId *string `locationName:"prefixListId" type:"string"`
  39845. }
  39846. // String returns the string representation
  39847. func (s PrefixListId) String() string {
  39848. return awsutil.Prettify(s)
  39849. }
  39850. // GoString returns the string representation
  39851. func (s PrefixListId) GoString() string {
  39852. return s.String()
  39853. }
  39854. // SetPrefixListId sets the PrefixListId field's value.
  39855. func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
  39856. s.PrefixListId = &v
  39857. return s
  39858. }
  39859. // Describes the price for a Reserved Instance.
  39860. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PriceSchedule
  39861. type PriceSchedule struct {
  39862. _ struct{} `type:"structure"`
  39863. // The current price schedule, as determined by the term remaining for the Reserved
  39864. // Instance in the listing.
  39865. //
  39866. // A specific price schedule is always in effect, but only one price schedule
  39867. // can be active at any time. Take, for example, a Reserved Instance listing
  39868. // that has five months remaining in its term. When you specify price schedules
  39869. // for five months and two months, this means that schedule 1, covering the
  39870. // first three months of the remaining term, will be active during months 5,
  39871. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  39872. // be active for months 2 and 1.
  39873. Active *bool `locationName:"active" type:"boolean"`
  39874. // The currency for transacting the Reserved Instance resale. At this time,
  39875. // the only supported currency is USD.
  39876. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  39877. // The fixed price for the term.
  39878. Price *float64 `locationName:"price" type:"double"`
  39879. // The number of months remaining in the reservation. For example, 2 is the
  39880. // second to the last month before the capacity reservation expires.
  39881. Term *int64 `locationName:"term" type:"long"`
  39882. }
  39883. // String returns the string representation
  39884. func (s PriceSchedule) String() string {
  39885. return awsutil.Prettify(s)
  39886. }
  39887. // GoString returns the string representation
  39888. func (s PriceSchedule) GoString() string {
  39889. return s.String()
  39890. }
  39891. // SetActive sets the Active field's value.
  39892. func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
  39893. s.Active = &v
  39894. return s
  39895. }
  39896. // SetCurrencyCode sets the CurrencyCode field's value.
  39897. func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
  39898. s.CurrencyCode = &v
  39899. return s
  39900. }
  39901. // SetPrice sets the Price field's value.
  39902. func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
  39903. s.Price = &v
  39904. return s
  39905. }
  39906. // SetTerm sets the Term field's value.
  39907. func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
  39908. s.Term = &v
  39909. return s
  39910. }
  39911. // Describes the price for a Reserved Instance.
  39912. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PriceScheduleSpecification
  39913. type PriceScheduleSpecification struct {
  39914. _ struct{} `type:"structure"`
  39915. // The currency for transacting the Reserved Instance resale. At this time,
  39916. // the only supported currency is USD.
  39917. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  39918. // The fixed price for the term.
  39919. Price *float64 `locationName:"price" type:"double"`
  39920. // The number of months remaining in the reservation. For example, 2 is the
  39921. // second to the last month before the capacity reservation expires.
  39922. Term *int64 `locationName:"term" type:"long"`
  39923. }
  39924. // String returns the string representation
  39925. func (s PriceScheduleSpecification) String() string {
  39926. return awsutil.Prettify(s)
  39927. }
  39928. // GoString returns the string representation
  39929. func (s PriceScheduleSpecification) GoString() string {
  39930. return s.String()
  39931. }
  39932. // SetCurrencyCode sets the CurrencyCode field's value.
  39933. func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
  39934. s.CurrencyCode = &v
  39935. return s
  39936. }
  39937. // SetPrice sets the Price field's value.
  39938. func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
  39939. s.Price = &v
  39940. return s
  39941. }
  39942. // SetTerm sets the Term field's value.
  39943. func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
  39944. s.Term = &v
  39945. return s
  39946. }
  39947. // Describes a Reserved Instance offering.
  39948. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PricingDetail
  39949. type PricingDetail struct {
  39950. _ struct{} `type:"structure"`
  39951. // The number of reservations available for the price.
  39952. Count *int64 `locationName:"count" type:"integer"`
  39953. // The price per instance.
  39954. Price *float64 `locationName:"price" type:"double"`
  39955. }
  39956. // String returns the string representation
  39957. func (s PricingDetail) String() string {
  39958. return awsutil.Prettify(s)
  39959. }
  39960. // GoString returns the string representation
  39961. func (s PricingDetail) GoString() string {
  39962. return s.String()
  39963. }
  39964. // SetCount sets the Count field's value.
  39965. func (s *PricingDetail) SetCount(v int64) *PricingDetail {
  39966. s.Count = &v
  39967. return s
  39968. }
  39969. // SetPrice sets the Price field's value.
  39970. func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
  39971. s.Price = &v
  39972. return s
  39973. }
  39974. // Describes a secondary private IPv4 address for a network interface.
  39975. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrivateIpAddressSpecification
  39976. type PrivateIpAddressSpecification struct {
  39977. _ struct{} `type:"structure"`
  39978. // Indicates whether the private IPv4 address is the primary private IPv4 address.
  39979. // Only one IPv4 address can be designated as primary.
  39980. Primary *bool `locationName:"primary" type:"boolean"`
  39981. // The private IPv4 addresses.
  39982. //
  39983. // PrivateIpAddress is a required field
  39984. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
  39985. }
  39986. // String returns the string representation
  39987. func (s PrivateIpAddressSpecification) String() string {
  39988. return awsutil.Prettify(s)
  39989. }
  39990. // GoString returns the string representation
  39991. func (s PrivateIpAddressSpecification) GoString() string {
  39992. return s.String()
  39993. }
  39994. // Validate inspects the fields of the type to determine if they are valid.
  39995. func (s *PrivateIpAddressSpecification) Validate() error {
  39996. invalidParams := request.ErrInvalidParams{Context: "PrivateIpAddressSpecification"}
  39997. if s.PrivateIpAddress == nil {
  39998. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddress"))
  39999. }
  40000. if invalidParams.Len() > 0 {
  40001. return invalidParams
  40002. }
  40003. return nil
  40004. }
  40005. // SetPrimary sets the Primary field's value.
  40006. func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
  40007. s.Primary = &v
  40008. return s
  40009. }
  40010. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  40011. func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
  40012. s.PrivateIpAddress = &v
  40013. return s
  40014. }
  40015. // Describes a product code.
  40016. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProductCode
  40017. type ProductCode struct {
  40018. _ struct{} `type:"structure"`
  40019. // The product code.
  40020. ProductCodeId *string `locationName:"productCode" type:"string"`
  40021. // The type of product code.
  40022. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  40023. }
  40024. // String returns the string representation
  40025. func (s ProductCode) String() string {
  40026. return awsutil.Prettify(s)
  40027. }
  40028. // GoString returns the string representation
  40029. func (s ProductCode) GoString() string {
  40030. return s.String()
  40031. }
  40032. // SetProductCodeId sets the ProductCodeId field's value.
  40033. func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
  40034. s.ProductCodeId = &v
  40035. return s
  40036. }
  40037. // SetProductCodeType sets the ProductCodeType field's value.
  40038. func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
  40039. s.ProductCodeType = &v
  40040. return s
  40041. }
  40042. // Describes a virtual private gateway propagating route.
  40043. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PropagatingVgw
  40044. type PropagatingVgw struct {
  40045. _ struct{} `type:"structure"`
  40046. // The ID of the virtual private gateway (VGW).
  40047. GatewayId *string `locationName:"gatewayId" type:"string"`
  40048. }
  40049. // String returns the string representation
  40050. func (s PropagatingVgw) String() string {
  40051. return awsutil.Prettify(s)
  40052. }
  40053. // GoString returns the string representation
  40054. func (s PropagatingVgw) GoString() string {
  40055. return s.String()
  40056. }
  40057. // SetGatewayId sets the GatewayId field's value.
  40058. func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
  40059. s.GatewayId = &v
  40060. return s
  40061. }
  40062. // Reserved. If you need to sustain traffic greater than the documented limits
  40063. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40064. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40065. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionedBandwidth
  40066. type ProvisionedBandwidth struct {
  40067. _ struct{} `type:"structure"`
  40068. // Reserved. If you need to sustain traffic greater than the documented limits
  40069. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40070. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40071. ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp" timestampFormat:"iso8601"`
  40072. // Reserved. If you need to sustain traffic greater than the documented limits
  40073. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40074. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40075. Provisioned *string `locationName:"provisioned" type:"string"`
  40076. // Reserved. If you need to sustain traffic greater than the documented limits
  40077. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40078. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40079. RequestTime *time.Time `locationName:"requestTime" type:"timestamp" timestampFormat:"iso8601"`
  40080. // Reserved. If you need to sustain traffic greater than the documented limits
  40081. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40082. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40083. Requested *string `locationName:"requested" type:"string"`
  40084. // Reserved. If you need to sustain traffic greater than the documented limits
  40085. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40086. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40087. Status *string `locationName:"status" type:"string"`
  40088. }
  40089. // String returns the string representation
  40090. func (s ProvisionedBandwidth) String() string {
  40091. return awsutil.Prettify(s)
  40092. }
  40093. // GoString returns the string representation
  40094. func (s ProvisionedBandwidth) GoString() string {
  40095. return s.String()
  40096. }
  40097. // SetProvisionTime sets the ProvisionTime field's value.
  40098. func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
  40099. s.ProvisionTime = &v
  40100. return s
  40101. }
  40102. // SetProvisioned sets the Provisioned field's value.
  40103. func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
  40104. s.Provisioned = &v
  40105. return s
  40106. }
  40107. // SetRequestTime sets the RequestTime field's value.
  40108. func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
  40109. s.RequestTime = &v
  40110. return s
  40111. }
  40112. // SetRequested sets the Requested field's value.
  40113. func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
  40114. s.Requested = &v
  40115. return s
  40116. }
  40117. // SetStatus sets the Status field's value.
  40118. func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
  40119. s.Status = &v
  40120. return s
  40121. }
  40122. // Describes the result of the purchase.
  40123. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Purchase
  40124. type Purchase struct {
  40125. _ struct{} `type:"structure"`
  40126. // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
  40127. // At this time, the only supported currency is USD.
  40128. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  40129. // The duration of the reservation's term in seconds.
  40130. Duration *int64 `locationName:"duration" type:"integer"`
  40131. // The IDs of the Dedicated Hosts associated with the reservation.
  40132. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  40133. // The ID of the reservation.
  40134. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  40135. // The hourly price of the reservation per hour.
  40136. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  40137. // The instance family on the Dedicated Host that the reservation can be associated
  40138. // with.
  40139. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  40140. // The payment option for the reservation.
  40141. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  40142. // The upfront price of the reservation.
  40143. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  40144. }
  40145. // String returns the string representation
  40146. func (s Purchase) String() string {
  40147. return awsutil.Prettify(s)
  40148. }
  40149. // GoString returns the string representation
  40150. func (s Purchase) GoString() string {
  40151. return s.String()
  40152. }
  40153. // SetCurrencyCode sets the CurrencyCode field's value.
  40154. func (s *Purchase) SetCurrencyCode(v string) *Purchase {
  40155. s.CurrencyCode = &v
  40156. return s
  40157. }
  40158. // SetDuration sets the Duration field's value.
  40159. func (s *Purchase) SetDuration(v int64) *Purchase {
  40160. s.Duration = &v
  40161. return s
  40162. }
  40163. // SetHostIdSet sets the HostIdSet field's value.
  40164. func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
  40165. s.HostIdSet = v
  40166. return s
  40167. }
  40168. // SetHostReservationId sets the HostReservationId field's value.
  40169. func (s *Purchase) SetHostReservationId(v string) *Purchase {
  40170. s.HostReservationId = &v
  40171. return s
  40172. }
  40173. // SetHourlyPrice sets the HourlyPrice field's value.
  40174. func (s *Purchase) SetHourlyPrice(v string) *Purchase {
  40175. s.HourlyPrice = &v
  40176. return s
  40177. }
  40178. // SetInstanceFamily sets the InstanceFamily field's value.
  40179. func (s *Purchase) SetInstanceFamily(v string) *Purchase {
  40180. s.InstanceFamily = &v
  40181. return s
  40182. }
  40183. // SetPaymentOption sets the PaymentOption field's value.
  40184. func (s *Purchase) SetPaymentOption(v string) *Purchase {
  40185. s.PaymentOption = &v
  40186. return s
  40187. }
  40188. // SetUpfrontPrice sets the UpfrontPrice field's value.
  40189. func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
  40190. s.UpfrontPrice = &v
  40191. return s
  40192. }
  40193. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservationRequest
  40194. type PurchaseHostReservationInput struct {
  40195. _ struct{} `type:"structure"`
  40196. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  40197. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  40198. // in the Amazon Elastic Compute Cloud User Guide.
  40199. ClientToken *string `type:"string"`
  40200. // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
  40201. // amounts are specified. At this time, the only supported currency is USD.
  40202. CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
  40203. // The ID/s of the Dedicated Host/s that the reservation will be associated
  40204. // with.
  40205. //
  40206. // HostIdSet is a required field
  40207. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  40208. // The specified limit is checked against the total upfront cost of the reservation
  40209. // (calculated as the offering's upfront cost multiplied by the host count).
  40210. // If the total upfront cost is greater than the specified price limit, the
  40211. // request will fail. This is used to ensure that the purchase does not exceed
  40212. // the expected upfront cost of the purchase. At this time, the only supported
  40213. // currency is USD. For example, to indicate a limit price of USD 100, specify
  40214. // 100.00.
  40215. LimitPrice *string `type:"string"`
  40216. // The ID of the offering.
  40217. //
  40218. // OfferingId is a required field
  40219. OfferingId *string `type:"string" required:"true"`
  40220. }
  40221. // String returns the string representation
  40222. func (s PurchaseHostReservationInput) String() string {
  40223. return awsutil.Prettify(s)
  40224. }
  40225. // GoString returns the string representation
  40226. func (s PurchaseHostReservationInput) GoString() string {
  40227. return s.String()
  40228. }
  40229. // Validate inspects the fields of the type to determine if they are valid.
  40230. func (s *PurchaseHostReservationInput) Validate() error {
  40231. invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
  40232. if s.HostIdSet == nil {
  40233. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  40234. }
  40235. if s.OfferingId == nil {
  40236. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  40237. }
  40238. if invalidParams.Len() > 0 {
  40239. return invalidParams
  40240. }
  40241. return nil
  40242. }
  40243. // SetClientToken sets the ClientToken field's value.
  40244. func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
  40245. s.ClientToken = &v
  40246. return s
  40247. }
  40248. // SetCurrencyCode sets the CurrencyCode field's value.
  40249. func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
  40250. s.CurrencyCode = &v
  40251. return s
  40252. }
  40253. // SetHostIdSet sets the HostIdSet field's value.
  40254. func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
  40255. s.HostIdSet = v
  40256. return s
  40257. }
  40258. // SetLimitPrice sets the LimitPrice field's value.
  40259. func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
  40260. s.LimitPrice = &v
  40261. return s
  40262. }
  40263. // SetOfferingId sets the OfferingId field's value.
  40264. func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
  40265. s.OfferingId = &v
  40266. return s
  40267. }
  40268. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservationResult
  40269. type PurchaseHostReservationOutput struct {
  40270. _ struct{} `type:"structure"`
  40271. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  40272. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  40273. // in the Amazon Elastic Compute Cloud User Guide
  40274. ClientToken *string `locationName:"clientToken" type:"string"`
  40275. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  40276. // are specified. At this time, the only supported currency is USD.
  40277. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  40278. // Describes the details of the purchase.
  40279. Purchase []*Purchase `locationName:"purchase" type:"list"`
  40280. // The total hourly price of the reservation calculated per hour.
  40281. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  40282. // The total amount that will be charged to your account when you purchase the
  40283. // reservation.
  40284. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  40285. }
  40286. // String returns the string representation
  40287. func (s PurchaseHostReservationOutput) String() string {
  40288. return awsutil.Prettify(s)
  40289. }
  40290. // GoString returns the string representation
  40291. func (s PurchaseHostReservationOutput) GoString() string {
  40292. return s.String()
  40293. }
  40294. // SetClientToken sets the ClientToken field's value.
  40295. func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
  40296. s.ClientToken = &v
  40297. return s
  40298. }
  40299. // SetCurrencyCode sets the CurrencyCode field's value.
  40300. func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
  40301. s.CurrencyCode = &v
  40302. return s
  40303. }
  40304. // SetPurchase sets the Purchase field's value.
  40305. func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
  40306. s.Purchase = v
  40307. return s
  40308. }
  40309. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  40310. func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
  40311. s.TotalHourlyPrice = &v
  40312. return s
  40313. }
  40314. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  40315. func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
  40316. s.TotalUpfrontPrice = &v
  40317. return s
  40318. }
  40319. // Describes a request to purchase Scheduled Instances.
  40320. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseRequest
  40321. type PurchaseRequest struct {
  40322. _ struct{} `type:"structure"`
  40323. // The number of instances.
  40324. //
  40325. // InstanceCount is a required field
  40326. InstanceCount *int64 `type:"integer" required:"true"`
  40327. // The purchase token.
  40328. //
  40329. // PurchaseToken is a required field
  40330. PurchaseToken *string `type:"string" required:"true"`
  40331. }
  40332. // String returns the string representation
  40333. func (s PurchaseRequest) String() string {
  40334. return awsutil.Prettify(s)
  40335. }
  40336. // GoString returns the string representation
  40337. func (s PurchaseRequest) GoString() string {
  40338. return s.String()
  40339. }
  40340. // Validate inspects the fields of the type to determine if they are valid.
  40341. func (s *PurchaseRequest) Validate() error {
  40342. invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
  40343. if s.InstanceCount == nil {
  40344. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  40345. }
  40346. if s.PurchaseToken == nil {
  40347. invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
  40348. }
  40349. if invalidParams.Len() > 0 {
  40350. return invalidParams
  40351. }
  40352. return nil
  40353. }
  40354. // SetInstanceCount sets the InstanceCount field's value.
  40355. func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
  40356. s.InstanceCount = &v
  40357. return s
  40358. }
  40359. // SetPurchaseToken sets the PurchaseToken field's value.
  40360. func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
  40361. s.PurchaseToken = &v
  40362. return s
  40363. }
  40364. // Contains the parameters for PurchaseReservedInstancesOffering.
  40365. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOfferingRequest
  40366. type PurchaseReservedInstancesOfferingInput struct {
  40367. _ struct{} `type:"structure"`
  40368. // Checks whether you have the required permissions for the action, without
  40369. // actually making the request, and provides an error response. If you have
  40370. // the required permissions, the error response is DryRunOperation. Otherwise,
  40371. // it is UnauthorizedOperation.
  40372. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40373. // The number of Reserved Instances to purchase.
  40374. //
  40375. // InstanceCount is a required field
  40376. InstanceCount *int64 `type:"integer" required:"true"`
  40377. // Specified for Reserved Instance Marketplace offerings to limit the total
  40378. // order and ensure that the Reserved Instances are not purchased at unexpected
  40379. // prices.
  40380. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  40381. // The ID of the Reserved Instance offering to purchase.
  40382. //
  40383. // ReservedInstancesOfferingId is a required field
  40384. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  40385. }
  40386. // String returns the string representation
  40387. func (s PurchaseReservedInstancesOfferingInput) String() string {
  40388. return awsutil.Prettify(s)
  40389. }
  40390. // GoString returns the string representation
  40391. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  40392. return s.String()
  40393. }
  40394. // Validate inspects the fields of the type to determine if they are valid.
  40395. func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
  40396. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
  40397. if s.InstanceCount == nil {
  40398. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  40399. }
  40400. if s.ReservedInstancesOfferingId == nil {
  40401. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
  40402. }
  40403. if invalidParams.Len() > 0 {
  40404. return invalidParams
  40405. }
  40406. return nil
  40407. }
  40408. // SetDryRun sets the DryRun field's value.
  40409. func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
  40410. s.DryRun = &v
  40411. return s
  40412. }
  40413. // SetInstanceCount sets the InstanceCount field's value.
  40414. func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
  40415. s.InstanceCount = &v
  40416. return s
  40417. }
  40418. // SetLimitPrice sets the LimitPrice field's value.
  40419. func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
  40420. s.LimitPrice = v
  40421. return s
  40422. }
  40423. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  40424. func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
  40425. s.ReservedInstancesOfferingId = &v
  40426. return s
  40427. }
  40428. // Contains the output of PurchaseReservedInstancesOffering.
  40429. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOfferingResult
  40430. type PurchaseReservedInstancesOfferingOutput struct {
  40431. _ struct{} `type:"structure"`
  40432. // The IDs of the purchased Reserved Instances.
  40433. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  40434. }
  40435. // String returns the string representation
  40436. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  40437. return awsutil.Prettify(s)
  40438. }
  40439. // GoString returns the string representation
  40440. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  40441. return s.String()
  40442. }
  40443. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  40444. func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
  40445. s.ReservedInstancesId = &v
  40446. return s
  40447. }
  40448. // Contains the parameters for PurchaseScheduledInstances.
  40449. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstancesRequest
  40450. type PurchaseScheduledInstancesInput struct {
  40451. _ struct{} `type:"structure"`
  40452. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  40453. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  40454. ClientToken *string `type:"string" idempotencyToken:"true"`
  40455. // Checks whether you have the required permissions for the action, without
  40456. // actually making the request, and provides an error response. If you have
  40457. // the required permissions, the error response is DryRunOperation. Otherwise,
  40458. // it is UnauthorizedOperation.
  40459. DryRun *bool `type:"boolean"`
  40460. // One or more purchase requests.
  40461. //
  40462. // PurchaseRequests is a required field
  40463. PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
  40464. }
  40465. // String returns the string representation
  40466. func (s PurchaseScheduledInstancesInput) String() string {
  40467. return awsutil.Prettify(s)
  40468. }
  40469. // GoString returns the string representation
  40470. func (s PurchaseScheduledInstancesInput) GoString() string {
  40471. return s.String()
  40472. }
  40473. // Validate inspects the fields of the type to determine if they are valid.
  40474. func (s *PurchaseScheduledInstancesInput) Validate() error {
  40475. invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
  40476. if s.PurchaseRequests == nil {
  40477. invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
  40478. }
  40479. if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
  40480. invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
  40481. }
  40482. if s.PurchaseRequests != nil {
  40483. for i, v := range s.PurchaseRequests {
  40484. if v == nil {
  40485. continue
  40486. }
  40487. if err := v.Validate(); err != nil {
  40488. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
  40489. }
  40490. }
  40491. }
  40492. if invalidParams.Len() > 0 {
  40493. return invalidParams
  40494. }
  40495. return nil
  40496. }
  40497. // SetClientToken sets the ClientToken field's value.
  40498. func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
  40499. s.ClientToken = &v
  40500. return s
  40501. }
  40502. // SetDryRun sets the DryRun field's value.
  40503. func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
  40504. s.DryRun = &v
  40505. return s
  40506. }
  40507. // SetPurchaseRequests sets the PurchaseRequests field's value.
  40508. func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
  40509. s.PurchaseRequests = v
  40510. return s
  40511. }
  40512. // Contains the output of PurchaseScheduledInstances.
  40513. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstancesResult
  40514. type PurchaseScheduledInstancesOutput struct {
  40515. _ struct{} `type:"structure"`
  40516. // Information about the Scheduled Instances.
  40517. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  40518. }
  40519. // String returns the string representation
  40520. func (s PurchaseScheduledInstancesOutput) String() string {
  40521. return awsutil.Prettify(s)
  40522. }
  40523. // GoString returns the string representation
  40524. func (s PurchaseScheduledInstancesOutput) GoString() string {
  40525. return s.String()
  40526. }
  40527. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  40528. func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
  40529. s.ScheduledInstanceSet = v
  40530. return s
  40531. }
  40532. // Contains the parameters for RebootInstances.
  40533. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstancesRequest
  40534. type RebootInstancesInput struct {
  40535. _ struct{} `type:"structure"`
  40536. // Checks whether you have the required permissions for the action, without
  40537. // actually making the request, and provides an error response. If you have
  40538. // the required permissions, the error response is DryRunOperation. Otherwise,
  40539. // it is UnauthorizedOperation.
  40540. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40541. // One or more instance IDs.
  40542. //
  40543. // InstanceIds is a required field
  40544. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  40545. }
  40546. // String returns the string representation
  40547. func (s RebootInstancesInput) String() string {
  40548. return awsutil.Prettify(s)
  40549. }
  40550. // GoString returns the string representation
  40551. func (s RebootInstancesInput) GoString() string {
  40552. return s.String()
  40553. }
  40554. // Validate inspects the fields of the type to determine if they are valid.
  40555. func (s *RebootInstancesInput) Validate() error {
  40556. invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
  40557. if s.InstanceIds == nil {
  40558. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  40559. }
  40560. if invalidParams.Len() > 0 {
  40561. return invalidParams
  40562. }
  40563. return nil
  40564. }
  40565. // SetDryRun sets the DryRun field's value.
  40566. func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
  40567. s.DryRun = &v
  40568. return s
  40569. }
  40570. // SetInstanceIds sets the InstanceIds field's value.
  40571. func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
  40572. s.InstanceIds = v
  40573. return s
  40574. }
  40575. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstancesOutput
  40576. type RebootInstancesOutput struct {
  40577. _ struct{} `type:"structure"`
  40578. }
  40579. // String returns the string representation
  40580. func (s RebootInstancesOutput) String() string {
  40581. return awsutil.Prettify(s)
  40582. }
  40583. // GoString returns the string representation
  40584. func (s RebootInstancesOutput) GoString() string {
  40585. return s.String()
  40586. }
  40587. // Describes a recurring charge.
  40588. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RecurringCharge
  40589. type RecurringCharge struct {
  40590. _ struct{} `type:"structure"`
  40591. // The amount of the recurring charge.
  40592. Amount *float64 `locationName:"amount" type:"double"`
  40593. // The frequency of the recurring charge.
  40594. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  40595. }
  40596. // String returns the string representation
  40597. func (s RecurringCharge) String() string {
  40598. return awsutil.Prettify(s)
  40599. }
  40600. // GoString returns the string representation
  40601. func (s RecurringCharge) GoString() string {
  40602. return s.String()
  40603. }
  40604. // SetAmount sets the Amount field's value.
  40605. func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
  40606. s.Amount = &v
  40607. return s
  40608. }
  40609. // SetFrequency sets the Frequency field's value.
  40610. func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
  40611. s.Frequency = &v
  40612. return s
  40613. }
  40614. // Describes a region.
  40615. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Region
  40616. type Region struct {
  40617. _ struct{} `type:"structure"`
  40618. // The region service endpoint.
  40619. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  40620. // The name of the region.
  40621. RegionName *string `locationName:"regionName" type:"string"`
  40622. }
  40623. // String returns the string representation
  40624. func (s Region) String() string {
  40625. return awsutil.Prettify(s)
  40626. }
  40627. // GoString returns the string representation
  40628. func (s Region) GoString() string {
  40629. return s.String()
  40630. }
  40631. // SetEndpoint sets the Endpoint field's value.
  40632. func (s *Region) SetEndpoint(v string) *Region {
  40633. s.Endpoint = &v
  40634. return s
  40635. }
  40636. // SetRegionName sets the RegionName field's value.
  40637. func (s *Region) SetRegionName(v string) *Region {
  40638. s.RegionName = &v
  40639. return s
  40640. }
  40641. // Contains the parameters for RegisterImage.
  40642. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImageRequest
  40643. type RegisterImageInput struct {
  40644. _ struct{} `type:"structure"`
  40645. // The architecture of the AMI.
  40646. //
  40647. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  40648. // the architecture specified in the manifest file.
  40649. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  40650. // The billing product codes. Your account must be authorized to specify billing
  40651. // product codes. Otherwise, you can use the AWS Marketplace to bill for the
  40652. // use of an AMI.
  40653. BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
  40654. // One or more block device mapping entries.
  40655. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  40656. // A description for your AMI.
  40657. Description *string `locationName:"description" type:"string"`
  40658. // Checks whether you have the required permissions for the action, without
  40659. // actually making the request, and provides an error response. If you have
  40660. // the required permissions, the error response is DryRunOperation. Otherwise,
  40661. // it is UnauthorizedOperation.
  40662. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40663. // Set to true to enable enhanced networking with ENA for the AMI and any instances
  40664. // that you launch from the AMI.
  40665. //
  40666. // This option is supported only for HVM AMIs. Specifying this option with a
  40667. // PV AMI can make instances launched from the AMI unreachable.
  40668. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  40669. // The full path to your AMI manifest in Amazon S3 storage.
  40670. ImageLocation *string `type:"string"`
  40671. // The ID of the kernel.
  40672. KernelId *string `locationName:"kernelId" type:"string"`
  40673. // A name for your AMI.
  40674. //
  40675. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  40676. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  40677. // at-signs (@), or underscores(_)
  40678. //
  40679. // Name is a required field
  40680. Name *string `locationName:"name" type:"string" required:"true"`
  40681. // The ID of the RAM disk.
  40682. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  40683. // The name of the root device (for example, /dev/sda1, or /dev/xvda).
  40684. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  40685. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  40686. // Function interface for the AMI and any instances that you launch from the
  40687. // AMI.
  40688. //
  40689. // There is no way to disable sriovNetSupport at this time.
  40690. //
  40691. // This option is supported only for HVM AMIs. Specifying this option with a
  40692. // PV AMI can make instances launched from the AMI unreachable.
  40693. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  40694. // The type of virtualization.
  40695. //
  40696. // Default: paravirtual
  40697. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  40698. }
  40699. // String returns the string representation
  40700. func (s RegisterImageInput) String() string {
  40701. return awsutil.Prettify(s)
  40702. }
  40703. // GoString returns the string representation
  40704. func (s RegisterImageInput) GoString() string {
  40705. return s.String()
  40706. }
  40707. // Validate inspects the fields of the type to determine if they are valid.
  40708. func (s *RegisterImageInput) Validate() error {
  40709. invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
  40710. if s.Name == nil {
  40711. invalidParams.Add(request.NewErrParamRequired("Name"))
  40712. }
  40713. if invalidParams.Len() > 0 {
  40714. return invalidParams
  40715. }
  40716. return nil
  40717. }
  40718. // SetArchitecture sets the Architecture field's value.
  40719. func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
  40720. s.Architecture = &v
  40721. return s
  40722. }
  40723. // SetBillingProducts sets the BillingProducts field's value.
  40724. func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
  40725. s.BillingProducts = v
  40726. return s
  40727. }
  40728. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  40729. func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
  40730. s.BlockDeviceMappings = v
  40731. return s
  40732. }
  40733. // SetDescription sets the Description field's value.
  40734. func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
  40735. s.Description = &v
  40736. return s
  40737. }
  40738. // SetDryRun sets the DryRun field's value.
  40739. func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
  40740. s.DryRun = &v
  40741. return s
  40742. }
  40743. // SetEnaSupport sets the EnaSupport field's value.
  40744. func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
  40745. s.EnaSupport = &v
  40746. return s
  40747. }
  40748. // SetImageLocation sets the ImageLocation field's value.
  40749. func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
  40750. s.ImageLocation = &v
  40751. return s
  40752. }
  40753. // SetKernelId sets the KernelId field's value.
  40754. func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
  40755. s.KernelId = &v
  40756. return s
  40757. }
  40758. // SetName sets the Name field's value.
  40759. func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
  40760. s.Name = &v
  40761. return s
  40762. }
  40763. // SetRamdiskId sets the RamdiskId field's value.
  40764. func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
  40765. s.RamdiskId = &v
  40766. return s
  40767. }
  40768. // SetRootDeviceName sets the RootDeviceName field's value.
  40769. func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
  40770. s.RootDeviceName = &v
  40771. return s
  40772. }
  40773. // SetSriovNetSupport sets the SriovNetSupport field's value.
  40774. func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
  40775. s.SriovNetSupport = &v
  40776. return s
  40777. }
  40778. // SetVirtualizationType sets the VirtualizationType field's value.
  40779. func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
  40780. s.VirtualizationType = &v
  40781. return s
  40782. }
  40783. // Contains the output of RegisterImage.
  40784. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImageResult
  40785. type RegisterImageOutput struct {
  40786. _ struct{} `type:"structure"`
  40787. // The ID of the newly registered AMI.
  40788. ImageId *string `locationName:"imageId" type:"string"`
  40789. }
  40790. // String returns the string representation
  40791. func (s RegisterImageOutput) String() string {
  40792. return awsutil.Prettify(s)
  40793. }
  40794. // GoString returns the string representation
  40795. func (s RegisterImageOutput) GoString() string {
  40796. return s.String()
  40797. }
  40798. // SetImageId sets the ImageId field's value.
  40799. func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
  40800. s.ImageId = &v
  40801. return s
  40802. }
  40803. // Contains the parameters for RejectVpcPeeringConnection.
  40804. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnectionRequest
  40805. type RejectVpcPeeringConnectionInput struct {
  40806. _ struct{} `type:"structure"`
  40807. // Checks whether you have the required permissions for the action, without
  40808. // actually making the request, and provides an error response. If you have
  40809. // the required permissions, the error response is DryRunOperation. Otherwise,
  40810. // it is UnauthorizedOperation.
  40811. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40812. // The ID of the VPC peering connection.
  40813. //
  40814. // VpcPeeringConnectionId is a required field
  40815. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  40816. }
  40817. // String returns the string representation
  40818. func (s RejectVpcPeeringConnectionInput) String() string {
  40819. return awsutil.Prettify(s)
  40820. }
  40821. // GoString returns the string representation
  40822. func (s RejectVpcPeeringConnectionInput) GoString() string {
  40823. return s.String()
  40824. }
  40825. // Validate inspects the fields of the type to determine if they are valid.
  40826. func (s *RejectVpcPeeringConnectionInput) Validate() error {
  40827. invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
  40828. if s.VpcPeeringConnectionId == nil {
  40829. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  40830. }
  40831. if invalidParams.Len() > 0 {
  40832. return invalidParams
  40833. }
  40834. return nil
  40835. }
  40836. // SetDryRun sets the DryRun field's value.
  40837. func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
  40838. s.DryRun = &v
  40839. return s
  40840. }
  40841. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  40842. func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
  40843. s.VpcPeeringConnectionId = &v
  40844. return s
  40845. }
  40846. // Contains the output of RejectVpcPeeringConnection.
  40847. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnectionResult
  40848. type RejectVpcPeeringConnectionOutput struct {
  40849. _ struct{} `type:"structure"`
  40850. // Returns true if the request succeeds; otherwise, it returns an error.
  40851. Return *bool `locationName:"return" type:"boolean"`
  40852. }
  40853. // String returns the string representation
  40854. func (s RejectVpcPeeringConnectionOutput) String() string {
  40855. return awsutil.Prettify(s)
  40856. }
  40857. // GoString returns the string representation
  40858. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  40859. return s.String()
  40860. }
  40861. // SetReturn sets the Return field's value.
  40862. func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
  40863. s.Return = &v
  40864. return s
  40865. }
  40866. // Contains the parameters for ReleaseAddress.
  40867. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddressRequest
  40868. type ReleaseAddressInput struct {
  40869. _ struct{} `type:"structure"`
  40870. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  40871. AllocationId *string `type:"string"`
  40872. // Checks whether you have the required permissions for the action, without
  40873. // actually making the request, and provides an error response. If you have
  40874. // the required permissions, the error response is DryRunOperation. Otherwise,
  40875. // it is UnauthorizedOperation.
  40876. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40877. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  40878. PublicIp *string `type:"string"`
  40879. }
  40880. // String returns the string representation
  40881. func (s ReleaseAddressInput) String() string {
  40882. return awsutil.Prettify(s)
  40883. }
  40884. // GoString returns the string representation
  40885. func (s ReleaseAddressInput) GoString() string {
  40886. return s.String()
  40887. }
  40888. // SetAllocationId sets the AllocationId field's value.
  40889. func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
  40890. s.AllocationId = &v
  40891. return s
  40892. }
  40893. // SetDryRun sets the DryRun field's value.
  40894. func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
  40895. s.DryRun = &v
  40896. return s
  40897. }
  40898. // SetPublicIp sets the PublicIp field's value.
  40899. func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
  40900. s.PublicIp = &v
  40901. return s
  40902. }
  40903. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddressOutput
  40904. type ReleaseAddressOutput struct {
  40905. _ struct{} `type:"structure"`
  40906. }
  40907. // String returns the string representation
  40908. func (s ReleaseAddressOutput) String() string {
  40909. return awsutil.Prettify(s)
  40910. }
  40911. // GoString returns the string representation
  40912. func (s ReleaseAddressOutput) GoString() string {
  40913. return s.String()
  40914. }
  40915. // Contains the parameters for ReleaseHosts.
  40916. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHostsRequest
  40917. type ReleaseHostsInput struct {
  40918. _ struct{} `type:"structure"`
  40919. // The IDs of the Dedicated Hosts you want to release.
  40920. //
  40921. // HostIds is a required field
  40922. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  40923. }
  40924. // String returns the string representation
  40925. func (s ReleaseHostsInput) String() string {
  40926. return awsutil.Prettify(s)
  40927. }
  40928. // GoString returns the string representation
  40929. func (s ReleaseHostsInput) GoString() string {
  40930. return s.String()
  40931. }
  40932. // Validate inspects the fields of the type to determine if they are valid.
  40933. func (s *ReleaseHostsInput) Validate() error {
  40934. invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
  40935. if s.HostIds == nil {
  40936. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  40937. }
  40938. if invalidParams.Len() > 0 {
  40939. return invalidParams
  40940. }
  40941. return nil
  40942. }
  40943. // SetHostIds sets the HostIds field's value.
  40944. func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
  40945. s.HostIds = v
  40946. return s
  40947. }
  40948. // Contains the output of ReleaseHosts.
  40949. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHostsResult
  40950. type ReleaseHostsOutput struct {
  40951. _ struct{} `type:"structure"`
  40952. // The IDs of the Dedicated Hosts that were successfully released.
  40953. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  40954. // The IDs of the Dedicated Hosts that could not be released, including an error
  40955. // message.
  40956. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  40957. }
  40958. // String returns the string representation
  40959. func (s ReleaseHostsOutput) String() string {
  40960. return awsutil.Prettify(s)
  40961. }
  40962. // GoString returns the string representation
  40963. func (s ReleaseHostsOutput) GoString() string {
  40964. return s.String()
  40965. }
  40966. // SetSuccessful sets the Successful field's value.
  40967. func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
  40968. s.Successful = v
  40969. return s
  40970. }
  40971. // SetUnsuccessful sets the Unsuccessful field's value.
  40972. func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
  40973. s.Unsuccessful = v
  40974. return s
  40975. }
  40976. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociationRequest
  40977. type ReplaceIamInstanceProfileAssociationInput struct {
  40978. _ struct{} `type:"structure"`
  40979. // The ID of the existing IAM instance profile association.
  40980. //
  40981. // AssociationId is a required field
  40982. AssociationId *string `type:"string" required:"true"`
  40983. // The IAM instance profile.
  40984. //
  40985. // IamInstanceProfile is a required field
  40986. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  40987. }
  40988. // String returns the string representation
  40989. func (s ReplaceIamInstanceProfileAssociationInput) String() string {
  40990. return awsutil.Prettify(s)
  40991. }
  40992. // GoString returns the string representation
  40993. func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
  40994. return s.String()
  40995. }
  40996. // Validate inspects the fields of the type to determine if they are valid.
  40997. func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
  40998. invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
  40999. if s.AssociationId == nil {
  41000. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  41001. }
  41002. if s.IamInstanceProfile == nil {
  41003. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  41004. }
  41005. if invalidParams.Len() > 0 {
  41006. return invalidParams
  41007. }
  41008. return nil
  41009. }
  41010. // SetAssociationId sets the AssociationId field's value.
  41011. func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
  41012. s.AssociationId = &v
  41013. return s
  41014. }
  41015. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  41016. func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
  41017. s.IamInstanceProfile = v
  41018. return s
  41019. }
  41020. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociationResult
  41021. type ReplaceIamInstanceProfileAssociationOutput struct {
  41022. _ struct{} `type:"structure"`
  41023. // Information about the IAM instance profile association.
  41024. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  41025. }
  41026. // String returns the string representation
  41027. func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
  41028. return awsutil.Prettify(s)
  41029. }
  41030. // GoString returns the string representation
  41031. func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
  41032. return s.String()
  41033. }
  41034. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  41035. func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
  41036. s.IamInstanceProfileAssociation = v
  41037. return s
  41038. }
  41039. // Contains the parameters for ReplaceNetworkAclAssociation.
  41040. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociationRequest
  41041. type ReplaceNetworkAclAssociationInput struct {
  41042. _ struct{} `type:"structure"`
  41043. // The ID of the current association between the original network ACL and the
  41044. // subnet.
  41045. //
  41046. // AssociationId is a required field
  41047. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  41048. // Checks whether you have the required permissions for the action, without
  41049. // actually making the request, and provides an error response. If you have
  41050. // the required permissions, the error response is DryRunOperation. Otherwise,
  41051. // it is UnauthorizedOperation.
  41052. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41053. // The ID of the new network ACL to associate with the subnet.
  41054. //
  41055. // NetworkAclId is a required field
  41056. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  41057. }
  41058. // String returns the string representation
  41059. func (s ReplaceNetworkAclAssociationInput) String() string {
  41060. return awsutil.Prettify(s)
  41061. }
  41062. // GoString returns the string representation
  41063. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  41064. return s.String()
  41065. }
  41066. // Validate inspects the fields of the type to determine if they are valid.
  41067. func (s *ReplaceNetworkAclAssociationInput) Validate() error {
  41068. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
  41069. if s.AssociationId == nil {
  41070. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  41071. }
  41072. if s.NetworkAclId == nil {
  41073. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  41074. }
  41075. if invalidParams.Len() > 0 {
  41076. return invalidParams
  41077. }
  41078. return nil
  41079. }
  41080. // SetAssociationId sets the AssociationId field's value.
  41081. func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
  41082. s.AssociationId = &v
  41083. return s
  41084. }
  41085. // SetDryRun sets the DryRun field's value.
  41086. func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
  41087. s.DryRun = &v
  41088. return s
  41089. }
  41090. // SetNetworkAclId sets the NetworkAclId field's value.
  41091. func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
  41092. s.NetworkAclId = &v
  41093. return s
  41094. }
  41095. // Contains the output of ReplaceNetworkAclAssociation.
  41096. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociationResult
  41097. type ReplaceNetworkAclAssociationOutput struct {
  41098. _ struct{} `type:"structure"`
  41099. // The ID of the new association.
  41100. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  41101. }
  41102. // String returns the string representation
  41103. func (s ReplaceNetworkAclAssociationOutput) String() string {
  41104. return awsutil.Prettify(s)
  41105. }
  41106. // GoString returns the string representation
  41107. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  41108. return s.String()
  41109. }
  41110. // SetNewAssociationId sets the NewAssociationId field's value.
  41111. func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
  41112. s.NewAssociationId = &v
  41113. return s
  41114. }
  41115. // Contains the parameters for ReplaceNetworkAclEntry.
  41116. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntryRequest
  41117. type ReplaceNetworkAclEntryInput struct {
  41118. _ struct{} `type:"structure"`
  41119. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  41120. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  41121. // Checks whether you have the required permissions for the action, without
  41122. // actually making the request, and provides an error response. If you have
  41123. // the required permissions, the error response is DryRunOperation. Otherwise,
  41124. // it is UnauthorizedOperation.
  41125. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41126. // Indicates whether to replace the egress rule.
  41127. //
  41128. // Default: If no value is specified, we replace the ingress rule.
  41129. //
  41130. // Egress is a required field
  41131. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  41132. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  41133. // ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  41134. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  41135. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
  41136. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  41137. // The ID of the ACL.
  41138. //
  41139. // NetworkAclId is a required field
  41140. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  41141. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  41142. // specifying TCP (6) or UDP (17) for the protocol.
  41143. PortRange *PortRange `locationName:"portRange" type:"structure"`
  41144. // The IP protocol. You can specify all or -1 to mean all protocols. If you
  41145. // specify all, -1, or a protocol number other than tcp, udp, or icmp, traffic
  41146. // on all ports is allowed, regardless of any ports or ICMP types or codes you
  41147. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block,
  41148. // traffic for all ICMP types and codes allowed, regardless of any that you
  41149. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block,
  41150. // you must specify an ICMP type and code.
  41151. //
  41152. // Protocol is a required field
  41153. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  41154. // Indicates whether to allow or deny the traffic that matches the rule.
  41155. //
  41156. // RuleAction is a required field
  41157. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  41158. // The rule number of the entry to replace.
  41159. //
  41160. // RuleNumber is a required field
  41161. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  41162. }
  41163. // String returns the string representation
  41164. func (s ReplaceNetworkAclEntryInput) String() string {
  41165. return awsutil.Prettify(s)
  41166. }
  41167. // GoString returns the string representation
  41168. func (s ReplaceNetworkAclEntryInput) GoString() string {
  41169. return s.String()
  41170. }
  41171. // Validate inspects the fields of the type to determine if they are valid.
  41172. func (s *ReplaceNetworkAclEntryInput) Validate() error {
  41173. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
  41174. if s.Egress == nil {
  41175. invalidParams.Add(request.NewErrParamRequired("Egress"))
  41176. }
  41177. if s.NetworkAclId == nil {
  41178. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  41179. }
  41180. if s.Protocol == nil {
  41181. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  41182. }
  41183. if s.RuleAction == nil {
  41184. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  41185. }
  41186. if s.RuleNumber == nil {
  41187. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  41188. }
  41189. if invalidParams.Len() > 0 {
  41190. return invalidParams
  41191. }
  41192. return nil
  41193. }
  41194. // SetCidrBlock sets the CidrBlock field's value.
  41195. func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
  41196. s.CidrBlock = &v
  41197. return s
  41198. }
  41199. // SetDryRun sets the DryRun field's value.
  41200. func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
  41201. s.DryRun = &v
  41202. return s
  41203. }
  41204. // SetEgress sets the Egress field's value.
  41205. func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
  41206. s.Egress = &v
  41207. return s
  41208. }
  41209. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  41210. func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
  41211. s.IcmpTypeCode = v
  41212. return s
  41213. }
  41214. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  41215. func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
  41216. s.Ipv6CidrBlock = &v
  41217. return s
  41218. }
  41219. // SetNetworkAclId sets the NetworkAclId field's value.
  41220. func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
  41221. s.NetworkAclId = &v
  41222. return s
  41223. }
  41224. // SetPortRange sets the PortRange field's value.
  41225. func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
  41226. s.PortRange = v
  41227. return s
  41228. }
  41229. // SetProtocol sets the Protocol field's value.
  41230. func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
  41231. s.Protocol = &v
  41232. return s
  41233. }
  41234. // SetRuleAction sets the RuleAction field's value.
  41235. func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
  41236. s.RuleAction = &v
  41237. return s
  41238. }
  41239. // SetRuleNumber sets the RuleNumber field's value.
  41240. func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
  41241. s.RuleNumber = &v
  41242. return s
  41243. }
  41244. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntryOutput
  41245. type ReplaceNetworkAclEntryOutput struct {
  41246. _ struct{} `type:"structure"`
  41247. }
  41248. // String returns the string representation
  41249. func (s ReplaceNetworkAclEntryOutput) String() string {
  41250. return awsutil.Prettify(s)
  41251. }
  41252. // GoString returns the string representation
  41253. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  41254. return s.String()
  41255. }
  41256. // Contains the parameters for ReplaceRoute.
  41257. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteRequest
  41258. type ReplaceRouteInput struct {
  41259. _ struct{} `type:"structure"`
  41260. // The IPv4 CIDR address block used for the destination match. The value you
  41261. // provide must match the CIDR of an existing route in the table.
  41262. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  41263. // The IPv6 CIDR address block used for the destination match. The value you
  41264. // provide must match the CIDR of an existing route in the table.
  41265. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  41266. // Checks whether you have the required permissions for the action, without
  41267. // actually making the request, and provides an error response. If you have
  41268. // the required permissions, the error response is DryRunOperation. Otherwise,
  41269. // it is UnauthorizedOperation.
  41270. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41271. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  41272. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  41273. // The ID of an Internet gateway or virtual private gateway.
  41274. GatewayId *string `locationName:"gatewayId" type:"string"`
  41275. // The ID of a NAT instance in your VPC.
  41276. InstanceId *string `locationName:"instanceId" type:"string"`
  41277. // [IPv4 traffic only] The ID of a NAT gateway.
  41278. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  41279. // The ID of a network interface.
  41280. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  41281. // The ID of the route table.
  41282. //
  41283. // RouteTableId is a required field
  41284. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  41285. // The ID of a VPC peering connection.
  41286. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  41287. }
  41288. // String returns the string representation
  41289. func (s ReplaceRouteInput) String() string {
  41290. return awsutil.Prettify(s)
  41291. }
  41292. // GoString returns the string representation
  41293. func (s ReplaceRouteInput) GoString() string {
  41294. return s.String()
  41295. }
  41296. // Validate inspects the fields of the type to determine if they are valid.
  41297. func (s *ReplaceRouteInput) Validate() error {
  41298. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
  41299. if s.RouteTableId == nil {
  41300. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  41301. }
  41302. if invalidParams.Len() > 0 {
  41303. return invalidParams
  41304. }
  41305. return nil
  41306. }
  41307. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  41308. func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
  41309. s.DestinationCidrBlock = &v
  41310. return s
  41311. }
  41312. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  41313. func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
  41314. s.DestinationIpv6CidrBlock = &v
  41315. return s
  41316. }
  41317. // SetDryRun sets the DryRun field's value.
  41318. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
  41319. s.DryRun = &v
  41320. return s
  41321. }
  41322. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  41323. func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
  41324. s.EgressOnlyInternetGatewayId = &v
  41325. return s
  41326. }
  41327. // SetGatewayId sets the GatewayId field's value.
  41328. func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
  41329. s.GatewayId = &v
  41330. return s
  41331. }
  41332. // SetInstanceId sets the InstanceId field's value.
  41333. func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
  41334. s.InstanceId = &v
  41335. return s
  41336. }
  41337. // SetNatGatewayId sets the NatGatewayId field's value.
  41338. func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
  41339. s.NatGatewayId = &v
  41340. return s
  41341. }
  41342. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  41343. func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
  41344. s.NetworkInterfaceId = &v
  41345. return s
  41346. }
  41347. // SetRouteTableId sets the RouteTableId field's value.
  41348. func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
  41349. s.RouteTableId = &v
  41350. return s
  41351. }
  41352. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  41353. func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
  41354. s.VpcPeeringConnectionId = &v
  41355. return s
  41356. }
  41357. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteOutput
  41358. type ReplaceRouteOutput struct {
  41359. _ struct{} `type:"structure"`
  41360. }
  41361. // String returns the string representation
  41362. func (s ReplaceRouteOutput) String() string {
  41363. return awsutil.Prettify(s)
  41364. }
  41365. // GoString returns the string representation
  41366. func (s ReplaceRouteOutput) GoString() string {
  41367. return s.String()
  41368. }
  41369. // Contains the parameters for ReplaceRouteTableAssociation.
  41370. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociationRequest
  41371. type ReplaceRouteTableAssociationInput struct {
  41372. _ struct{} `type:"structure"`
  41373. // The association ID.
  41374. //
  41375. // AssociationId is a required field
  41376. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  41377. // Checks whether you have the required permissions for the action, without
  41378. // actually making the request, and provides an error response. If you have
  41379. // the required permissions, the error response is DryRunOperation. Otherwise,
  41380. // it is UnauthorizedOperation.
  41381. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41382. // The ID of the new route table to associate with the subnet.
  41383. //
  41384. // RouteTableId is a required field
  41385. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  41386. }
  41387. // String returns the string representation
  41388. func (s ReplaceRouteTableAssociationInput) String() string {
  41389. return awsutil.Prettify(s)
  41390. }
  41391. // GoString returns the string representation
  41392. func (s ReplaceRouteTableAssociationInput) GoString() string {
  41393. return s.String()
  41394. }
  41395. // Validate inspects the fields of the type to determine if they are valid.
  41396. func (s *ReplaceRouteTableAssociationInput) Validate() error {
  41397. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
  41398. if s.AssociationId == nil {
  41399. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  41400. }
  41401. if s.RouteTableId == nil {
  41402. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  41403. }
  41404. if invalidParams.Len() > 0 {
  41405. return invalidParams
  41406. }
  41407. return nil
  41408. }
  41409. // SetAssociationId sets the AssociationId field's value.
  41410. func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
  41411. s.AssociationId = &v
  41412. return s
  41413. }
  41414. // SetDryRun sets the DryRun field's value.
  41415. func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
  41416. s.DryRun = &v
  41417. return s
  41418. }
  41419. // SetRouteTableId sets the RouteTableId field's value.
  41420. func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
  41421. s.RouteTableId = &v
  41422. return s
  41423. }
  41424. // Contains the output of ReplaceRouteTableAssociation.
  41425. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociationResult
  41426. type ReplaceRouteTableAssociationOutput struct {
  41427. _ struct{} `type:"structure"`
  41428. // The ID of the new association.
  41429. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  41430. }
  41431. // String returns the string representation
  41432. func (s ReplaceRouteTableAssociationOutput) String() string {
  41433. return awsutil.Prettify(s)
  41434. }
  41435. // GoString returns the string representation
  41436. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  41437. return s.String()
  41438. }
  41439. // SetNewAssociationId sets the NewAssociationId field's value.
  41440. func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
  41441. s.NewAssociationId = &v
  41442. return s
  41443. }
  41444. // Contains the parameters for ReportInstanceStatus.
  41445. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatusRequest
  41446. type ReportInstanceStatusInput struct {
  41447. _ struct{} `type:"structure"`
  41448. // Descriptive text about the health state of your instance.
  41449. Description *string `locationName:"description" type:"string"`
  41450. // Checks whether you have the required permissions for the action, without
  41451. // actually making the request, and provides an error response. If you have
  41452. // the required permissions, the error response is DryRunOperation. Otherwise,
  41453. // it is UnauthorizedOperation.
  41454. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41455. // The time at which the reported instance health state ended.
  41456. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  41457. // One or more instances.
  41458. //
  41459. // Instances is a required field
  41460. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  41461. // One or more reason codes that describes the health state of your instance.
  41462. //
  41463. // * instance-stuck-in-state: My instance is stuck in a state.
  41464. //
  41465. // * unresponsive: My instance is unresponsive.
  41466. //
  41467. // * not-accepting-credentials: My instance is not accepting my credentials.
  41468. //
  41469. // * password-not-available: A password is not available for my instance.
  41470. //
  41471. // * performance-network: My instance is experiencing performance problems
  41472. // which I believe are network related.
  41473. //
  41474. // * performance-instance-store: My instance is experiencing performance
  41475. // problems which I believe are related to the instance stores.
  41476. //
  41477. // * performance-ebs-volume: My instance is experiencing performance problems
  41478. // which I believe are related to an EBS volume.
  41479. //
  41480. // * performance-other: My instance is experiencing performance problems.
  41481. //
  41482. // * other: [explain using the description parameter]
  41483. //
  41484. // ReasonCodes is a required field
  41485. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  41486. // The time at which the reported instance health state began.
  41487. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  41488. // The status of all instances listed.
  41489. //
  41490. // Status is a required field
  41491. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  41492. }
  41493. // String returns the string representation
  41494. func (s ReportInstanceStatusInput) String() string {
  41495. return awsutil.Prettify(s)
  41496. }
  41497. // GoString returns the string representation
  41498. func (s ReportInstanceStatusInput) GoString() string {
  41499. return s.String()
  41500. }
  41501. // Validate inspects the fields of the type to determine if they are valid.
  41502. func (s *ReportInstanceStatusInput) Validate() error {
  41503. invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
  41504. if s.Instances == nil {
  41505. invalidParams.Add(request.NewErrParamRequired("Instances"))
  41506. }
  41507. if s.ReasonCodes == nil {
  41508. invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
  41509. }
  41510. if s.Status == nil {
  41511. invalidParams.Add(request.NewErrParamRequired("Status"))
  41512. }
  41513. if invalidParams.Len() > 0 {
  41514. return invalidParams
  41515. }
  41516. return nil
  41517. }
  41518. // SetDescription sets the Description field's value.
  41519. func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
  41520. s.Description = &v
  41521. return s
  41522. }
  41523. // SetDryRun sets the DryRun field's value.
  41524. func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
  41525. s.DryRun = &v
  41526. return s
  41527. }
  41528. // SetEndTime sets the EndTime field's value.
  41529. func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
  41530. s.EndTime = &v
  41531. return s
  41532. }
  41533. // SetInstances sets the Instances field's value.
  41534. func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
  41535. s.Instances = v
  41536. return s
  41537. }
  41538. // SetReasonCodes sets the ReasonCodes field's value.
  41539. func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
  41540. s.ReasonCodes = v
  41541. return s
  41542. }
  41543. // SetStartTime sets the StartTime field's value.
  41544. func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
  41545. s.StartTime = &v
  41546. return s
  41547. }
  41548. // SetStatus sets the Status field's value.
  41549. func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
  41550. s.Status = &v
  41551. return s
  41552. }
  41553. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatusOutput
  41554. type ReportInstanceStatusOutput struct {
  41555. _ struct{} `type:"structure"`
  41556. }
  41557. // String returns the string representation
  41558. func (s ReportInstanceStatusOutput) String() string {
  41559. return awsutil.Prettify(s)
  41560. }
  41561. // GoString returns the string representation
  41562. func (s ReportInstanceStatusOutput) GoString() string {
  41563. return s.String()
  41564. }
  41565. // Contains the parameters for RequestSpotFleet.
  41566. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleetRequest
  41567. type RequestSpotFleetInput struct {
  41568. _ struct{} `type:"structure"`
  41569. // Checks whether you have the required permissions for the action, without
  41570. // actually making the request, and provides an error response. If you have
  41571. // the required permissions, the error response is DryRunOperation. Otherwise,
  41572. // it is UnauthorizedOperation.
  41573. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41574. // The configuration for the Spot fleet request.
  41575. //
  41576. // SpotFleetRequestConfig is a required field
  41577. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  41578. }
  41579. // String returns the string representation
  41580. func (s RequestSpotFleetInput) String() string {
  41581. return awsutil.Prettify(s)
  41582. }
  41583. // GoString returns the string representation
  41584. func (s RequestSpotFleetInput) GoString() string {
  41585. return s.String()
  41586. }
  41587. // Validate inspects the fields of the type to determine if they are valid.
  41588. func (s *RequestSpotFleetInput) Validate() error {
  41589. invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
  41590. if s.SpotFleetRequestConfig == nil {
  41591. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
  41592. }
  41593. if s.SpotFleetRequestConfig != nil {
  41594. if err := s.SpotFleetRequestConfig.Validate(); err != nil {
  41595. invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
  41596. }
  41597. }
  41598. if invalidParams.Len() > 0 {
  41599. return invalidParams
  41600. }
  41601. return nil
  41602. }
  41603. // SetDryRun sets the DryRun field's value.
  41604. func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
  41605. s.DryRun = &v
  41606. return s
  41607. }
  41608. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  41609. func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
  41610. s.SpotFleetRequestConfig = v
  41611. return s
  41612. }
  41613. // Contains the output of RequestSpotFleet.
  41614. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleetResponse
  41615. type RequestSpotFleetOutput struct {
  41616. _ struct{} `type:"structure"`
  41617. // The ID of the Spot fleet request.
  41618. //
  41619. // SpotFleetRequestId is a required field
  41620. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  41621. }
  41622. // String returns the string representation
  41623. func (s RequestSpotFleetOutput) String() string {
  41624. return awsutil.Prettify(s)
  41625. }
  41626. // GoString returns the string representation
  41627. func (s RequestSpotFleetOutput) GoString() string {
  41628. return s.String()
  41629. }
  41630. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  41631. func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
  41632. s.SpotFleetRequestId = &v
  41633. return s
  41634. }
  41635. // Contains the parameters for RequestSpotInstances.
  41636. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstancesRequest
  41637. type RequestSpotInstancesInput struct {
  41638. _ struct{} `type:"structure"`
  41639. // The user-specified name for a logical grouping of bids.
  41640. //
  41641. // When you specify an Availability Zone group in a Spot Instance request, all
  41642. // Spot instances in the request are launched in the same Availability Zone.
  41643. // Instance proximity is maintained with this parameter, but the choice of Availability
  41644. // Zone is not. The group applies only to bids for Spot Instances of the same
  41645. // instance type. Any additional Spot instance requests that are specified with
  41646. // the same Availability Zone group name are launched in that same Availability
  41647. // Zone, as long as at least one instance from the group is still active.
  41648. //
  41649. // If there is no active instance running in the Availability Zone group that
  41650. // you specify for a new Spot instance request (all instances are terminated,
  41651. // the bid is expired, or the bid falls below current market), then Amazon EC2
  41652. // launches the instance in any Availability Zone where the constraint can be
  41653. // met. Consequently, the subsequent set of Spot instances could be placed in
  41654. // a different zone from the original request, even if you specified the same
  41655. // Availability Zone group.
  41656. //
  41657. // Default: Instances are launched in any available Availability Zone.
  41658. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  41659. // The required duration for the Spot instances (also known as Spot blocks),
  41660. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  41661. // or 360).
  41662. //
  41663. // The duration period starts as soon as your Spot instance receives its instance
  41664. // ID. At the end of the duration period, Amazon EC2 marks the Spot instance
  41665. // for termination and provides a Spot instance termination notice, which gives
  41666. // the instance a two-minute warning before it terminates.
  41667. //
  41668. // Note that you can't specify an Availability Zone group or a launch group
  41669. // if you specify a duration.
  41670. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  41671. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  41672. // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  41673. // in the Amazon Elastic Compute Cloud User Guide.
  41674. ClientToken *string `locationName:"clientToken" type:"string"`
  41675. // Checks whether you have the required permissions for the action, without
  41676. // actually making the request, and provides an error response. If you have
  41677. // the required permissions, the error response is DryRunOperation. Otherwise,
  41678. // it is UnauthorizedOperation.
  41679. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41680. // The maximum number of Spot instances to launch.
  41681. //
  41682. // Default: 1
  41683. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  41684. // The instance launch group. Launch groups are Spot instances that launch together
  41685. // and terminate together.
  41686. //
  41687. // Default: Instances are launched and terminated individually
  41688. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  41689. // Describes the launch specification for an instance.
  41690. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  41691. // The maximum hourly price (bid) for any Spot instance launched to fulfill
  41692. // the request.
  41693. //
  41694. // SpotPrice is a required field
  41695. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  41696. // The Spot instance request type.
  41697. //
  41698. // Default: one-time
  41699. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  41700. // The start date of the request. If this is a one-time request, the request
  41701. // becomes active at this date and time and remains active until all instances
  41702. // launch, the request expires, or the request is canceled. If the request is
  41703. // persistent, the request becomes active at this date and time and remains
  41704. // active until it expires or is canceled.
  41705. //
  41706. // Default: The request is effective indefinitely.
  41707. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  41708. // The end date of the request. If this is a one-time request, the request remains
  41709. // active until all instances launch, the request is canceled, or this date
  41710. // is reached. If the request is persistent, it remains active until it is canceled
  41711. // or this date and time is reached.
  41712. //
  41713. // Default: The request is effective indefinitely.
  41714. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  41715. }
  41716. // String returns the string representation
  41717. func (s RequestSpotInstancesInput) String() string {
  41718. return awsutil.Prettify(s)
  41719. }
  41720. // GoString returns the string representation
  41721. func (s RequestSpotInstancesInput) GoString() string {
  41722. return s.String()
  41723. }
  41724. // Validate inspects the fields of the type to determine if they are valid.
  41725. func (s *RequestSpotInstancesInput) Validate() error {
  41726. invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
  41727. if s.SpotPrice == nil {
  41728. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  41729. }
  41730. if s.LaunchSpecification != nil {
  41731. if err := s.LaunchSpecification.Validate(); err != nil {
  41732. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  41733. }
  41734. }
  41735. if invalidParams.Len() > 0 {
  41736. return invalidParams
  41737. }
  41738. return nil
  41739. }
  41740. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  41741. func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
  41742. s.AvailabilityZoneGroup = &v
  41743. return s
  41744. }
  41745. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  41746. func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
  41747. s.BlockDurationMinutes = &v
  41748. return s
  41749. }
  41750. // SetClientToken sets the ClientToken field's value.
  41751. func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
  41752. s.ClientToken = &v
  41753. return s
  41754. }
  41755. // SetDryRun sets the DryRun field's value.
  41756. func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
  41757. s.DryRun = &v
  41758. return s
  41759. }
  41760. // SetInstanceCount sets the InstanceCount field's value.
  41761. func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
  41762. s.InstanceCount = &v
  41763. return s
  41764. }
  41765. // SetLaunchGroup sets the LaunchGroup field's value.
  41766. func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
  41767. s.LaunchGroup = &v
  41768. return s
  41769. }
  41770. // SetLaunchSpecification sets the LaunchSpecification field's value.
  41771. func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
  41772. s.LaunchSpecification = v
  41773. return s
  41774. }
  41775. // SetSpotPrice sets the SpotPrice field's value.
  41776. func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
  41777. s.SpotPrice = &v
  41778. return s
  41779. }
  41780. // SetType sets the Type field's value.
  41781. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
  41782. s.Type = &v
  41783. return s
  41784. }
  41785. // SetValidFrom sets the ValidFrom field's value.
  41786. func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
  41787. s.ValidFrom = &v
  41788. return s
  41789. }
  41790. // SetValidUntil sets the ValidUntil field's value.
  41791. func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
  41792. s.ValidUntil = &v
  41793. return s
  41794. }
  41795. // Contains the output of RequestSpotInstances.
  41796. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstancesResult
  41797. type RequestSpotInstancesOutput struct {
  41798. _ struct{} `type:"structure"`
  41799. // One or more Spot instance requests.
  41800. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  41801. }
  41802. // String returns the string representation
  41803. func (s RequestSpotInstancesOutput) String() string {
  41804. return awsutil.Prettify(s)
  41805. }
  41806. // GoString returns the string representation
  41807. func (s RequestSpotInstancesOutput) GoString() string {
  41808. return s.String()
  41809. }
  41810. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  41811. func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
  41812. s.SpotInstanceRequests = v
  41813. return s
  41814. }
  41815. // Describes the launch specification for an instance.
  41816. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotLaunchSpecification
  41817. type RequestSpotLaunchSpecification struct {
  41818. _ struct{} `type:"structure"`
  41819. // Deprecated.
  41820. AddressingType *string `locationName:"addressingType" type:"string"`
  41821. // One or more block device mapping entries.
  41822. //
  41823. // Although you can specify encrypted EBS volumes in this block device mapping
  41824. // for your Spot Instances, these volumes are not encrypted.
  41825. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  41826. // Indicates whether the instance is optimized for EBS I/O. This optimization
  41827. // provides dedicated throughput to Amazon EBS and an optimized configuration
  41828. // stack to provide optimal EBS I/O performance. This optimization isn't available
  41829. // with all instance types. Additional usage charges apply when using an EBS
  41830. // Optimized instance.
  41831. //
  41832. // Default: false
  41833. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  41834. // The IAM instance profile.
  41835. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  41836. // The ID of the AMI.
  41837. ImageId *string `locationName:"imageId" type:"string"`
  41838. // The instance type.
  41839. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  41840. // The ID of the kernel.
  41841. KernelId *string `locationName:"kernelId" type:"string"`
  41842. // The name of the key pair.
  41843. KeyName *string `locationName:"keyName" type:"string"`
  41844. // Describes the monitoring of an instance.
  41845. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  41846. // One or more network interfaces. If you specify a network interface, you must
  41847. // specify subnet IDs and security group IDs using the network interface.
  41848. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  41849. // The placement information for the instance.
  41850. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  41851. // The ID of the RAM disk.
  41852. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  41853. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  41854. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  41855. // The ID of the subnet in which to launch the instance.
  41856. SubnetId *string `locationName:"subnetId" type:"string"`
  41857. // The user data to make available to the instances. If you are using an AWS
  41858. // SDK or command line tool, Base64-encoding is performed for you, and you can
  41859. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  41860. UserData *string `locationName:"userData" type:"string"`
  41861. }
  41862. // String returns the string representation
  41863. func (s RequestSpotLaunchSpecification) String() string {
  41864. return awsutil.Prettify(s)
  41865. }
  41866. // GoString returns the string representation
  41867. func (s RequestSpotLaunchSpecification) GoString() string {
  41868. return s.String()
  41869. }
  41870. // Validate inspects the fields of the type to determine if they are valid.
  41871. func (s *RequestSpotLaunchSpecification) Validate() error {
  41872. invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
  41873. if s.Monitoring != nil {
  41874. if err := s.Monitoring.Validate(); err != nil {
  41875. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  41876. }
  41877. }
  41878. if s.NetworkInterfaces != nil {
  41879. for i, v := range s.NetworkInterfaces {
  41880. if v == nil {
  41881. continue
  41882. }
  41883. if err := v.Validate(); err != nil {
  41884. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  41885. }
  41886. }
  41887. }
  41888. if invalidParams.Len() > 0 {
  41889. return invalidParams
  41890. }
  41891. return nil
  41892. }
  41893. // SetAddressingType sets the AddressingType field's value.
  41894. func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
  41895. s.AddressingType = &v
  41896. return s
  41897. }
  41898. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  41899. func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
  41900. s.BlockDeviceMappings = v
  41901. return s
  41902. }
  41903. // SetEbsOptimized sets the EbsOptimized field's value.
  41904. func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
  41905. s.EbsOptimized = &v
  41906. return s
  41907. }
  41908. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  41909. func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
  41910. s.IamInstanceProfile = v
  41911. return s
  41912. }
  41913. // SetImageId sets the ImageId field's value.
  41914. func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
  41915. s.ImageId = &v
  41916. return s
  41917. }
  41918. // SetInstanceType sets the InstanceType field's value.
  41919. func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
  41920. s.InstanceType = &v
  41921. return s
  41922. }
  41923. // SetKernelId sets the KernelId field's value.
  41924. func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
  41925. s.KernelId = &v
  41926. return s
  41927. }
  41928. // SetKeyName sets the KeyName field's value.
  41929. func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
  41930. s.KeyName = &v
  41931. return s
  41932. }
  41933. // SetMonitoring sets the Monitoring field's value.
  41934. func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
  41935. s.Monitoring = v
  41936. return s
  41937. }
  41938. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  41939. func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
  41940. s.NetworkInterfaces = v
  41941. return s
  41942. }
  41943. // SetPlacement sets the Placement field's value.
  41944. func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
  41945. s.Placement = v
  41946. return s
  41947. }
  41948. // SetRamdiskId sets the RamdiskId field's value.
  41949. func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
  41950. s.RamdiskId = &v
  41951. return s
  41952. }
  41953. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  41954. func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
  41955. s.SecurityGroupIds = v
  41956. return s
  41957. }
  41958. // SetSecurityGroups sets the SecurityGroups field's value.
  41959. func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
  41960. s.SecurityGroups = v
  41961. return s
  41962. }
  41963. // SetSubnetId sets the SubnetId field's value.
  41964. func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
  41965. s.SubnetId = &v
  41966. return s
  41967. }
  41968. // SetUserData sets the UserData field's value.
  41969. func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
  41970. s.UserData = &v
  41971. return s
  41972. }
  41973. // Describes a reservation.
  41974. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Reservation
  41975. type Reservation struct {
  41976. _ struct{} `type:"structure"`
  41977. // [EC2-Classic only] One or more security groups.
  41978. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  41979. // One or more instances.
  41980. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  41981. // The ID of the AWS account that owns the reservation.
  41982. OwnerId *string `locationName:"ownerId" type:"string"`
  41983. // The ID of the requester that launched the instances on your behalf (for example,
  41984. // AWS Management Console or Auto Scaling).
  41985. RequesterId *string `locationName:"requesterId" type:"string"`
  41986. // The ID of the reservation.
  41987. ReservationId *string `locationName:"reservationId" type:"string"`
  41988. }
  41989. // String returns the string representation
  41990. func (s Reservation) String() string {
  41991. return awsutil.Prettify(s)
  41992. }
  41993. // GoString returns the string representation
  41994. func (s Reservation) GoString() string {
  41995. return s.String()
  41996. }
  41997. // SetGroups sets the Groups field's value.
  41998. func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
  41999. s.Groups = v
  42000. return s
  42001. }
  42002. // SetInstances sets the Instances field's value.
  42003. func (s *Reservation) SetInstances(v []*Instance) *Reservation {
  42004. s.Instances = v
  42005. return s
  42006. }
  42007. // SetOwnerId sets the OwnerId field's value.
  42008. func (s *Reservation) SetOwnerId(v string) *Reservation {
  42009. s.OwnerId = &v
  42010. return s
  42011. }
  42012. // SetRequesterId sets the RequesterId field's value.
  42013. func (s *Reservation) SetRequesterId(v string) *Reservation {
  42014. s.RequesterId = &v
  42015. return s
  42016. }
  42017. // SetReservationId sets the ReservationId field's value.
  42018. func (s *Reservation) SetReservationId(v string) *Reservation {
  42019. s.ReservationId = &v
  42020. return s
  42021. }
  42022. // The cost associated with the Reserved Instance.
  42023. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservationValue
  42024. type ReservationValue struct {
  42025. _ struct{} `type:"structure"`
  42026. // The hourly rate of the reservation.
  42027. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  42028. // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
  42029. // * number of hours remaining).
  42030. RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
  42031. // The remaining upfront cost of the reservation.
  42032. RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
  42033. }
  42034. // String returns the string representation
  42035. func (s ReservationValue) String() string {
  42036. return awsutil.Prettify(s)
  42037. }
  42038. // GoString returns the string representation
  42039. func (s ReservationValue) GoString() string {
  42040. return s.String()
  42041. }
  42042. // SetHourlyPrice sets the HourlyPrice field's value.
  42043. func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
  42044. s.HourlyPrice = &v
  42045. return s
  42046. }
  42047. // SetRemainingTotalValue sets the RemainingTotalValue field's value.
  42048. func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
  42049. s.RemainingTotalValue = &v
  42050. return s
  42051. }
  42052. // SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
  42053. func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
  42054. s.RemainingUpfrontValue = &v
  42055. return s
  42056. }
  42057. // Describes the limit price of a Reserved Instance offering.
  42058. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstanceLimitPrice
  42059. type ReservedInstanceLimitPrice struct {
  42060. _ struct{} `type:"structure"`
  42061. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  42062. // on the total order (instanceCount * price).
  42063. Amount *float64 `locationName:"amount" type:"double"`
  42064. // The currency in which the limitPrice amount is specified. At this time, the
  42065. // only supported currency is USD.
  42066. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  42067. }
  42068. // String returns the string representation
  42069. func (s ReservedInstanceLimitPrice) String() string {
  42070. return awsutil.Prettify(s)
  42071. }
  42072. // GoString returns the string representation
  42073. func (s ReservedInstanceLimitPrice) GoString() string {
  42074. return s.String()
  42075. }
  42076. // SetAmount sets the Amount field's value.
  42077. func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
  42078. s.Amount = &v
  42079. return s
  42080. }
  42081. // SetCurrencyCode sets the CurrencyCode field's value.
  42082. func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
  42083. s.CurrencyCode = &v
  42084. return s
  42085. }
  42086. // The total value of the Convertible Reserved Instance.
  42087. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstanceReservationValue
  42088. type ReservedInstanceReservationValue struct {
  42089. _ struct{} `type:"structure"`
  42090. // The total value of the Convertible Reserved Instance that you are exchanging.
  42091. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  42092. // The ID of the Convertible Reserved Instance that you are exchanging.
  42093. ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
  42094. }
  42095. // String returns the string representation
  42096. func (s ReservedInstanceReservationValue) String() string {
  42097. return awsutil.Prettify(s)
  42098. }
  42099. // GoString returns the string representation
  42100. func (s ReservedInstanceReservationValue) GoString() string {
  42101. return s.String()
  42102. }
  42103. // SetReservationValue sets the ReservationValue field's value.
  42104. func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
  42105. s.ReservationValue = v
  42106. return s
  42107. }
  42108. // SetReservedInstanceId sets the ReservedInstanceId field's value.
  42109. func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
  42110. s.ReservedInstanceId = &v
  42111. return s
  42112. }
  42113. // Describes a Reserved Instance.
  42114. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstances
  42115. type ReservedInstances struct {
  42116. _ struct{} `type:"structure"`
  42117. // The Availability Zone in which the Reserved Instance can be used.
  42118. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  42119. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  42120. // currency codes. At this time, the only supported currency is USD.
  42121. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  42122. // The duration of the Reserved Instance, in seconds.
  42123. Duration *int64 `locationName:"duration" type:"long"`
  42124. // The time when the Reserved Instance expires.
  42125. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  42126. // The purchase price of the Reserved Instance.
  42127. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  42128. // The number of reservations purchased.
  42129. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  42130. // The tenancy of the instance.
  42131. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  42132. // The instance type on which the Reserved Instance can be used.
  42133. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  42134. // The offering class of the Reserved Instance.
  42135. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  42136. // The Reserved Instance offering type.
  42137. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  42138. // The Reserved Instance product platform description.
  42139. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  42140. // The recurring charge tag assigned to the resource.
  42141. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  42142. // The ID of the Reserved Instance.
  42143. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  42144. // The scope of the Reserved Instance.
  42145. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  42146. // The date and time the Reserved Instance started.
  42147. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  42148. // The state of the Reserved Instance purchase.
  42149. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  42150. // Any tags assigned to the resource.
  42151. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  42152. // The usage price of the Reserved Instance, per hour.
  42153. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  42154. }
  42155. // String returns the string representation
  42156. func (s ReservedInstances) String() string {
  42157. return awsutil.Prettify(s)
  42158. }
  42159. // GoString returns the string representation
  42160. func (s ReservedInstances) GoString() string {
  42161. return s.String()
  42162. }
  42163. // SetAvailabilityZone sets the AvailabilityZone field's value.
  42164. func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
  42165. s.AvailabilityZone = &v
  42166. return s
  42167. }
  42168. // SetCurrencyCode sets the CurrencyCode field's value.
  42169. func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
  42170. s.CurrencyCode = &v
  42171. return s
  42172. }
  42173. // SetDuration sets the Duration field's value.
  42174. func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
  42175. s.Duration = &v
  42176. return s
  42177. }
  42178. // SetEnd sets the End field's value.
  42179. func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
  42180. s.End = &v
  42181. return s
  42182. }
  42183. // SetFixedPrice sets the FixedPrice field's value.
  42184. func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
  42185. s.FixedPrice = &v
  42186. return s
  42187. }
  42188. // SetInstanceCount sets the InstanceCount field's value.
  42189. func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
  42190. s.InstanceCount = &v
  42191. return s
  42192. }
  42193. // SetInstanceTenancy sets the InstanceTenancy field's value.
  42194. func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
  42195. s.InstanceTenancy = &v
  42196. return s
  42197. }
  42198. // SetInstanceType sets the InstanceType field's value.
  42199. func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
  42200. s.InstanceType = &v
  42201. return s
  42202. }
  42203. // SetOfferingClass sets the OfferingClass field's value.
  42204. func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
  42205. s.OfferingClass = &v
  42206. return s
  42207. }
  42208. // SetOfferingType sets the OfferingType field's value.
  42209. func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
  42210. s.OfferingType = &v
  42211. return s
  42212. }
  42213. // SetProductDescription sets the ProductDescription field's value.
  42214. func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
  42215. s.ProductDescription = &v
  42216. return s
  42217. }
  42218. // SetRecurringCharges sets the RecurringCharges field's value.
  42219. func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
  42220. s.RecurringCharges = v
  42221. return s
  42222. }
  42223. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  42224. func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
  42225. s.ReservedInstancesId = &v
  42226. return s
  42227. }
  42228. // SetScope sets the Scope field's value.
  42229. func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
  42230. s.Scope = &v
  42231. return s
  42232. }
  42233. // SetStart sets the Start field's value.
  42234. func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
  42235. s.Start = &v
  42236. return s
  42237. }
  42238. // SetState sets the State field's value.
  42239. func (s *ReservedInstances) SetState(v string) *ReservedInstances {
  42240. s.State = &v
  42241. return s
  42242. }
  42243. // SetTags sets the Tags field's value.
  42244. func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
  42245. s.Tags = v
  42246. return s
  42247. }
  42248. // SetUsagePrice sets the UsagePrice field's value.
  42249. func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
  42250. s.UsagePrice = &v
  42251. return s
  42252. }
  42253. // Describes the configuration settings for the modified Reserved Instances.
  42254. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesConfiguration
  42255. type ReservedInstancesConfiguration struct {
  42256. _ struct{} `type:"structure"`
  42257. // The Availability Zone for the modified Reserved Instances.
  42258. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  42259. // The number of modified Reserved Instances.
  42260. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  42261. // The instance type for the modified Reserved Instances.
  42262. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  42263. // The network platform of the modified Reserved Instances, which is either
  42264. // EC2-Classic or EC2-VPC.
  42265. Platform *string `locationName:"platform" type:"string"`
  42266. // Whether the Reserved Instance is applied to instances in a region or instances
  42267. // in a specific Availability Zone.
  42268. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  42269. }
  42270. // String returns the string representation
  42271. func (s ReservedInstancesConfiguration) String() string {
  42272. return awsutil.Prettify(s)
  42273. }
  42274. // GoString returns the string representation
  42275. func (s ReservedInstancesConfiguration) GoString() string {
  42276. return s.String()
  42277. }
  42278. // SetAvailabilityZone sets the AvailabilityZone field's value.
  42279. func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
  42280. s.AvailabilityZone = &v
  42281. return s
  42282. }
  42283. // SetInstanceCount sets the InstanceCount field's value.
  42284. func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
  42285. s.InstanceCount = &v
  42286. return s
  42287. }
  42288. // SetInstanceType sets the InstanceType field's value.
  42289. func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
  42290. s.InstanceType = &v
  42291. return s
  42292. }
  42293. // SetPlatform sets the Platform field's value.
  42294. func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
  42295. s.Platform = &v
  42296. return s
  42297. }
  42298. // SetScope sets the Scope field's value.
  42299. func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
  42300. s.Scope = &v
  42301. return s
  42302. }
  42303. // Describes the ID of a Reserved Instance.
  42304. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesId
  42305. type ReservedInstancesId struct {
  42306. _ struct{} `type:"structure"`
  42307. // The ID of the Reserved Instance.
  42308. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  42309. }
  42310. // String returns the string representation
  42311. func (s ReservedInstancesId) String() string {
  42312. return awsutil.Prettify(s)
  42313. }
  42314. // GoString returns the string representation
  42315. func (s ReservedInstancesId) GoString() string {
  42316. return s.String()
  42317. }
  42318. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  42319. func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
  42320. s.ReservedInstancesId = &v
  42321. return s
  42322. }
  42323. // Describes a Reserved Instance listing.
  42324. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesListing
  42325. type ReservedInstancesListing struct {
  42326. _ struct{} `type:"structure"`
  42327. // A unique, case-sensitive key supplied by the client to ensure that the request
  42328. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42329. ClientToken *string `locationName:"clientToken" type:"string"`
  42330. // The time the listing was created.
  42331. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  42332. // The number of instances in this state.
  42333. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  42334. // The price of the Reserved Instance listing.
  42335. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  42336. // The ID of the Reserved Instance.
  42337. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  42338. // The ID of the Reserved Instance listing.
  42339. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  42340. // The status of the Reserved Instance listing.
  42341. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  42342. // The reason for the current status of the Reserved Instance listing. The response
  42343. // can be blank.
  42344. StatusMessage *string `locationName:"statusMessage" type:"string"`
  42345. // Any tags assigned to the resource.
  42346. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  42347. // The last modified timestamp of the listing.
  42348. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  42349. }
  42350. // String returns the string representation
  42351. func (s ReservedInstancesListing) String() string {
  42352. return awsutil.Prettify(s)
  42353. }
  42354. // GoString returns the string representation
  42355. func (s ReservedInstancesListing) GoString() string {
  42356. return s.String()
  42357. }
  42358. // SetClientToken sets the ClientToken field's value.
  42359. func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
  42360. s.ClientToken = &v
  42361. return s
  42362. }
  42363. // SetCreateDate sets the CreateDate field's value.
  42364. func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
  42365. s.CreateDate = &v
  42366. return s
  42367. }
  42368. // SetInstanceCounts sets the InstanceCounts field's value.
  42369. func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
  42370. s.InstanceCounts = v
  42371. return s
  42372. }
  42373. // SetPriceSchedules sets the PriceSchedules field's value.
  42374. func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
  42375. s.PriceSchedules = v
  42376. return s
  42377. }
  42378. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  42379. func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
  42380. s.ReservedInstancesId = &v
  42381. return s
  42382. }
  42383. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  42384. func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
  42385. s.ReservedInstancesListingId = &v
  42386. return s
  42387. }
  42388. // SetStatus sets the Status field's value.
  42389. func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
  42390. s.Status = &v
  42391. return s
  42392. }
  42393. // SetStatusMessage sets the StatusMessage field's value.
  42394. func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
  42395. s.StatusMessage = &v
  42396. return s
  42397. }
  42398. // SetTags sets the Tags field's value.
  42399. func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
  42400. s.Tags = v
  42401. return s
  42402. }
  42403. // SetUpdateDate sets the UpdateDate field's value.
  42404. func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
  42405. s.UpdateDate = &v
  42406. return s
  42407. }
  42408. // Describes a Reserved Instance modification.
  42409. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesModification
  42410. type ReservedInstancesModification struct {
  42411. _ struct{} `type:"structure"`
  42412. // A unique, case-sensitive key supplied by the client to ensure that the request
  42413. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42414. ClientToken *string `locationName:"clientToken" type:"string"`
  42415. // The time when the modification request was created.
  42416. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  42417. // The time for the modification to become effective.
  42418. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
  42419. // Contains target configurations along with their corresponding new Reserved
  42420. // Instance IDs.
  42421. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  42422. // The IDs of one or more Reserved Instances.
  42423. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  42424. // A unique ID for the Reserved Instance modification.
  42425. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  42426. // The status of the Reserved Instances modification request.
  42427. Status *string `locationName:"status" type:"string"`
  42428. // The reason for the status.
  42429. StatusMessage *string `locationName:"statusMessage" type:"string"`
  42430. // The time when the modification request was last updated.
  42431. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  42432. }
  42433. // String returns the string representation
  42434. func (s ReservedInstancesModification) String() string {
  42435. return awsutil.Prettify(s)
  42436. }
  42437. // GoString returns the string representation
  42438. func (s ReservedInstancesModification) GoString() string {
  42439. return s.String()
  42440. }
  42441. // SetClientToken sets the ClientToken field's value.
  42442. func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
  42443. s.ClientToken = &v
  42444. return s
  42445. }
  42446. // SetCreateDate sets the CreateDate field's value.
  42447. func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
  42448. s.CreateDate = &v
  42449. return s
  42450. }
  42451. // SetEffectiveDate sets the EffectiveDate field's value.
  42452. func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
  42453. s.EffectiveDate = &v
  42454. return s
  42455. }
  42456. // SetModificationResults sets the ModificationResults field's value.
  42457. func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
  42458. s.ModificationResults = v
  42459. return s
  42460. }
  42461. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  42462. func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
  42463. s.ReservedInstancesIds = v
  42464. return s
  42465. }
  42466. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  42467. func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
  42468. s.ReservedInstancesModificationId = &v
  42469. return s
  42470. }
  42471. // SetStatus sets the Status field's value.
  42472. func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
  42473. s.Status = &v
  42474. return s
  42475. }
  42476. // SetStatusMessage sets the StatusMessage field's value.
  42477. func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
  42478. s.StatusMessage = &v
  42479. return s
  42480. }
  42481. // SetUpdateDate sets the UpdateDate field's value.
  42482. func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
  42483. s.UpdateDate = &v
  42484. return s
  42485. }
  42486. // Describes the modification request/s.
  42487. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesModificationResult
  42488. type ReservedInstancesModificationResult struct {
  42489. _ struct{} `type:"structure"`
  42490. // The ID for the Reserved Instances that were created as part of the modification
  42491. // request. This field is only available when the modification is fulfilled.
  42492. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  42493. // The target Reserved Instances configurations supplied as part of the modification
  42494. // request.
  42495. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  42496. }
  42497. // String returns the string representation
  42498. func (s ReservedInstancesModificationResult) String() string {
  42499. return awsutil.Prettify(s)
  42500. }
  42501. // GoString returns the string representation
  42502. func (s ReservedInstancesModificationResult) GoString() string {
  42503. return s.String()
  42504. }
  42505. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  42506. func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
  42507. s.ReservedInstancesId = &v
  42508. return s
  42509. }
  42510. // SetTargetConfiguration sets the TargetConfiguration field's value.
  42511. func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
  42512. s.TargetConfiguration = v
  42513. return s
  42514. }
  42515. // Describes a Reserved Instance offering.
  42516. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesOffering
  42517. type ReservedInstancesOffering struct {
  42518. _ struct{} `type:"structure"`
  42519. // The Availability Zone in which the Reserved Instance can be used.
  42520. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  42521. // The currency of the Reserved Instance offering you are purchasing. It's specified
  42522. // using ISO 4217 standard currency codes. At this time, the only supported
  42523. // currency is USD.
  42524. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  42525. // The duration of the Reserved Instance, in seconds.
  42526. Duration *int64 `locationName:"duration" type:"long"`
  42527. // The purchase price of the Reserved Instance.
  42528. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  42529. // The tenancy of the instance.
  42530. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  42531. // The instance type on which the Reserved Instance can be used.
  42532. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  42533. // Indicates whether the offering is available through the Reserved Instance
  42534. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  42535. // this is true.
  42536. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  42537. // If convertible it can be exchanged for Reserved Instances of the same or
  42538. // higher monetary value, with different configurations. If standard, it is
  42539. // not possible to perform an exchange.
  42540. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  42541. // The Reserved Instance offering type.
  42542. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  42543. // The pricing details of the Reserved Instance offering.
  42544. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  42545. // The Reserved Instance product platform description.
  42546. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  42547. // The recurring charge tag assigned to the resource.
  42548. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  42549. // The ID of the Reserved Instance offering. This is the offering ID used in
  42550. // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
  42551. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  42552. // Whether the Reserved Instance is applied to instances in a region or an Availability
  42553. // Zone.
  42554. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  42555. // The usage price of the Reserved Instance, per hour.
  42556. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  42557. }
  42558. // String returns the string representation
  42559. func (s ReservedInstancesOffering) String() string {
  42560. return awsutil.Prettify(s)
  42561. }
  42562. // GoString returns the string representation
  42563. func (s ReservedInstancesOffering) GoString() string {
  42564. return s.String()
  42565. }
  42566. // SetAvailabilityZone sets the AvailabilityZone field's value.
  42567. func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
  42568. s.AvailabilityZone = &v
  42569. return s
  42570. }
  42571. // SetCurrencyCode sets the CurrencyCode field's value.
  42572. func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
  42573. s.CurrencyCode = &v
  42574. return s
  42575. }
  42576. // SetDuration sets the Duration field's value.
  42577. func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
  42578. s.Duration = &v
  42579. return s
  42580. }
  42581. // SetFixedPrice sets the FixedPrice field's value.
  42582. func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
  42583. s.FixedPrice = &v
  42584. return s
  42585. }
  42586. // SetInstanceTenancy sets the InstanceTenancy field's value.
  42587. func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
  42588. s.InstanceTenancy = &v
  42589. return s
  42590. }
  42591. // SetInstanceType sets the InstanceType field's value.
  42592. func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
  42593. s.InstanceType = &v
  42594. return s
  42595. }
  42596. // SetMarketplace sets the Marketplace field's value.
  42597. func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
  42598. s.Marketplace = &v
  42599. return s
  42600. }
  42601. // SetOfferingClass sets the OfferingClass field's value.
  42602. func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
  42603. s.OfferingClass = &v
  42604. return s
  42605. }
  42606. // SetOfferingType sets the OfferingType field's value.
  42607. func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
  42608. s.OfferingType = &v
  42609. return s
  42610. }
  42611. // SetPricingDetails sets the PricingDetails field's value.
  42612. func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
  42613. s.PricingDetails = v
  42614. return s
  42615. }
  42616. // SetProductDescription sets the ProductDescription field's value.
  42617. func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
  42618. s.ProductDescription = &v
  42619. return s
  42620. }
  42621. // SetRecurringCharges sets the RecurringCharges field's value.
  42622. func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
  42623. s.RecurringCharges = v
  42624. return s
  42625. }
  42626. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  42627. func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
  42628. s.ReservedInstancesOfferingId = &v
  42629. return s
  42630. }
  42631. // SetScope sets the Scope field's value.
  42632. func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
  42633. s.Scope = &v
  42634. return s
  42635. }
  42636. // SetUsagePrice sets the UsagePrice field's value.
  42637. func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
  42638. s.UsagePrice = &v
  42639. return s
  42640. }
  42641. // Contains the parameters for ResetImageAttribute.
  42642. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttributeRequest
  42643. type ResetImageAttributeInput struct {
  42644. _ struct{} `type:"structure"`
  42645. // The attribute to reset (currently you can only reset the launch permission
  42646. // attribute).
  42647. //
  42648. // Attribute is a required field
  42649. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  42650. // Checks whether you have the required permissions for the action, without
  42651. // actually making the request, and provides an error response. If you have
  42652. // the required permissions, the error response is DryRunOperation. Otherwise,
  42653. // it is UnauthorizedOperation.
  42654. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42655. // The ID of the AMI.
  42656. //
  42657. // ImageId is a required field
  42658. ImageId *string `type:"string" required:"true"`
  42659. }
  42660. // String returns the string representation
  42661. func (s ResetImageAttributeInput) String() string {
  42662. return awsutil.Prettify(s)
  42663. }
  42664. // GoString returns the string representation
  42665. func (s ResetImageAttributeInput) GoString() string {
  42666. return s.String()
  42667. }
  42668. // Validate inspects the fields of the type to determine if they are valid.
  42669. func (s *ResetImageAttributeInput) Validate() error {
  42670. invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
  42671. if s.Attribute == nil {
  42672. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  42673. }
  42674. if s.ImageId == nil {
  42675. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  42676. }
  42677. if invalidParams.Len() > 0 {
  42678. return invalidParams
  42679. }
  42680. return nil
  42681. }
  42682. // SetAttribute sets the Attribute field's value.
  42683. func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
  42684. s.Attribute = &v
  42685. return s
  42686. }
  42687. // SetDryRun sets the DryRun field's value.
  42688. func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
  42689. s.DryRun = &v
  42690. return s
  42691. }
  42692. // SetImageId sets the ImageId field's value.
  42693. func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
  42694. s.ImageId = &v
  42695. return s
  42696. }
  42697. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttributeOutput
  42698. type ResetImageAttributeOutput struct {
  42699. _ struct{} `type:"structure"`
  42700. }
  42701. // String returns the string representation
  42702. func (s ResetImageAttributeOutput) String() string {
  42703. return awsutil.Prettify(s)
  42704. }
  42705. // GoString returns the string representation
  42706. func (s ResetImageAttributeOutput) GoString() string {
  42707. return s.String()
  42708. }
  42709. // Contains the parameters for ResetInstanceAttribute.
  42710. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttributeRequest
  42711. type ResetInstanceAttributeInput struct {
  42712. _ struct{} `type:"structure"`
  42713. // The attribute to reset.
  42714. //
  42715. // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
  42716. // To change an instance attribute, use ModifyInstanceAttribute.
  42717. //
  42718. // Attribute is a required field
  42719. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  42720. // Checks whether you have the required permissions for the action, without
  42721. // actually making the request, and provides an error response. If you have
  42722. // the required permissions, the error response is DryRunOperation. Otherwise,
  42723. // it is UnauthorizedOperation.
  42724. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42725. // The ID of the instance.
  42726. //
  42727. // InstanceId is a required field
  42728. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  42729. }
  42730. // String returns the string representation
  42731. func (s ResetInstanceAttributeInput) String() string {
  42732. return awsutil.Prettify(s)
  42733. }
  42734. // GoString returns the string representation
  42735. func (s ResetInstanceAttributeInput) GoString() string {
  42736. return s.String()
  42737. }
  42738. // Validate inspects the fields of the type to determine if they are valid.
  42739. func (s *ResetInstanceAttributeInput) Validate() error {
  42740. invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
  42741. if s.Attribute == nil {
  42742. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  42743. }
  42744. if s.InstanceId == nil {
  42745. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  42746. }
  42747. if invalidParams.Len() > 0 {
  42748. return invalidParams
  42749. }
  42750. return nil
  42751. }
  42752. // SetAttribute sets the Attribute field's value.
  42753. func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
  42754. s.Attribute = &v
  42755. return s
  42756. }
  42757. // SetDryRun sets the DryRun field's value.
  42758. func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
  42759. s.DryRun = &v
  42760. return s
  42761. }
  42762. // SetInstanceId sets the InstanceId field's value.
  42763. func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
  42764. s.InstanceId = &v
  42765. return s
  42766. }
  42767. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttributeOutput
  42768. type ResetInstanceAttributeOutput struct {
  42769. _ struct{} `type:"structure"`
  42770. }
  42771. // String returns the string representation
  42772. func (s ResetInstanceAttributeOutput) String() string {
  42773. return awsutil.Prettify(s)
  42774. }
  42775. // GoString returns the string representation
  42776. func (s ResetInstanceAttributeOutput) GoString() string {
  42777. return s.String()
  42778. }
  42779. // Contains the parameters for ResetNetworkInterfaceAttribute.
  42780. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttributeRequest
  42781. type ResetNetworkInterfaceAttributeInput struct {
  42782. _ struct{} `type:"structure"`
  42783. // Checks whether you have the required permissions for the action, without
  42784. // actually making the request, and provides an error response. If you have
  42785. // the required permissions, the error response is DryRunOperation. Otherwise,
  42786. // it is UnauthorizedOperation.
  42787. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42788. // The ID of the network interface.
  42789. //
  42790. // NetworkInterfaceId is a required field
  42791. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  42792. // The source/destination checking attribute. Resets the value to true.
  42793. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  42794. }
  42795. // String returns the string representation
  42796. func (s ResetNetworkInterfaceAttributeInput) String() string {
  42797. return awsutil.Prettify(s)
  42798. }
  42799. // GoString returns the string representation
  42800. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  42801. return s.String()
  42802. }
  42803. // Validate inspects the fields of the type to determine if they are valid.
  42804. func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
  42805. invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
  42806. if s.NetworkInterfaceId == nil {
  42807. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  42808. }
  42809. if invalidParams.Len() > 0 {
  42810. return invalidParams
  42811. }
  42812. return nil
  42813. }
  42814. // SetDryRun sets the DryRun field's value.
  42815. func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
  42816. s.DryRun = &v
  42817. return s
  42818. }
  42819. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  42820. func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
  42821. s.NetworkInterfaceId = &v
  42822. return s
  42823. }
  42824. // SetSourceDestCheck sets the SourceDestCheck field's value.
  42825. func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
  42826. s.SourceDestCheck = &v
  42827. return s
  42828. }
  42829. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttributeOutput
  42830. type ResetNetworkInterfaceAttributeOutput struct {
  42831. _ struct{} `type:"structure"`
  42832. }
  42833. // String returns the string representation
  42834. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  42835. return awsutil.Prettify(s)
  42836. }
  42837. // GoString returns the string representation
  42838. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  42839. return s.String()
  42840. }
  42841. // Contains the parameters for ResetSnapshotAttribute.
  42842. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttributeRequest
  42843. type ResetSnapshotAttributeInput struct {
  42844. _ struct{} `type:"structure"`
  42845. // The attribute to reset. Currently, only the attribute for permission to create
  42846. // volumes can be reset.
  42847. //
  42848. // Attribute is a required field
  42849. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  42850. // Checks whether you have the required permissions for the action, without
  42851. // actually making the request, and provides an error response. If you have
  42852. // the required permissions, the error response is DryRunOperation. Otherwise,
  42853. // it is UnauthorizedOperation.
  42854. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42855. // The ID of the snapshot.
  42856. //
  42857. // SnapshotId is a required field
  42858. SnapshotId *string `type:"string" required:"true"`
  42859. }
  42860. // String returns the string representation
  42861. func (s ResetSnapshotAttributeInput) String() string {
  42862. return awsutil.Prettify(s)
  42863. }
  42864. // GoString returns the string representation
  42865. func (s ResetSnapshotAttributeInput) GoString() string {
  42866. return s.String()
  42867. }
  42868. // Validate inspects the fields of the type to determine if they are valid.
  42869. func (s *ResetSnapshotAttributeInput) Validate() error {
  42870. invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
  42871. if s.Attribute == nil {
  42872. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  42873. }
  42874. if s.SnapshotId == nil {
  42875. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  42876. }
  42877. if invalidParams.Len() > 0 {
  42878. return invalidParams
  42879. }
  42880. return nil
  42881. }
  42882. // SetAttribute sets the Attribute field's value.
  42883. func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
  42884. s.Attribute = &v
  42885. return s
  42886. }
  42887. // SetDryRun sets the DryRun field's value.
  42888. func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
  42889. s.DryRun = &v
  42890. return s
  42891. }
  42892. // SetSnapshotId sets the SnapshotId field's value.
  42893. func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
  42894. s.SnapshotId = &v
  42895. return s
  42896. }
  42897. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttributeOutput
  42898. type ResetSnapshotAttributeOutput struct {
  42899. _ struct{} `type:"structure"`
  42900. }
  42901. // String returns the string representation
  42902. func (s ResetSnapshotAttributeOutput) String() string {
  42903. return awsutil.Prettify(s)
  42904. }
  42905. // GoString returns the string representation
  42906. func (s ResetSnapshotAttributeOutput) GoString() string {
  42907. return s.String()
  42908. }
  42909. // Contains the parameters for RestoreAddressToClassic.
  42910. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassicRequest
  42911. type RestoreAddressToClassicInput struct {
  42912. _ struct{} `type:"structure"`
  42913. // Checks whether you have the required permissions for the action, without
  42914. // actually making the request, and provides an error response. If you have
  42915. // the required permissions, the error response is DryRunOperation. Otherwise,
  42916. // it is UnauthorizedOperation.
  42917. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42918. // The Elastic IP address.
  42919. //
  42920. // PublicIp is a required field
  42921. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  42922. }
  42923. // String returns the string representation
  42924. func (s RestoreAddressToClassicInput) String() string {
  42925. return awsutil.Prettify(s)
  42926. }
  42927. // GoString returns the string representation
  42928. func (s RestoreAddressToClassicInput) GoString() string {
  42929. return s.String()
  42930. }
  42931. // Validate inspects the fields of the type to determine if they are valid.
  42932. func (s *RestoreAddressToClassicInput) Validate() error {
  42933. invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
  42934. if s.PublicIp == nil {
  42935. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  42936. }
  42937. if invalidParams.Len() > 0 {
  42938. return invalidParams
  42939. }
  42940. return nil
  42941. }
  42942. // SetDryRun sets the DryRun field's value.
  42943. func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
  42944. s.DryRun = &v
  42945. return s
  42946. }
  42947. // SetPublicIp sets the PublicIp field's value.
  42948. func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
  42949. s.PublicIp = &v
  42950. return s
  42951. }
  42952. // Contains the output of RestoreAddressToClassic.
  42953. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassicResult
  42954. type RestoreAddressToClassicOutput struct {
  42955. _ struct{} `type:"structure"`
  42956. // The Elastic IP address.
  42957. PublicIp *string `locationName:"publicIp" type:"string"`
  42958. // The move status for the IP address.
  42959. Status *string `locationName:"status" type:"string" enum:"Status"`
  42960. }
  42961. // String returns the string representation
  42962. func (s RestoreAddressToClassicOutput) String() string {
  42963. return awsutil.Prettify(s)
  42964. }
  42965. // GoString returns the string representation
  42966. func (s RestoreAddressToClassicOutput) GoString() string {
  42967. return s.String()
  42968. }
  42969. // SetPublicIp sets the PublicIp field's value.
  42970. func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
  42971. s.PublicIp = &v
  42972. return s
  42973. }
  42974. // SetStatus sets the Status field's value.
  42975. func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
  42976. s.Status = &v
  42977. return s
  42978. }
  42979. // Contains the parameters for RevokeSecurityGroupEgress.
  42980. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgressRequest
  42981. type RevokeSecurityGroupEgressInput struct {
  42982. _ struct{} `type:"structure"`
  42983. // The CIDR IP address range. We recommend that you specify the CIDR range in
  42984. // a set of IP permissions instead.
  42985. CidrIp *string `locationName:"cidrIp" type:"string"`
  42986. // Checks whether you have the required permissions for the action, without
  42987. // actually making the request, and provides an error response. If you have
  42988. // the required permissions, the error response is DryRunOperation. Otherwise,
  42989. // it is UnauthorizedOperation.
  42990. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42991. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  42992. // We recommend that you specify the port range in a set of IP permissions instead.
  42993. FromPort *int64 `locationName:"fromPort" type:"integer"`
  42994. // The ID of the security group.
  42995. //
  42996. // GroupId is a required field
  42997. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  42998. // A set of IP permissions. You can't specify a destination security group and
  42999. // a CIDR IP address range.
  43000. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  43001. // The IP protocol name or number. We recommend that you specify the protocol
  43002. // in a set of IP permissions instead.
  43003. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  43004. // The name of a destination security group. To revoke outbound access to a
  43005. // destination security group, we recommend that you use a set of IP permissions
  43006. // instead.
  43007. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  43008. // The AWS account number for a destination security group. To revoke outbound
  43009. // access to a destination security group, we recommend that you use a set of
  43010. // IP permissions instead.
  43011. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  43012. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  43013. // We recommend that you specify the port range in a set of IP permissions instead.
  43014. ToPort *int64 `locationName:"toPort" type:"integer"`
  43015. }
  43016. // String returns the string representation
  43017. func (s RevokeSecurityGroupEgressInput) String() string {
  43018. return awsutil.Prettify(s)
  43019. }
  43020. // GoString returns the string representation
  43021. func (s RevokeSecurityGroupEgressInput) GoString() string {
  43022. return s.String()
  43023. }
  43024. // Validate inspects the fields of the type to determine if they are valid.
  43025. func (s *RevokeSecurityGroupEgressInput) Validate() error {
  43026. invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
  43027. if s.GroupId == nil {
  43028. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  43029. }
  43030. if invalidParams.Len() > 0 {
  43031. return invalidParams
  43032. }
  43033. return nil
  43034. }
  43035. // SetCidrIp sets the CidrIp field's value.
  43036. func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
  43037. s.CidrIp = &v
  43038. return s
  43039. }
  43040. // SetDryRun sets the DryRun field's value.
  43041. func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
  43042. s.DryRun = &v
  43043. return s
  43044. }
  43045. // SetFromPort sets the FromPort field's value.
  43046. func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
  43047. s.FromPort = &v
  43048. return s
  43049. }
  43050. // SetGroupId sets the GroupId field's value.
  43051. func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
  43052. s.GroupId = &v
  43053. return s
  43054. }
  43055. // SetIpPermissions sets the IpPermissions field's value.
  43056. func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
  43057. s.IpPermissions = v
  43058. return s
  43059. }
  43060. // SetIpProtocol sets the IpProtocol field's value.
  43061. func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
  43062. s.IpProtocol = &v
  43063. return s
  43064. }
  43065. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  43066. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
  43067. s.SourceSecurityGroupName = &v
  43068. return s
  43069. }
  43070. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  43071. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
  43072. s.SourceSecurityGroupOwnerId = &v
  43073. return s
  43074. }
  43075. // SetToPort sets the ToPort field's value.
  43076. func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
  43077. s.ToPort = &v
  43078. return s
  43079. }
  43080. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgressOutput
  43081. type RevokeSecurityGroupEgressOutput struct {
  43082. _ struct{} `type:"structure"`
  43083. }
  43084. // String returns the string representation
  43085. func (s RevokeSecurityGroupEgressOutput) String() string {
  43086. return awsutil.Prettify(s)
  43087. }
  43088. // GoString returns the string representation
  43089. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  43090. return s.String()
  43091. }
  43092. // Contains the parameters for RevokeSecurityGroupIngress.
  43093. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngressRequest
  43094. type RevokeSecurityGroupIngressInput struct {
  43095. _ struct{} `type:"structure"`
  43096. // The CIDR IP address range. You can't specify this parameter when specifying
  43097. // a source security group.
  43098. CidrIp *string `type:"string"`
  43099. // Checks whether you have the required permissions for the action, without
  43100. // actually making the request, and provides an error response. If you have
  43101. // the required permissions, the error response is DryRunOperation. Otherwise,
  43102. // it is UnauthorizedOperation.
  43103. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43104. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  43105. // For the ICMP type number, use -1 to specify all ICMP types.
  43106. FromPort *int64 `type:"integer"`
  43107. // The ID of the security group. Required for a security group in a nondefault
  43108. // VPC.
  43109. GroupId *string `type:"string"`
  43110. // [EC2-Classic, default VPC] The name of the security group.
  43111. GroupName *string `type:"string"`
  43112. // A set of IP permissions. You can't specify a source security group and a
  43113. // CIDR IP address range.
  43114. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  43115. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  43116. // Use -1 to specify all.
  43117. IpProtocol *string `type:"string"`
  43118. // [EC2-Classic, default VPC] The name of the source security group. You can't
  43119. // specify this parameter in combination with the following parameters: the
  43120. // CIDR IP address range, the start of the port range, the IP protocol, and
  43121. // the end of the port range. For EC2-VPC, the source security group must be
  43122. // in the same VPC. To revoke a specific rule for an IP protocol and port range,
  43123. // use a set of IP permissions instead.
  43124. SourceSecurityGroupName *string `type:"string"`
  43125. // [EC2-Classic] The AWS account ID of the source security group, if the source
  43126. // security group is in a different account. You can't specify this parameter
  43127. // in combination with the following parameters: the CIDR IP address range,
  43128. // the IP protocol, the start of the port range, and the end of the port range.
  43129. // To revoke a specific rule for an IP protocol and port range, use a set of
  43130. // IP permissions instead.
  43131. SourceSecurityGroupOwnerId *string `type:"string"`
  43132. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  43133. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  43134. ToPort *int64 `type:"integer"`
  43135. }
  43136. // String returns the string representation
  43137. func (s RevokeSecurityGroupIngressInput) String() string {
  43138. return awsutil.Prettify(s)
  43139. }
  43140. // GoString returns the string representation
  43141. func (s RevokeSecurityGroupIngressInput) GoString() string {
  43142. return s.String()
  43143. }
  43144. // SetCidrIp sets the CidrIp field's value.
  43145. func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
  43146. s.CidrIp = &v
  43147. return s
  43148. }
  43149. // SetDryRun sets the DryRun field's value.
  43150. func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
  43151. s.DryRun = &v
  43152. return s
  43153. }
  43154. // SetFromPort sets the FromPort field's value.
  43155. func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
  43156. s.FromPort = &v
  43157. return s
  43158. }
  43159. // SetGroupId sets the GroupId field's value.
  43160. func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
  43161. s.GroupId = &v
  43162. return s
  43163. }
  43164. // SetGroupName sets the GroupName field's value.
  43165. func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
  43166. s.GroupName = &v
  43167. return s
  43168. }
  43169. // SetIpPermissions sets the IpPermissions field's value.
  43170. func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
  43171. s.IpPermissions = v
  43172. return s
  43173. }
  43174. // SetIpProtocol sets the IpProtocol field's value.
  43175. func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
  43176. s.IpProtocol = &v
  43177. return s
  43178. }
  43179. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  43180. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
  43181. s.SourceSecurityGroupName = &v
  43182. return s
  43183. }
  43184. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  43185. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
  43186. s.SourceSecurityGroupOwnerId = &v
  43187. return s
  43188. }
  43189. // SetToPort sets the ToPort field's value.
  43190. func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
  43191. s.ToPort = &v
  43192. return s
  43193. }
  43194. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngressOutput
  43195. type RevokeSecurityGroupIngressOutput struct {
  43196. _ struct{} `type:"structure"`
  43197. }
  43198. // String returns the string representation
  43199. func (s RevokeSecurityGroupIngressOutput) String() string {
  43200. return awsutil.Prettify(s)
  43201. }
  43202. // GoString returns the string representation
  43203. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  43204. return s.String()
  43205. }
  43206. // Describes a route in a route table.
  43207. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Route
  43208. type Route struct {
  43209. _ struct{} `type:"structure"`
  43210. // The IPv4 CIDR block used for the destination match.
  43211. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  43212. // The IPv6 CIDR block used for the destination match.
  43213. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  43214. // The prefix of the AWS service.
  43215. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  43216. // The ID of the egress-only Internet gateway.
  43217. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  43218. // The ID of a gateway attached to your VPC.
  43219. GatewayId *string `locationName:"gatewayId" type:"string"`
  43220. // The ID of a NAT instance in your VPC.
  43221. InstanceId *string `locationName:"instanceId" type:"string"`
  43222. // The AWS account ID of the owner of the instance.
  43223. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  43224. // The ID of a NAT gateway.
  43225. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  43226. // The ID of the network interface.
  43227. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  43228. // Describes how the route was created.
  43229. //
  43230. // * CreateRouteTable - The route was automatically created when the route
  43231. // table was created.
  43232. //
  43233. // * CreateRoute - The route was manually added to the route table.
  43234. //
  43235. // * EnableVgwRoutePropagation - The route was propagated by route propagation.
  43236. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  43237. // The state of the route. The blackhole state indicates that the route's target
  43238. // isn't available (for example, the specified gateway isn't attached to the
  43239. // VPC, or the specified NAT instance has been terminated).
  43240. State *string `locationName:"state" type:"string" enum:"RouteState"`
  43241. // The ID of the VPC peering connection.
  43242. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  43243. }
  43244. // String returns the string representation
  43245. func (s Route) String() string {
  43246. return awsutil.Prettify(s)
  43247. }
  43248. // GoString returns the string representation
  43249. func (s Route) GoString() string {
  43250. return s.String()
  43251. }
  43252. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  43253. func (s *Route) SetDestinationCidrBlock(v string) *Route {
  43254. s.DestinationCidrBlock = &v
  43255. return s
  43256. }
  43257. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  43258. func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
  43259. s.DestinationIpv6CidrBlock = &v
  43260. return s
  43261. }
  43262. // SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
  43263. func (s *Route) SetDestinationPrefixListId(v string) *Route {
  43264. s.DestinationPrefixListId = &v
  43265. return s
  43266. }
  43267. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  43268. func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
  43269. s.EgressOnlyInternetGatewayId = &v
  43270. return s
  43271. }
  43272. // SetGatewayId sets the GatewayId field's value.
  43273. func (s *Route) SetGatewayId(v string) *Route {
  43274. s.GatewayId = &v
  43275. return s
  43276. }
  43277. // SetInstanceId sets the InstanceId field's value.
  43278. func (s *Route) SetInstanceId(v string) *Route {
  43279. s.InstanceId = &v
  43280. return s
  43281. }
  43282. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  43283. func (s *Route) SetInstanceOwnerId(v string) *Route {
  43284. s.InstanceOwnerId = &v
  43285. return s
  43286. }
  43287. // SetNatGatewayId sets the NatGatewayId field's value.
  43288. func (s *Route) SetNatGatewayId(v string) *Route {
  43289. s.NatGatewayId = &v
  43290. return s
  43291. }
  43292. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  43293. func (s *Route) SetNetworkInterfaceId(v string) *Route {
  43294. s.NetworkInterfaceId = &v
  43295. return s
  43296. }
  43297. // SetOrigin sets the Origin field's value.
  43298. func (s *Route) SetOrigin(v string) *Route {
  43299. s.Origin = &v
  43300. return s
  43301. }
  43302. // SetState sets the State field's value.
  43303. func (s *Route) SetState(v string) *Route {
  43304. s.State = &v
  43305. return s
  43306. }
  43307. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  43308. func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
  43309. s.VpcPeeringConnectionId = &v
  43310. return s
  43311. }
  43312. // Describes a route table.
  43313. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteTable
  43314. type RouteTable struct {
  43315. _ struct{} `type:"structure"`
  43316. // The associations between the route table and one or more subnets.
  43317. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  43318. // Any virtual private gateway (VGW) propagating routes.
  43319. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  43320. // The ID of the route table.
  43321. RouteTableId *string `locationName:"routeTableId" type:"string"`
  43322. // The routes in the route table.
  43323. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  43324. // Any tags assigned to the route table.
  43325. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  43326. // The ID of the VPC.
  43327. VpcId *string `locationName:"vpcId" type:"string"`
  43328. }
  43329. // String returns the string representation
  43330. func (s RouteTable) String() string {
  43331. return awsutil.Prettify(s)
  43332. }
  43333. // GoString returns the string representation
  43334. func (s RouteTable) GoString() string {
  43335. return s.String()
  43336. }
  43337. // SetAssociations sets the Associations field's value.
  43338. func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
  43339. s.Associations = v
  43340. return s
  43341. }
  43342. // SetPropagatingVgws sets the PropagatingVgws field's value.
  43343. func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
  43344. s.PropagatingVgws = v
  43345. return s
  43346. }
  43347. // SetRouteTableId sets the RouteTableId field's value.
  43348. func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
  43349. s.RouteTableId = &v
  43350. return s
  43351. }
  43352. // SetRoutes sets the Routes field's value.
  43353. func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
  43354. s.Routes = v
  43355. return s
  43356. }
  43357. // SetTags sets the Tags field's value.
  43358. func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
  43359. s.Tags = v
  43360. return s
  43361. }
  43362. // SetVpcId sets the VpcId field's value.
  43363. func (s *RouteTable) SetVpcId(v string) *RouteTable {
  43364. s.VpcId = &v
  43365. return s
  43366. }
  43367. // Describes an association between a route table and a subnet.
  43368. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteTableAssociation
  43369. type RouteTableAssociation struct {
  43370. _ struct{} `type:"structure"`
  43371. // Indicates whether this is the main route table.
  43372. Main *bool `locationName:"main" type:"boolean"`
  43373. // The ID of the association between a route table and a subnet.
  43374. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  43375. // The ID of the route table.
  43376. RouteTableId *string `locationName:"routeTableId" type:"string"`
  43377. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  43378. SubnetId *string `locationName:"subnetId" type:"string"`
  43379. }
  43380. // String returns the string representation
  43381. func (s RouteTableAssociation) String() string {
  43382. return awsutil.Prettify(s)
  43383. }
  43384. // GoString returns the string representation
  43385. func (s RouteTableAssociation) GoString() string {
  43386. return s.String()
  43387. }
  43388. // SetMain sets the Main field's value.
  43389. func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
  43390. s.Main = &v
  43391. return s
  43392. }
  43393. // SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
  43394. func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
  43395. s.RouteTableAssociationId = &v
  43396. return s
  43397. }
  43398. // SetRouteTableId sets the RouteTableId field's value.
  43399. func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
  43400. s.RouteTableId = &v
  43401. return s
  43402. }
  43403. // SetSubnetId sets the SubnetId field's value.
  43404. func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
  43405. s.SubnetId = &v
  43406. return s
  43407. }
  43408. // Contains the parameters for RunInstances.
  43409. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesRequest
  43410. type RunInstancesInput struct {
  43411. _ struct{} `type:"structure"`
  43412. // Reserved.
  43413. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  43414. // The block device mapping.
  43415. //
  43416. // Supplying both a snapshot ID and an encryption value as arguments for block-device
  43417. // mapping results in an error. This is because only blank volumes can be encrypted
  43418. // on start, and these are not created from a snapshot. If a snapshot is the
  43419. // basis for the volume, it contains data by definition and its encryption status
  43420. // cannot be changed using this action.
  43421. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  43422. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  43423. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  43424. //
  43425. // Constraints: Maximum 64 ASCII characters
  43426. ClientToken *string `locationName:"clientToken" type:"string"`
  43427. // If you set this parameter to true, you can't terminate the instance using
  43428. // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
  43429. // to false after launch, use ModifyInstanceAttribute. Alternatively, if you
  43430. // set InstanceInitiatedShutdownBehavior to terminate, you can terminate the
  43431. // instance by running the shutdown command from the instance.
  43432. //
  43433. // Default: false
  43434. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  43435. // Checks whether you have the required permissions for the action, without
  43436. // actually making the request, and provides an error response. If you have
  43437. // the required permissions, the error response is DryRunOperation. Otherwise,
  43438. // it is UnauthorizedOperation.
  43439. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43440. // Indicates whether the instance is optimized for EBS I/O. This optimization
  43441. // provides dedicated throughput to Amazon EBS and an optimized configuration
  43442. // stack to provide optimal EBS I/O performance. This optimization isn't available
  43443. // with all instance types. Additional usage charges apply when using an EBS-optimized
  43444. // instance.
  43445. //
  43446. // Default: false
  43447. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  43448. // The IAM instance profile.
  43449. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  43450. // The ID of the AMI, which you can get by calling DescribeImages.
  43451. //
  43452. // ImageId is a required field
  43453. ImageId *string `type:"string" required:"true"`
  43454. // Indicates whether an instance stops or terminates when you initiate shutdown
  43455. // from the instance (using the operating system command for system shutdown).
  43456. //
  43457. // Default: stop
  43458. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  43459. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  43460. // in the Amazon Elastic Compute Cloud User Guide.
  43461. //
  43462. // Default: m1.small
  43463. InstanceType *string `type:"string" enum:"InstanceType"`
  43464. // [EC2-VPC] A number of IPv6 addresses to associate with the primary network
  43465. // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
  43466. // You cannot specify this option and the option to assign specific IPv6 addresses
  43467. // in the same request. You can specify this option if you've specified a minimum
  43468. // number of instances to launch.
  43469. Ipv6AddressCount *int64 `type:"integer"`
  43470. // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet
  43471. // to associate with the primary network interface. You cannot specify this
  43472. // option and the option to assign a number of IPv6 addresses in the same request.
  43473. // You cannot specify this option if you've specified a minimum number of instances
  43474. // to launch.
  43475. Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
  43476. // The ID of the kernel.
  43477. //
  43478. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  43479. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  43480. // in the Amazon Elastic Compute Cloud User Guide.
  43481. KernelId *string `type:"string"`
  43482. // The name of the key pair. You can create a key pair using CreateKeyPair or
  43483. // ImportKeyPair.
  43484. //
  43485. // If you do not specify a key pair, you can't connect to the instance unless
  43486. // you choose an AMI that is configured to allow users another way to log in.
  43487. KeyName *string `type:"string"`
  43488. // The maximum number of instances to launch. If you specify more instances
  43489. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  43490. // the largest possible number of instances above MinCount.
  43491. //
  43492. // Constraints: Between 1 and the maximum number you're allowed for the specified
  43493. // instance type. For more information about the default limits, and how to
  43494. // 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)
  43495. // in the Amazon EC2 FAQ.
  43496. //
  43497. // MaxCount is a required field
  43498. MaxCount *int64 `type:"integer" required:"true"`
  43499. // The minimum number of instances to launch. If you specify a minimum that
  43500. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  43501. // Amazon EC2 launches no instances.
  43502. //
  43503. // Constraints: Between 1 and the maximum number you're allowed for the specified
  43504. // instance type. For more information about the default limits, and how to
  43505. // 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)
  43506. // in the Amazon EC2 General FAQ.
  43507. //
  43508. // MinCount is a required field
  43509. MinCount *int64 `type:"integer" required:"true"`
  43510. // The monitoring for the instance.
  43511. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  43512. // One or more network interfaces.
  43513. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  43514. // The placement for the instance.
  43515. Placement *Placement `type:"structure"`
  43516. // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
  43517. // address range of the subnet.
  43518. //
  43519. // Only one private IP address can be designated as primary. You can't specify
  43520. // this option if you've specified the option to designate a private IP address
  43521. // as the primary IP address in a network interface specification. You cannot
  43522. // specify this option if you're launching more than one instance in the request.
  43523. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  43524. // The ID of the RAM disk.
  43525. //
  43526. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  43527. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  43528. // in the Amazon Elastic Compute Cloud User Guide.
  43529. RamdiskId *string `type:"string"`
  43530. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  43531. //
  43532. // Default: Amazon EC2 uses the default security group.
  43533. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  43534. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  43535. // VPC, you must use security group IDs instead.
  43536. //
  43537. // Default: Amazon EC2 uses the default security group.
  43538. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  43539. // [EC2-VPC] The ID of the subnet to launch the instance into.
  43540. SubnetId *string `type:"string"`
  43541. // The tags to apply to the resources during launch. You can tag instances and
  43542. // volumes. The specified tags are applied to all instances or volumes that
  43543. // are created during launch.
  43544. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  43545. // The user data to make available to the instance. For more information, see
  43546. // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  43547. // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  43548. // (Windows). If you are using an AWS SDK or command line tool, Base64-encoding
  43549. // is performed for you, and you can load the text from a file. Otherwise, you
  43550. // must provide Base64-encoded text.
  43551. UserData *string `type:"string"`
  43552. }
  43553. // String returns the string representation
  43554. func (s RunInstancesInput) String() string {
  43555. return awsutil.Prettify(s)
  43556. }
  43557. // GoString returns the string representation
  43558. func (s RunInstancesInput) GoString() string {
  43559. return s.String()
  43560. }
  43561. // Validate inspects the fields of the type to determine if they are valid.
  43562. func (s *RunInstancesInput) Validate() error {
  43563. invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
  43564. if s.ImageId == nil {
  43565. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  43566. }
  43567. if s.MaxCount == nil {
  43568. invalidParams.Add(request.NewErrParamRequired("MaxCount"))
  43569. }
  43570. if s.MinCount == nil {
  43571. invalidParams.Add(request.NewErrParamRequired("MinCount"))
  43572. }
  43573. if s.Monitoring != nil {
  43574. if err := s.Monitoring.Validate(); err != nil {
  43575. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  43576. }
  43577. }
  43578. if s.NetworkInterfaces != nil {
  43579. for i, v := range s.NetworkInterfaces {
  43580. if v == nil {
  43581. continue
  43582. }
  43583. if err := v.Validate(); err != nil {
  43584. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  43585. }
  43586. }
  43587. }
  43588. if invalidParams.Len() > 0 {
  43589. return invalidParams
  43590. }
  43591. return nil
  43592. }
  43593. // SetAdditionalInfo sets the AdditionalInfo field's value.
  43594. func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
  43595. s.AdditionalInfo = &v
  43596. return s
  43597. }
  43598. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  43599. func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
  43600. s.BlockDeviceMappings = v
  43601. return s
  43602. }
  43603. // SetClientToken sets the ClientToken field's value.
  43604. func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
  43605. s.ClientToken = &v
  43606. return s
  43607. }
  43608. // SetDisableApiTermination sets the DisableApiTermination field's value.
  43609. func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
  43610. s.DisableApiTermination = &v
  43611. return s
  43612. }
  43613. // SetDryRun sets the DryRun field's value.
  43614. func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
  43615. s.DryRun = &v
  43616. return s
  43617. }
  43618. // SetEbsOptimized sets the EbsOptimized field's value.
  43619. func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
  43620. s.EbsOptimized = &v
  43621. return s
  43622. }
  43623. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  43624. func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
  43625. s.IamInstanceProfile = v
  43626. return s
  43627. }
  43628. // SetImageId sets the ImageId field's value.
  43629. func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
  43630. s.ImageId = &v
  43631. return s
  43632. }
  43633. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  43634. func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
  43635. s.InstanceInitiatedShutdownBehavior = &v
  43636. return s
  43637. }
  43638. // SetInstanceType sets the InstanceType field's value.
  43639. func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
  43640. s.InstanceType = &v
  43641. return s
  43642. }
  43643. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  43644. func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
  43645. s.Ipv6AddressCount = &v
  43646. return s
  43647. }
  43648. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  43649. func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
  43650. s.Ipv6Addresses = v
  43651. return s
  43652. }
  43653. // SetKernelId sets the KernelId field's value.
  43654. func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
  43655. s.KernelId = &v
  43656. return s
  43657. }
  43658. // SetKeyName sets the KeyName field's value.
  43659. func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
  43660. s.KeyName = &v
  43661. return s
  43662. }
  43663. // SetMaxCount sets the MaxCount field's value.
  43664. func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
  43665. s.MaxCount = &v
  43666. return s
  43667. }
  43668. // SetMinCount sets the MinCount field's value.
  43669. func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
  43670. s.MinCount = &v
  43671. return s
  43672. }
  43673. // SetMonitoring sets the Monitoring field's value.
  43674. func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
  43675. s.Monitoring = v
  43676. return s
  43677. }
  43678. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  43679. func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
  43680. s.NetworkInterfaces = v
  43681. return s
  43682. }
  43683. // SetPlacement sets the Placement field's value.
  43684. func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
  43685. s.Placement = v
  43686. return s
  43687. }
  43688. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  43689. func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
  43690. s.PrivateIpAddress = &v
  43691. return s
  43692. }
  43693. // SetRamdiskId sets the RamdiskId field's value.
  43694. func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
  43695. s.RamdiskId = &v
  43696. return s
  43697. }
  43698. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  43699. func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
  43700. s.SecurityGroupIds = v
  43701. return s
  43702. }
  43703. // SetSecurityGroups sets the SecurityGroups field's value.
  43704. func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
  43705. s.SecurityGroups = v
  43706. return s
  43707. }
  43708. // SetSubnetId sets the SubnetId field's value.
  43709. func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
  43710. s.SubnetId = &v
  43711. return s
  43712. }
  43713. // SetTagSpecifications sets the TagSpecifications field's value.
  43714. func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
  43715. s.TagSpecifications = v
  43716. return s
  43717. }
  43718. // SetUserData sets the UserData field's value.
  43719. func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
  43720. s.UserData = &v
  43721. return s
  43722. }
  43723. // Describes the monitoring of an instance.
  43724. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesMonitoringEnabled
  43725. type RunInstancesMonitoringEnabled struct {
  43726. _ struct{} `type:"structure"`
  43727. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  43728. // is enabled.
  43729. //
  43730. // Enabled is a required field
  43731. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  43732. }
  43733. // String returns the string representation
  43734. func (s RunInstancesMonitoringEnabled) String() string {
  43735. return awsutil.Prettify(s)
  43736. }
  43737. // GoString returns the string representation
  43738. func (s RunInstancesMonitoringEnabled) GoString() string {
  43739. return s.String()
  43740. }
  43741. // Validate inspects the fields of the type to determine if they are valid.
  43742. func (s *RunInstancesMonitoringEnabled) Validate() error {
  43743. invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
  43744. if s.Enabled == nil {
  43745. invalidParams.Add(request.NewErrParamRequired("Enabled"))
  43746. }
  43747. if invalidParams.Len() > 0 {
  43748. return invalidParams
  43749. }
  43750. return nil
  43751. }
  43752. // SetEnabled sets the Enabled field's value.
  43753. func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
  43754. s.Enabled = &v
  43755. return s
  43756. }
  43757. // Contains the parameters for RunScheduledInstances.
  43758. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstancesRequest
  43759. type RunScheduledInstancesInput struct {
  43760. _ struct{} `type:"structure"`
  43761. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  43762. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  43763. ClientToken *string `type:"string" idempotencyToken:"true"`
  43764. // Checks whether you have the required permissions for the action, without
  43765. // actually making the request, and provides an error response. If you have
  43766. // the required permissions, the error response is DryRunOperation. Otherwise,
  43767. // it is UnauthorizedOperation.
  43768. DryRun *bool `type:"boolean"`
  43769. // The number of instances.
  43770. //
  43771. // Default: 1
  43772. InstanceCount *int64 `type:"integer"`
  43773. // The launch specification. You must match the instance type, Availability
  43774. // Zone, network, and platform of the schedule that you purchased.
  43775. //
  43776. // LaunchSpecification is a required field
  43777. LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
  43778. // The Scheduled Instance ID.
  43779. //
  43780. // ScheduledInstanceId is a required field
  43781. ScheduledInstanceId *string `type:"string" required:"true"`
  43782. }
  43783. // String returns the string representation
  43784. func (s RunScheduledInstancesInput) String() string {
  43785. return awsutil.Prettify(s)
  43786. }
  43787. // GoString returns the string representation
  43788. func (s RunScheduledInstancesInput) GoString() string {
  43789. return s.String()
  43790. }
  43791. // Validate inspects the fields of the type to determine if they are valid.
  43792. func (s *RunScheduledInstancesInput) Validate() error {
  43793. invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
  43794. if s.LaunchSpecification == nil {
  43795. invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
  43796. }
  43797. if s.ScheduledInstanceId == nil {
  43798. invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
  43799. }
  43800. if s.LaunchSpecification != nil {
  43801. if err := s.LaunchSpecification.Validate(); err != nil {
  43802. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  43803. }
  43804. }
  43805. if invalidParams.Len() > 0 {
  43806. return invalidParams
  43807. }
  43808. return nil
  43809. }
  43810. // SetClientToken sets the ClientToken field's value.
  43811. func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
  43812. s.ClientToken = &v
  43813. return s
  43814. }
  43815. // SetDryRun sets the DryRun field's value.
  43816. func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
  43817. s.DryRun = &v
  43818. return s
  43819. }
  43820. // SetInstanceCount sets the InstanceCount field's value.
  43821. func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
  43822. s.InstanceCount = &v
  43823. return s
  43824. }
  43825. // SetLaunchSpecification sets the LaunchSpecification field's value.
  43826. func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
  43827. s.LaunchSpecification = v
  43828. return s
  43829. }
  43830. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  43831. func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
  43832. s.ScheduledInstanceId = &v
  43833. return s
  43834. }
  43835. // Contains the output of RunScheduledInstances.
  43836. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstancesResult
  43837. type RunScheduledInstancesOutput struct {
  43838. _ struct{} `type:"structure"`
  43839. // The IDs of the newly launched instances.
  43840. InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
  43841. }
  43842. // String returns the string representation
  43843. func (s RunScheduledInstancesOutput) String() string {
  43844. return awsutil.Prettify(s)
  43845. }
  43846. // GoString returns the string representation
  43847. func (s RunScheduledInstancesOutput) GoString() string {
  43848. return s.String()
  43849. }
  43850. // SetInstanceIdSet sets the InstanceIdSet field's value.
  43851. func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
  43852. s.InstanceIdSet = v
  43853. return s
  43854. }
  43855. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  43856. // AMI.
  43857. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/S3Storage
  43858. type S3Storage struct {
  43859. _ struct{} `type:"structure"`
  43860. // The access key ID of the owner of the bucket. Before you specify a value
  43861. // for your access key ID, review and follow the guidance in Best Practices
  43862. // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  43863. AWSAccessKeyId *string `type:"string"`
  43864. // The bucket in which to store the AMI. You can specify a bucket that you already
  43865. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  43866. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  43867. Bucket *string `locationName:"bucket" type:"string"`
  43868. // The beginning of the file name of the AMI.
  43869. Prefix *string `locationName:"prefix" type:"string"`
  43870. // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
  43871. // into Amazon S3 on your behalf.
  43872. //
  43873. // UploadPolicy is automatically base64 encoded/decoded by the SDK.
  43874. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  43875. // The signature of the JSON document.
  43876. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  43877. }
  43878. // String returns the string representation
  43879. func (s S3Storage) String() string {
  43880. return awsutil.Prettify(s)
  43881. }
  43882. // GoString returns the string representation
  43883. func (s S3Storage) GoString() string {
  43884. return s.String()
  43885. }
  43886. // SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
  43887. func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
  43888. s.AWSAccessKeyId = &v
  43889. return s
  43890. }
  43891. // SetBucket sets the Bucket field's value.
  43892. func (s *S3Storage) SetBucket(v string) *S3Storage {
  43893. s.Bucket = &v
  43894. return s
  43895. }
  43896. // SetPrefix sets the Prefix field's value.
  43897. func (s *S3Storage) SetPrefix(v string) *S3Storage {
  43898. s.Prefix = &v
  43899. return s
  43900. }
  43901. // SetUploadPolicy sets the UploadPolicy field's value.
  43902. func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
  43903. s.UploadPolicy = v
  43904. return s
  43905. }
  43906. // SetUploadPolicySignature sets the UploadPolicySignature field's value.
  43907. func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
  43908. s.UploadPolicySignature = &v
  43909. return s
  43910. }
  43911. // Describes a Scheduled Instance.
  43912. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstance
  43913. type ScheduledInstance struct {
  43914. _ struct{} `type:"structure"`
  43915. // The Availability Zone.
  43916. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  43917. // The date when the Scheduled Instance was purchased.
  43918. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  43919. // The hourly price for a single instance.
  43920. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  43921. // The number of instances.
  43922. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  43923. // The instance type.
  43924. InstanceType *string `locationName:"instanceType" type:"string"`
  43925. // The network platform (EC2-Classic or EC2-VPC).
  43926. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  43927. // The time for the next schedule to start.
  43928. NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  43929. // The platform (Linux/UNIX or Windows).
  43930. Platform *string `locationName:"platform" type:"string"`
  43931. // The time that the previous schedule ended or will end.
  43932. PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp" timestampFormat:"iso8601"`
  43933. // The schedule recurrence.
  43934. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  43935. // The Scheduled Instance ID.
  43936. ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
  43937. // The number of hours in the schedule.
  43938. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  43939. // The end date for the Scheduled Instance.
  43940. TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp" timestampFormat:"iso8601"`
  43941. // The start date for the Scheduled Instance.
  43942. TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp" timestampFormat:"iso8601"`
  43943. // The total number of hours for a single instance for the entire term.
  43944. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  43945. }
  43946. // String returns the string representation
  43947. func (s ScheduledInstance) String() string {
  43948. return awsutil.Prettify(s)
  43949. }
  43950. // GoString returns the string representation
  43951. func (s ScheduledInstance) GoString() string {
  43952. return s.String()
  43953. }
  43954. // SetAvailabilityZone sets the AvailabilityZone field's value.
  43955. func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
  43956. s.AvailabilityZone = &v
  43957. return s
  43958. }
  43959. // SetCreateDate sets the CreateDate field's value.
  43960. func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
  43961. s.CreateDate = &v
  43962. return s
  43963. }
  43964. // SetHourlyPrice sets the HourlyPrice field's value.
  43965. func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
  43966. s.HourlyPrice = &v
  43967. return s
  43968. }
  43969. // SetInstanceCount sets the InstanceCount field's value.
  43970. func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
  43971. s.InstanceCount = &v
  43972. return s
  43973. }
  43974. // SetInstanceType sets the InstanceType field's value.
  43975. func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
  43976. s.InstanceType = &v
  43977. return s
  43978. }
  43979. // SetNetworkPlatform sets the NetworkPlatform field's value.
  43980. func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
  43981. s.NetworkPlatform = &v
  43982. return s
  43983. }
  43984. // SetNextSlotStartTime sets the NextSlotStartTime field's value.
  43985. func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
  43986. s.NextSlotStartTime = &v
  43987. return s
  43988. }
  43989. // SetPlatform sets the Platform field's value.
  43990. func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
  43991. s.Platform = &v
  43992. return s
  43993. }
  43994. // SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
  43995. func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
  43996. s.PreviousSlotEndTime = &v
  43997. return s
  43998. }
  43999. // SetRecurrence sets the Recurrence field's value.
  44000. func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
  44001. s.Recurrence = v
  44002. return s
  44003. }
  44004. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  44005. func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
  44006. s.ScheduledInstanceId = &v
  44007. return s
  44008. }
  44009. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  44010. func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
  44011. s.SlotDurationInHours = &v
  44012. return s
  44013. }
  44014. // SetTermEndDate sets the TermEndDate field's value.
  44015. func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
  44016. s.TermEndDate = &v
  44017. return s
  44018. }
  44019. // SetTermStartDate sets the TermStartDate field's value.
  44020. func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
  44021. s.TermStartDate = &v
  44022. return s
  44023. }
  44024. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  44025. func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
  44026. s.TotalScheduledInstanceHours = &v
  44027. return s
  44028. }
  44029. // Describes a schedule that is available for your Scheduled Instances.
  44030. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceAvailability
  44031. type ScheduledInstanceAvailability struct {
  44032. _ struct{} `type:"structure"`
  44033. // The Availability Zone.
  44034. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  44035. // The number of available instances.
  44036. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  44037. // The time period for the first schedule to start.
  44038. FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  44039. // The hourly price for a single instance.
  44040. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  44041. // The instance type. You can specify one of the C3, C4, M4, or R3 instance
  44042. // types.
  44043. InstanceType *string `locationName:"instanceType" type:"string"`
  44044. // The maximum term. The only possible value is 365 days.
  44045. MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
  44046. // The minimum term. The only possible value is 365 days.
  44047. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
  44048. // The network platform (EC2-Classic or EC2-VPC).
  44049. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  44050. // The platform (Linux/UNIX or Windows).
  44051. Platform *string `locationName:"platform" type:"string"`
  44052. // The purchase token. This token expires in two hours.
  44053. PurchaseToken *string `locationName:"purchaseToken" type:"string"`
  44054. // The schedule recurrence.
  44055. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  44056. // The number of hours in the schedule.
  44057. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  44058. // The total number of hours for a single instance for the entire term.
  44059. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  44060. }
  44061. // String returns the string representation
  44062. func (s ScheduledInstanceAvailability) String() string {
  44063. return awsutil.Prettify(s)
  44064. }
  44065. // GoString returns the string representation
  44066. func (s ScheduledInstanceAvailability) GoString() string {
  44067. return s.String()
  44068. }
  44069. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44070. func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
  44071. s.AvailabilityZone = &v
  44072. return s
  44073. }
  44074. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  44075. func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
  44076. s.AvailableInstanceCount = &v
  44077. return s
  44078. }
  44079. // SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
  44080. func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
  44081. s.FirstSlotStartTime = &v
  44082. return s
  44083. }
  44084. // SetHourlyPrice sets the HourlyPrice field's value.
  44085. func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
  44086. s.HourlyPrice = &v
  44087. return s
  44088. }
  44089. // SetInstanceType sets the InstanceType field's value.
  44090. func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
  44091. s.InstanceType = &v
  44092. return s
  44093. }
  44094. // SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
  44095. func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  44096. s.MaxTermDurationInDays = &v
  44097. return s
  44098. }
  44099. // SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
  44100. func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  44101. s.MinTermDurationInDays = &v
  44102. return s
  44103. }
  44104. // SetNetworkPlatform sets the NetworkPlatform field's value.
  44105. func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
  44106. s.NetworkPlatform = &v
  44107. return s
  44108. }
  44109. // SetPlatform sets the Platform field's value.
  44110. func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
  44111. s.Platform = &v
  44112. return s
  44113. }
  44114. // SetPurchaseToken sets the PurchaseToken field's value.
  44115. func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
  44116. s.PurchaseToken = &v
  44117. return s
  44118. }
  44119. // SetRecurrence sets the Recurrence field's value.
  44120. func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
  44121. s.Recurrence = v
  44122. return s
  44123. }
  44124. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  44125. func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
  44126. s.SlotDurationInHours = &v
  44127. return s
  44128. }
  44129. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  44130. func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
  44131. s.TotalScheduledInstanceHours = &v
  44132. return s
  44133. }
  44134. // Describes the recurring schedule for a Scheduled Instance.
  44135. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceRecurrence
  44136. type ScheduledInstanceRecurrence struct {
  44137. _ struct{} `type:"structure"`
  44138. // The frequency (Daily, Weekly, or Monthly).
  44139. Frequency *string `locationName:"frequency" type:"string"`
  44140. // The interval quantity. The interval unit depends on the value of frequency.
  44141. // For example, every 2 weeks or every 2 months.
  44142. Interval *int64 `locationName:"interval" type:"integer"`
  44143. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  44144. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  44145. // is Sunday).
  44146. OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
  44147. // Indicates whether the occurrence is relative to the end of the specified
  44148. // week or month.
  44149. OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
  44150. // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
  44151. OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
  44152. }
  44153. // String returns the string representation
  44154. func (s ScheduledInstanceRecurrence) String() string {
  44155. return awsutil.Prettify(s)
  44156. }
  44157. // GoString returns the string representation
  44158. func (s ScheduledInstanceRecurrence) GoString() string {
  44159. return s.String()
  44160. }
  44161. // SetFrequency sets the Frequency field's value.
  44162. func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
  44163. s.Frequency = &v
  44164. return s
  44165. }
  44166. // SetInterval sets the Interval field's value.
  44167. func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
  44168. s.Interval = &v
  44169. return s
  44170. }
  44171. // SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
  44172. func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
  44173. s.OccurrenceDaySet = v
  44174. return s
  44175. }
  44176. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  44177. func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
  44178. s.OccurrenceRelativeToEnd = &v
  44179. return s
  44180. }
  44181. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  44182. func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
  44183. s.OccurrenceUnit = &v
  44184. return s
  44185. }
  44186. // Describes the recurring schedule for a Scheduled Instance.
  44187. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceRecurrenceRequest
  44188. type ScheduledInstanceRecurrenceRequest struct {
  44189. _ struct{} `type:"structure"`
  44190. // The frequency (Daily, Weekly, or Monthly).
  44191. Frequency *string `type:"string"`
  44192. // The interval quantity. The interval unit depends on the value of Frequency.
  44193. // For example, every 2 weeks or every 2 months.
  44194. Interval *int64 `type:"integer"`
  44195. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  44196. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  44197. // is Sunday). You can't specify this value with a daily schedule. If the occurrence
  44198. // is relative to the end of the month, you can specify only a single day.
  44199. OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
  44200. // Indicates whether the occurrence is relative to the end of the specified
  44201. // week or month. You can't specify this value with a daily schedule.
  44202. OccurrenceRelativeToEnd *bool `type:"boolean"`
  44203. // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
  44204. // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
  44205. // You can't specify this value with a daily schedule.
  44206. OccurrenceUnit *string `type:"string"`
  44207. }
  44208. // String returns the string representation
  44209. func (s ScheduledInstanceRecurrenceRequest) String() string {
  44210. return awsutil.Prettify(s)
  44211. }
  44212. // GoString returns the string representation
  44213. func (s ScheduledInstanceRecurrenceRequest) GoString() string {
  44214. return s.String()
  44215. }
  44216. // SetFrequency sets the Frequency field's value.
  44217. func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
  44218. s.Frequency = &v
  44219. return s
  44220. }
  44221. // SetInterval sets the Interval field's value.
  44222. func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
  44223. s.Interval = &v
  44224. return s
  44225. }
  44226. // SetOccurrenceDays sets the OccurrenceDays field's value.
  44227. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
  44228. s.OccurrenceDays = v
  44229. return s
  44230. }
  44231. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  44232. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
  44233. s.OccurrenceRelativeToEnd = &v
  44234. return s
  44235. }
  44236. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  44237. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
  44238. s.OccurrenceUnit = &v
  44239. return s
  44240. }
  44241. // Describes a block device mapping for a Scheduled Instance.
  44242. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesBlockDeviceMapping
  44243. type ScheduledInstancesBlockDeviceMapping struct {
  44244. _ struct{} `type:"structure"`
  44245. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  44246. DeviceName *string `type:"string"`
  44247. // Parameters used to set up EBS volumes automatically when the instance is
  44248. // launched.
  44249. Ebs *ScheduledInstancesEbs `type:"structure"`
  44250. // Suppresses the specified device included in the block device mapping of the
  44251. // AMI.
  44252. NoDevice *string `type:"string"`
  44253. // The virtual device name (ephemeralN). Instance store volumes are numbered
  44254. // starting from 0. An instance type with two available instance store volumes
  44255. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  44256. // instance store volumes depends on the instance type. After you connect to
  44257. // the instance, you must mount the volume.
  44258. //
  44259. // Constraints: For M3 instances, you must specify instance store volumes in
  44260. // the block device mapping for the instance. When you launch an M3 instance,
  44261. // we ignore any instance store volumes specified in the block device mapping
  44262. // for the AMI.
  44263. VirtualName *string `type:"string"`
  44264. }
  44265. // String returns the string representation
  44266. func (s ScheduledInstancesBlockDeviceMapping) String() string {
  44267. return awsutil.Prettify(s)
  44268. }
  44269. // GoString returns the string representation
  44270. func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
  44271. return s.String()
  44272. }
  44273. // SetDeviceName sets the DeviceName field's value.
  44274. func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
  44275. s.DeviceName = &v
  44276. return s
  44277. }
  44278. // SetEbs sets the Ebs field's value.
  44279. func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
  44280. s.Ebs = v
  44281. return s
  44282. }
  44283. // SetNoDevice sets the NoDevice field's value.
  44284. func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
  44285. s.NoDevice = &v
  44286. return s
  44287. }
  44288. // SetVirtualName sets the VirtualName field's value.
  44289. func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
  44290. s.VirtualName = &v
  44291. return s
  44292. }
  44293. // Describes an EBS volume for a Scheduled Instance.
  44294. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesEbs
  44295. type ScheduledInstancesEbs struct {
  44296. _ struct{} `type:"structure"`
  44297. // Indicates whether the volume is deleted on instance termination.
  44298. DeleteOnTermination *bool `type:"boolean"`
  44299. // Indicates whether the volume is encrypted. You can attached encrypted volumes
  44300. // only to instances that support them.
  44301. Encrypted *bool `type:"boolean"`
  44302. // The number of I/O operations per second (IOPS) that the volume supports.
  44303. // For io1 volumes, this represents the number of IOPS that are provisioned
  44304. // for the volume. For gp2 volumes, this represents the baseline performance
  44305. // of the volume and the rate at which the volume accumulates I/O credits for
  44306. // bursting. For more information about gp2 baseline performance, I/O credits,
  44307. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  44308. // in the Amazon Elastic Compute Cloud User Guide.
  44309. //
  44310. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  44311. // gp2 volumes.
  44312. //
  44313. // Condition: This parameter is required for requests to create io1volumes;
  44314. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  44315. Iops *int64 `type:"integer"`
  44316. // The ID of the snapshot.
  44317. SnapshotId *string `type:"string"`
  44318. // The size of the volume, in GiB.
  44319. //
  44320. // Default: If you're creating the volume from a snapshot and don't specify
  44321. // a volume size, the default is the snapshot size.
  44322. VolumeSize *int64 `type:"integer"`
  44323. // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
  44324. // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
  44325. //
  44326. // Default: standard
  44327. VolumeType *string `type:"string"`
  44328. }
  44329. // String returns the string representation
  44330. func (s ScheduledInstancesEbs) String() string {
  44331. return awsutil.Prettify(s)
  44332. }
  44333. // GoString returns the string representation
  44334. func (s ScheduledInstancesEbs) GoString() string {
  44335. return s.String()
  44336. }
  44337. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  44338. func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
  44339. s.DeleteOnTermination = &v
  44340. return s
  44341. }
  44342. // SetEncrypted sets the Encrypted field's value.
  44343. func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
  44344. s.Encrypted = &v
  44345. return s
  44346. }
  44347. // SetIops sets the Iops field's value.
  44348. func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
  44349. s.Iops = &v
  44350. return s
  44351. }
  44352. // SetSnapshotId sets the SnapshotId field's value.
  44353. func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
  44354. s.SnapshotId = &v
  44355. return s
  44356. }
  44357. // SetVolumeSize sets the VolumeSize field's value.
  44358. func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
  44359. s.VolumeSize = &v
  44360. return s
  44361. }
  44362. // SetVolumeType sets the VolumeType field's value.
  44363. func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
  44364. s.VolumeType = &v
  44365. return s
  44366. }
  44367. // Describes an IAM instance profile for a Scheduled Instance.
  44368. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesIamInstanceProfile
  44369. type ScheduledInstancesIamInstanceProfile struct {
  44370. _ struct{} `type:"structure"`
  44371. // The Amazon Resource Name (ARN).
  44372. Arn *string `type:"string"`
  44373. // The name.
  44374. Name *string `type:"string"`
  44375. }
  44376. // String returns the string representation
  44377. func (s ScheduledInstancesIamInstanceProfile) String() string {
  44378. return awsutil.Prettify(s)
  44379. }
  44380. // GoString returns the string representation
  44381. func (s ScheduledInstancesIamInstanceProfile) GoString() string {
  44382. return s.String()
  44383. }
  44384. // SetArn sets the Arn field's value.
  44385. func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
  44386. s.Arn = &v
  44387. return s
  44388. }
  44389. // SetName sets the Name field's value.
  44390. func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
  44391. s.Name = &v
  44392. return s
  44393. }
  44394. // Describes an IPv6 address.
  44395. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesIpv6Address
  44396. type ScheduledInstancesIpv6Address struct {
  44397. _ struct{} `type:"structure"`
  44398. // The IPv6 address.
  44399. Ipv6Address *string `type:"string"`
  44400. }
  44401. // String returns the string representation
  44402. func (s ScheduledInstancesIpv6Address) String() string {
  44403. return awsutil.Prettify(s)
  44404. }
  44405. // GoString returns the string representation
  44406. func (s ScheduledInstancesIpv6Address) GoString() string {
  44407. return s.String()
  44408. }
  44409. // SetIpv6Address sets the Ipv6Address field's value.
  44410. func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
  44411. s.Ipv6Address = &v
  44412. return s
  44413. }
  44414. // Describes the launch specification for a Scheduled Instance.
  44415. //
  44416. // If you are launching the Scheduled Instance in EC2-VPC, you must specify
  44417. // the ID of the subnet. You can specify the subnet using either SubnetId or
  44418. // NetworkInterface.
  44419. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesLaunchSpecification
  44420. type ScheduledInstancesLaunchSpecification struct {
  44421. _ struct{} `type:"structure"`
  44422. // One or more block device mapping entries.
  44423. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  44424. // Indicates whether the instances are optimized for EBS I/O. This optimization
  44425. // provides dedicated throughput to Amazon EBS and an optimized configuration
  44426. // stack to provide optimal EBS I/O performance. This optimization isn't available
  44427. // with all instance types. Additional usage charges apply when using an EBS-optimized
  44428. // instance.
  44429. //
  44430. // Default: false
  44431. EbsOptimized *bool `type:"boolean"`
  44432. // The IAM instance profile.
  44433. IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
  44434. // The ID of the Amazon Machine Image (AMI).
  44435. //
  44436. // ImageId is a required field
  44437. ImageId *string `type:"string" required:"true"`
  44438. // The instance type.
  44439. InstanceType *string `type:"string"`
  44440. // The ID of the kernel.
  44441. KernelId *string `type:"string"`
  44442. // The name of the key pair.
  44443. KeyName *string `type:"string"`
  44444. // Enable or disable monitoring for the instances.
  44445. Monitoring *ScheduledInstancesMonitoring `type:"structure"`
  44446. // One or more network interfaces.
  44447. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
  44448. // The placement information.
  44449. Placement *ScheduledInstancesPlacement `type:"structure"`
  44450. // The ID of the RAM disk.
  44451. RamdiskId *string `type:"string"`
  44452. // The IDs of one or more security groups.
  44453. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  44454. // The ID of the subnet in which to launch the instances.
  44455. SubnetId *string `type:"string"`
  44456. // The base64-encoded MIME user data.
  44457. UserData *string `type:"string"`
  44458. }
  44459. // String returns the string representation
  44460. func (s ScheduledInstancesLaunchSpecification) String() string {
  44461. return awsutil.Prettify(s)
  44462. }
  44463. // GoString returns the string representation
  44464. func (s ScheduledInstancesLaunchSpecification) GoString() string {
  44465. return s.String()
  44466. }
  44467. // Validate inspects the fields of the type to determine if they are valid.
  44468. func (s *ScheduledInstancesLaunchSpecification) Validate() error {
  44469. invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
  44470. if s.ImageId == nil {
  44471. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  44472. }
  44473. if invalidParams.Len() > 0 {
  44474. return invalidParams
  44475. }
  44476. return nil
  44477. }
  44478. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  44479. func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
  44480. s.BlockDeviceMappings = v
  44481. return s
  44482. }
  44483. // SetEbsOptimized sets the EbsOptimized field's value.
  44484. func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
  44485. s.EbsOptimized = &v
  44486. return s
  44487. }
  44488. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  44489. func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
  44490. s.IamInstanceProfile = v
  44491. return s
  44492. }
  44493. // SetImageId sets the ImageId field's value.
  44494. func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
  44495. s.ImageId = &v
  44496. return s
  44497. }
  44498. // SetInstanceType sets the InstanceType field's value.
  44499. func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
  44500. s.InstanceType = &v
  44501. return s
  44502. }
  44503. // SetKernelId sets the KernelId field's value.
  44504. func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
  44505. s.KernelId = &v
  44506. return s
  44507. }
  44508. // SetKeyName sets the KeyName field's value.
  44509. func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
  44510. s.KeyName = &v
  44511. return s
  44512. }
  44513. // SetMonitoring sets the Monitoring field's value.
  44514. func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
  44515. s.Monitoring = v
  44516. return s
  44517. }
  44518. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  44519. func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
  44520. s.NetworkInterfaces = v
  44521. return s
  44522. }
  44523. // SetPlacement sets the Placement field's value.
  44524. func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
  44525. s.Placement = v
  44526. return s
  44527. }
  44528. // SetRamdiskId sets the RamdiskId field's value.
  44529. func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
  44530. s.RamdiskId = &v
  44531. return s
  44532. }
  44533. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  44534. func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
  44535. s.SecurityGroupIds = v
  44536. return s
  44537. }
  44538. // SetSubnetId sets the SubnetId field's value.
  44539. func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
  44540. s.SubnetId = &v
  44541. return s
  44542. }
  44543. // SetUserData sets the UserData field's value.
  44544. func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
  44545. s.UserData = &v
  44546. return s
  44547. }
  44548. // Describes whether monitoring is enabled for a Scheduled Instance.
  44549. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesMonitoring
  44550. type ScheduledInstancesMonitoring struct {
  44551. _ struct{} `type:"structure"`
  44552. // Indicates whether monitoring is enabled.
  44553. Enabled *bool `type:"boolean"`
  44554. }
  44555. // String returns the string representation
  44556. func (s ScheduledInstancesMonitoring) String() string {
  44557. return awsutil.Prettify(s)
  44558. }
  44559. // GoString returns the string representation
  44560. func (s ScheduledInstancesMonitoring) GoString() string {
  44561. return s.String()
  44562. }
  44563. // SetEnabled sets the Enabled field's value.
  44564. func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
  44565. s.Enabled = &v
  44566. return s
  44567. }
  44568. // Describes a network interface for a Scheduled Instance.
  44569. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesNetworkInterface
  44570. type ScheduledInstancesNetworkInterface struct {
  44571. _ struct{} `type:"structure"`
  44572. // Indicates whether to assign a public IPv4 address to instances launched in
  44573. // a VPC. The public IPv4 address can only be assigned to a network interface
  44574. // for eth0, and can only be assigned to a new network interface, not an existing
  44575. // one. You cannot specify more than one network interface in the request. If
  44576. // launching into a default subnet, the default value is true.
  44577. AssociatePublicIpAddress *bool `type:"boolean"`
  44578. // Indicates whether to delete the interface when the instance is terminated.
  44579. DeleteOnTermination *bool `type:"boolean"`
  44580. // The description.
  44581. Description *string `type:"string"`
  44582. // The index of the device for the network interface attachment.
  44583. DeviceIndex *int64 `type:"integer"`
  44584. // The IDs of one or more security groups.
  44585. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
  44586. // The number of IPv6 addresses to assign to the network interface. The IPv6
  44587. // addresses are automatically selected from the subnet range.
  44588. Ipv6AddressCount *int64 `type:"integer"`
  44589. // One or more specific IPv6 addresses from the subnet range.
  44590. Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
  44591. // The ID of the network interface.
  44592. NetworkInterfaceId *string `type:"string"`
  44593. // The IPv4 address of the network interface within the subnet.
  44594. PrivateIpAddress *string `type:"string"`
  44595. // The private IPv4 addresses.
  44596. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
  44597. // The number of secondary private IPv4 addresses.
  44598. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  44599. // The ID of the subnet.
  44600. SubnetId *string `type:"string"`
  44601. }
  44602. // String returns the string representation
  44603. func (s ScheduledInstancesNetworkInterface) String() string {
  44604. return awsutil.Prettify(s)
  44605. }
  44606. // GoString returns the string representation
  44607. func (s ScheduledInstancesNetworkInterface) GoString() string {
  44608. return s.String()
  44609. }
  44610. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  44611. func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
  44612. s.AssociatePublicIpAddress = &v
  44613. return s
  44614. }
  44615. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  44616. func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
  44617. s.DeleteOnTermination = &v
  44618. return s
  44619. }
  44620. // SetDescription sets the Description field's value.
  44621. func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
  44622. s.Description = &v
  44623. return s
  44624. }
  44625. // SetDeviceIndex sets the DeviceIndex field's value.
  44626. func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
  44627. s.DeviceIndex = &v
  44628. return s
  44629. }
  44630. // SetGroups sets the Groups field's value.
  44631. func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
  44632. s.Groups = v
  44633. return s
  44634. }
  44635. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  44636. func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
  44637. s.Ipv6AddressCount = &v
  44638. return s
  44639. }
  44640. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  44641. func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
  44642. s.Ipv6Addresses = v
  44643. return s
  44644. }
  44645. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  44646. func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
  44647. s.NetworkInterfaceId = &v
  44648. return s
  44649. }
  44650. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  44651. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
  44652. s.PrivateIpAddress = &v
  44653. return s
  44654. }
  44655. // SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
  44656. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
  44657. s.PrivateIpAddressConfigs = v
  44658. return s
  44659. }
  44660. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  44661. func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
  44662. s.SecondaryPrivateIpAddressCount = &v
  44663. return s
  44664. }
  44665. // SetSubnetId sets the SubnetId field's value.
  44666. func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
  44667. s.SubnetId = &v
  44668. return s
  44669. }
  44670. // Describes the placement for a Scheduled Instance.
  44671. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesPlacement
  44672. type ScheduledInstancesPlacement struct {
  44673. _ struct{} `type:"structure"`
  44674. // The Availability Zone.
  44675. AvailabilityZone *string `type:"string"`
  44676. // The name of the placement group.
  44677. GroupName *string `type:"string"`
  44678. }
  44679. // String returns the string representation
  44680. func (s ScheduledInstancesPlacement) String() string {
  44681. return awsutil.Prettify(s)
  44682. }
  44683. // GoString returns the string representation
  44684. func (s ScheduledInstancesPlacement) GoString() string {
  44685. return s.String()
  44686. }
  44687. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44688. func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
  44689. s.AvailabilityZone = &v
  44690. return s
  44691. }
  44692. // SetGroupName sets the GroupName field's value.
  44693. func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
  44694. s.GroupName = &v
  44695. return s
  44696. }
  44697. // Describes a private IPv4 address for a Scheduled Instance.
  44698. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesPrivateIpAddressConfig
  44699. type ScheduledInstancesPrivateIpAddressConfig struct {
  44700. _ struct{} `type:"structure"`
  44701. // Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
  44702. // IPv4 address.
  44703. Primary *bool `type:"boolean"`
  44704. // The IPv4 address.
  44705. PrivateIpAddress *string `type:"string"`
  44706. }
  44707. // String returns the string representation
  44708. func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
  44709. return awsutil.Prettify(s)
  44710. }
  44711. // GoString returns the string representation
  44712. func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
  44713. return s.String()
  44714. }
  44715. // SetPrimary sets the Primary field's value.
  44716. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
  44717. s.Primary = &v
  44718. return s
  44719. }
  44720. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  44721. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
  44722. s.PrivateIpAddress = &v
  44723. return s
  44724. }
  44725. // Describes a security group
  44726. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroup
  44727. type SecurityGroup struct {
  44728. _ struct{} `type:"structure"`
  44729. // A description of the security group.
  44730. Description *string `locationName:"groupDescription" type:"string"`
  44731. // The ID of the security group.
  44732. GroupId *string `locationName:"groupId" type:"string"`
  44733. // The name of the security group.
  44734. GroupName *string `locationName:"groupName" type:"string"`
  44735. // One or more inbound rules associated with the security group.
  44736. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  44737. // [EC2-VPC] One or more outbound rules associated with the security group.
  44738. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  44739. // The AWS account ID of the owner of the security group.
  44740. OwnerId *string `locationName:"ownerId" type:"string"`
  44741. // Any tags assigned to the security group.
  44742. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  44743. // [EC2-VPC] The ID of the VPC for the security group.
  44744. VpcId *string `locationName:"vpcId" type:"string"`
  44745. }
  44746. // String returns the string representation
  44747. func (s SecurityGroup) String() string {
  44748. return awsutil.Prettify(s)
  44749. }
  44750. // GoString returns the string representation
  44751. func (s SecurityGroup) GoString() string {
  44752. return s.String()
  44753. }
  44754. // SetDescription sets the Description field's value.
  44755. func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
  44756. s.Description = &v
  44757. return s
  44758. }
  44759. // SetGroupId sets the GroupId field's value.
  44760. func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
  44761. s.GroupId = &v
  44762. return s
  44763. }
  44764. // SetGroupName sets the GroupName field's value.
  44765. func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
  44766. s.GroupName = &v
  44767. return s
  44768. }
  44769. // SetIpPermissions sets the IpPermissions field's value.
  44770. func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
  44771. s.IpPermissions = v
  44772. return s
  44773. }
  44774. // SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
  44775. func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
  44776. s.IpPermissionsEgress = v
  44777. return s
  44778. }
  44779. // SetOwnerId sets the OwnerId field's value.
  44780. func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
  44781. s.OwnerId = &v
  44782. return s
  44783. }
  44784. // SetTags sets the Tags field's value.
  44785. func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
  44786. s.Tags = v
  44787. return s
  44788. }
  44789. // SetVpcId sets the VpcId field's value.
  44790. func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
  44791. s.VpcId = &v
  44792. return s
  44793. }
  44794. // Describes a VPC with a security group that references your security group.
  44795. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroupReference
  44796. type SecurityGroupReference struct {
  44797. _ struct{} `type:"structure"`
  44798. // The ID of your security group.
  44799. //
  44800. // GroupId is a required field
  44801. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  44802. // The ID of the VPC with the referencing security group.
  44803. //
  44804. // ReferencingVpcId is a required field
  44805. ReferencingVpcId *string `locationName:"referencingVpcId" type:"string" required:"true"`
  44806. // The ID of the VPC peering connection.
  44807. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  44808. }
  44809. // String returns the string representation
  44810. func (s SecurityGroupReference) String() string {
  44811. return awsutil.Prettify(s)
  44812. }
  44813. // GoString returns the string representation
  44814. func (s SecurityGroupReference) GoString() string {
  44815. return s.String()
  44816. }
  44817. // SetGroupId sets the GroupId field's value.
  44818. func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
  44819. s.GroupId = &v
  44820. return s
  44821. }
  44822. // SetReferencingVpcId sets the ReferencingVpcId field's value.
  44823. func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
  44824. s.ReferencingVpcId = &v
  44825. return s
  44826. }
  44827. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  44828. func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
  44829. s.VpcPeeringConnectionId = &v
  44830. return s
  44831. }
  44832. // Describes the time period for a Scheduled Instance to start its first schedule.
  44833. // The time period must span less than one day.
  44834. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SlotDateTimeRangeRequest
  44835. type SlotDateTimeRangeRequest struct {
  44836. _ struct{} `type:"structure"`
  44837. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  44838. //
  44839. // EarliestTime is a required field
  44840. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  44841. // The latest date and time, in UTC, for the Scheduled Instance to start. This
  44842. // value must be later than or equal to the earliest date and at most three
  44843. // months in the future.
  44844. //
  44845. // LatestTime is a required field
  44846. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  44847. }
  44848. // String returns the string representation
  44849. func (s SlotDateTimeRangeRequest) String() string {
  44850. return awsutil.Prettify(s)
  44851. }
  44852. // GoString returns the string representation
  44853. func (s SlotDateTimeRangeRequest) GoString() string {
  44854. return s.String()
  44855. }
  44856. // Validate inspects the fields of the type to determine if they are valid.
  44857. func (s *SlotDateTimeRangeRequest) Validate() error {
  44858. invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
  44859. if s.EarliestTime == nil {
  44860. invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
  44861. }
  44862. if s.LatestTime == nil {
  44863. invalidParams.Add(request.NewErrParamRequired("LatestTime"))
  44864. }
  44865. if invalidParams.Len() > 0 {
  44866. return invalidParams
  44867. }
  44868. return nil
  44869. }
  44870. // SetEarliestTime sets the EarliestTime field's value.
  44871. func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
  44872. s.EarliestTime = &v
  44873. return s
  44874. }
  44875. // SetLatestTime sets the LatestTime field's value.
  44876. func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
  44877. s.LatestTime = &v
  44878. return s
  44879. }
  44880. // Describes the time period for a Scheduled Instance to start its first schedule.
  44881. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SlotStartTimeRangeRequest
  44882. type SlotStartTimeRangeRequest struct {
  44883. _ struct{} `type:"structure"`
  44884. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  44885. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  44886. // The latest date and time, in UTC, for the Scheduled Instance to start.
  44887. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  44888. }
  44889. // String returns the string representation
  44890. func (s SlotStartTimeRangeRequest) String() string {
  44891. return awsutil.Prettify(s)
  44892. }
  44893. // GoString returns the string representation
  44894. func (s SlotStartTimeRangeRequest) GoString() string {
  44895. return s.String()
  44896. }
  44897. // SetEarliestTime sets the EarliestTime field's value.
  44898. func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
  44899. s.EarliestTime = &v
  44900. return s
  44901. }
  44902. // SetLatestTime sets the LatestTime field's value.
  44903. func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
  44904. s.LatestTime = &v
  44905. return s
  44906. }
  44907. // Describes a snapshot.
  44908. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Snapshot
  44909. type Snapshot struct {
  44910. _ struct{} `type:"structure"`
  44911. // The data encryption key identifier for the snapshot. This value is a unique
  44912. // identifier that corresponds to the data encryption key that was used to encrypt
  44913. // the original volume or snapshot copy. Because data encryption keys are inherited
  44914. // by volumes created from snapshots, and vice versa, if snapshots share the
  44915. // same data encryption key identifier, then they belong to the same volume/snapshot
  44916. // lineage. This parameter is only returned by the DescribeSnapshots API operation.
  44917. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
  44918. // The description for the snapshot.
  44919. Description *string `locationName:"description" type:"string"`
  44920. // Indicates whether the snapshot is encrypted.
  44921. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  44922. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  44923. // key (CMK) that was used to protect the volume encryption key for the parent
  44924. // volume.
  44925. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  44926. // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft)
  44927. // of snapshot owners. Not to be confused with the user-configured AWS account
  44928. // alias, which is set from the IAM console.
  44929. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  44930. // The AWS account ID of the EBS snapshot owner.
  44931. OwnerId *string `locationName:"ownerId" type:"string"`
  44932. // The progress of the snapshot, as a percentage.
  44933. Progress *string `locationName:"progress" type:"string"`
  44934. // The ID of the snapshot. Each snapshot receives a unique identifier when it
  44935. // is created.
  44936. SnapshotId *string `locationName:"snapshotId" type:"string"`
  44937. // The time stamp when the snapshot was initiated.
  44938. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  44939. // The snapshot state.
  44940. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  44941. // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
  44942. // operation fails (for example, if the proper AWS Key Management Service (AWS
  44943. // KMS) permissions are not obtained) this field displays error state details
  44944. // to help you diagnose why the error occurred. This parameter is only returned
  44945. // by the DescribeSnapshots API operation.
  44946. StateMessage *string `locationName:"statusMessage" type:"string"`
  44947. // Any tags assigned to the snapshot.
  44948. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  44949. // The ID of the volume that was used to create the snapshot. Snapshots created
  44950. // by the CopySnapshot action have an arbitrary volume ID that should not be
  44951. // used for any purpose.
  44952. VolumeId *string `locationName:"volumeId" type:"string"`
  44953. // The size of the volume, in GiB.
  44954. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  44955. }
  44956. // String returns the string representation
  44957. func (s Snapshot) String() string {
  44958. return awsutil.Prettify(s)
  44959. }
  44960. // GoString returns the string representation
  44961. func (s Snapshot) GoString() string {
  44962. return s.String()
  44963. }
  44964. // SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
  44965. func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
  44966. s.DataEncryptionKeyId = &v
  44967. return s
  44968. }
  44969. // SetDescription sets the Description field's value.
  44970. func (s *Snapshot) SetDescription(v string) *Snapshot {
  44971. s.Description = &v
  44972. return s
  44973. }
  44974. // SetEncrypted sets the Encrypted field's value.
  44975. func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
  44976. s.Encrypted = &v
  44977. return s
  44978. }
  44979. // SetKmsKeyId sets the KmsKeyId field's value.
  44980. func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
  44981. s.KmsKeyId = &v
  44982. return s
  44983. }
  44984. // SetOwnerAlias sets the OwnerAlias field's value.
  44985. func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
  44986. s.OwnerAlias = &v
  44987. return s
  44988. }
  44989. // SetOwnerId sets the OwnerId field's value.
  44990. func (s *Snapshot) SetOwnerId(v string) *Snapshot {
  44991. s.OwnerId = &v
  44992. return s
  44993. }
  44994. // SetProgress sets the Progress field's value.
  44995. func (s *Snapshot) SetProgress(v string) *Snapshot {
  44996. s.Progress = &v
  44997. return s
  44998. }
  44999. // SetSnapshotId sets the SnapshotId field's value.
  45000. func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
  45001. s.SnapshotId = &v
  45002. return s
  45003. }
  45004. // SetStartTime sets the StartTime field's value.
  45005. func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
  45006. s.StartTime = &v
  45007. return s
  45008. }
  45009. // SetState sets the State field's value.
  45010. func (s *Snapshot) SetState(v string) *Snapshot {
  45011. s.State = &v
  45012. return s
  45013. }
  45014. // SetStateMessage sets the StateMessage field's value.
  45015. func (s *Snapshot) SetStateMessage(v string) *Snapshot {
  45016. s.StateMessage = &v
  45017. return s
  45018. }
  45019. // SetTags sets the Tags field's value.
  45020. func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
  45021. s.Tags = v
  45022. return s
  45023. }
  45024. // SetVolumeId sets the VolumeId field's value.
  45025. func (s *Snapshot) SetVolumeId(v string) *Snapshot {
  45026. s.VolumeId = &v
  45027. return s
  45028. }
  45029. // SetVolumeSize sets the VolumeSize field's value.
  45030. func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
  45031. s.VolumeSize = &v
  45032. return s
  45033. }
  45034. // Describes the snapshot created from the imported disk.
  45035. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotDetail
  45036. type SnapshotDetail struct {
  45037. _ struct{} `type:"structure"`
  45038. // A description for the snapshot.
  45039. Description *string `locationName:"description" type:"string"`
  45040. // The block device mapping for the snapshot.
  45041. DeviceName *string `locationName:"deviceName" type:"string"`
  45042. // The size of the disk in the snapshot, in GiB.
  45043. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  45044. // The format of the disk image from which the snapshot is created.
  45045. Format *string `locationName:"format" type:"string"`
  45046. // The percentage of progress for the task.
  45047. Progress *string `locationName:"progress" type:"string"`
  45048. // The snapshot ID of the disk being imported.
  45049. SnapshotId *string `locationName:"snapshotId" type:"string"`
  45050. // A brief status of the snapshot creation.
  45051. Status *string `locationName:"status" type:"string"`
  45052. // A detailed status message for the snapshot creation.
  45053. StatusMessage *string `locationName:"statusMessage" type:"string"`
  45054. // The URL used to access the disk image.
  45055. Url *string `locationName:"url" type:"string"`
  45056. // The S3 bucket for the disk image.
  45057. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  45058. }
  45059. // String returns the string representation
  45060. func (s SnapshotDetail) String() string {
  45061. return awsutil.Prettify(s)
  45062. }
  45063. // GoString returns the string representation
  45064. func (s SnapshotDetail) GoString() string {
  45065. return s.String()
  45066. }
  45067. // SetDescription sets the Description field's value.
  45068. func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
  45069. s.Description = &v
  45070. return s
  45071. }
  45072. // SetDeviceName sets the DeviceName field's value.
  45073. func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
  45074. s.DeviceName = &v
  45075. return s
  45076. }
  45077. // SetDiskImageSize sets the DiskImageSize field's value.
  45078. func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
  45079. s.DiskImageSize = &v
  45080. return s
  45081. }
  45082. // SetFormat sets the Format field's value.
  45083. func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
  45084. s.Format = &v
  45085. return s
  45086. }
  45087. // SetProgress sets the Progress field's value.
  45088. func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
  45089. s.Progress = &v
  45090. return s
  45091. }
  45092. // SetSnapshotId sets the SnapshotId field's value.
  45093. func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
  45094. s.SnapshotId = &v
  45095. return s
  45096. }
  45097. // SetStatus sets the Status field's value.
  45098. func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
  45099. s.Status = &v
  45100. return s
  45101. }
  45102. // SetStatusMessage sets the StatusMessage field's value.
  45103. func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
  45104. s.StatusMessage = &v
  45105. return s
  45106. }
  45107. // SetUrl sets the Url field's value.
  45108. func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
  45109. s.Url = &v
  45110. return s
  45111. }
  45112. // SetUserBucket sets the UserBucket field's value.
  45113. func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
  45114. s.UserBucket = v
  45115. return s
  45116. }
  45117. // The disk container object for the import snapshot request.
  45118. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotDiskContainer
  45119. type SnapshotDiskContainer struct {
  45120. _ struct{} `type:"structure"`
  45121. // The description of the disk image being imported.
  45122. Description *string `type:"string"`
  45123. // The format of the disk image being imported.
  45124. //
  45125. // Valid values: RAW | VHD | VMDK | OVA
  45126. Format *string `type:"string"`
  45127. // The URL to the Amazon S3-based disk image being imported. It can either be
  45128. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  45129. Url *string `type:"string"`
  45130. // The S3 bucket for the disk image.
  45131. UserBucket *UserBucket `type:"structure"`
  45132. }
  45133. // String returns the string representation
  45134. func (s SnapshotDiskContainer) String() string {
  45135. return awsutil.Prettify(s)
  45136. }
  45137. // GoString returns the string representation
  45138. func (s SnapshotDiskContainer) GoString() string {
  45139. return s.String()
  45140. }
  45141. // SetDescription sets the Description field's value.
  45142. func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
  45143. s.Description = &v
  45144. return s
  45145. }
  45146. // SetFormat sets the Format field's value.
  45147. func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
  45148. s.Format = &v
  45149. return s
  45150. }
  45151. // SetUrl sets the Url field's value.
  45152. func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
  45153. s.Url = &v
  45154. return s
  45155. }
  45156. // SetUserBucket sets the UserBucket field's value.
  45157. func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
  45158. s.UserBucket = v
  45159. return s
  45160. }
  45161. // Details about the import snapshot task.
  45162. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotTaskDetail
  45163. type SnapshotTaskDetail struct {
  45164. _ struct{} `type:"structure"`
  45165. // The description of the snapshot.
  45166. Description *string `locationName:"description" type:"string"`
  45167. // The size of the disk in the snapshot, in GiB.
  45168. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  45169. // The format of the disk image from which the snapshot is created.
  45170. Format *string `locationName:"format" type:"string"`
  45171. // The percentage of completion for the import snapshot task.
  45172. Progress *string `locationName:"progress" type:"string"`
  45173. // The snapshot ID of the disk being imported.
  45174. SnapshotId *string `locationName:"snapshotId" type:"string"`
  45175. // A brief status for the import snapshot task.
  45176. Status *string `locationName:"status" type:"string"`
  45177. // A detailed status message for the import snapshot task.
  45178. StatusMessage *string `locationName:"statusMessage" type:"string"`
  45179. // The URL of the disk image from which the snapshot is created.
  45180. Url *string `locationName:"url" type:"string"`
  45181. // The S3 bucket for the disk image.
  45182. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  45183. }
  45184. // String returns the string representation
  45185. func (s SnapshotTaskDetail) String() string {
  45186. return awsutil.Prettify(s)
  45187. }
  45188. // GoString returns the string representation
  45189. func (s SnapshotTaskDetail) GoString() string {
  45190. return s.String()
  45191. }
  45192. // SetDescription sets the Description field's value.
  45193. func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
  45194. s.Description = &v
  45195. return s
  45196. }
  45197. // SetDiskImageSize sets the DiskImageSize field's value.
  45198. func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
  45199. s.DiskImageSize = &v
  45200. return s
  45201. }
  45202. // SetFormat sets the Format field's value.
  45203. func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
  45204. s.Format = &v
  45205. return s
  45206. }
  45207. // SetProgress sets the Progress field's value.
  45208. func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
  45209. s.Progress = &v
  45210. return s
  45211. }
  45212. // SetSnapshotId sets the SnapshotId field's value.
  45213. func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
  45214. s.SnapshotId = &v
  45215. return s
  45216. }
  45217. // SetStatus sets the Status field's value.
  45218. func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
  45219. s.Status = &v
  45220. return s
  45221. }
  45222. // SetStatusMessage sets the StatusMessage field's value.
  45223. func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
  45224. s.StatusMessage = &v
  45225. return s
  45226. }
  45227. // SetUrl sets the Url field's value.
  45228. func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
  45229. s.Url = &v
  45230. return s
  45231. }
  45232. // SetUserBucket sets the UserBucket field's value.
  45233. func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
  45234. s.UserBucket = v
  45235. return s
  45236. }
  45237. // Describes the data feed for a Spot instance.
  45238. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotDatafeedSubscription
  45239. type SpotDatafeedSubscription struct {
  45240. _ struct{} `type:"structure"`
  45241. // The Amazon S3 bucket where the Spot instance data feed is located.
  45242. Bucket *string `locationName:"bucket" type:"string"`
  45243. // The fault codes for the Spot instance request, if any.
  45244. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  45245. // The AWS account ID of the account.
  45246. OwnerId *string `locationName:"ownerId" type:"string"`
  45247. // The prefix that is prepended to data feed files.
  45248. Prefix *string `locationName:"prefix" type:"string"`
  45249. // The state of the Spot instance data feed subscription.
  45250. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  45251. }
  45252. // String returns the string representation
  45253. func (s SpotDatafeedSubscription) String() string {
  45254. return awsutil.Prettify(s)
  45255. }
  45256. // GoString returns the string representation
  45257. func (s SpotDatafeedSubscription) GoString() string {
  45258. return s.String()
  45259. }
  45260. // SetBucket sets the Bucket field's value.
  45261. func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
  45262. s.Bucket = &v
  45263. return s
  45264. }
  45265. // SetFault sets the Fault field's value.
  45266. func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
  45267. s.Fault = v
  45268. return s
  45269. }
  45270. // SetOwnerId sets the OwnerId field's value.
  45271. func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
  45272. s.OwnerId = &v
  45273. return s
  45274. }
  45275. // SetPrefix sets the Prefix field's value.
  45276. func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
  45277. s.Prefix = &v
  45278. return s
  45279. }
  45280. // SetState sets the State field's value.
  45281. func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
  45282. s.State = &v
  45283. return s
  45284. }
  45285. // Describes the launch specification for one or more Spot instances.
  45286. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetLaunchSpecification
  45287. type SpotFleetLaunchSpecification struct {
  45288. _ struct{} `type:"structure"`
  45289. // Deprecated.
  45290. AddressingType *string `locationName:"addressingType" type:"string"`
  45291. // One or more block device mapping entries.
  45292. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  45293. // Indicates whether the instances are optimized for EBS I/O. This optimization
  45294. // provides dedicated throughput to Amazon EBS and an optimized configuration
  45295. // stack to provide optimal EBS I/O performance. This optimization isn't available
  45296. // with all instance types. Additional usage charges apply when using an EBS
  45297. // Optimized instance.
  45298. //
  45299. // Default: false
  45300. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  45301. // The IAM instance profile.
  45302. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  45303. // The ID of the AMI.
  45304. ImageId *string `locationName:"imageId" type:"string"`
  45305. // The instance type. Note that T2 and HS1 instance types are not supported.
  45306. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  45307. // The ID of the kernel.
  45308. KernelId *string `locationName:"kernelId" type:"string"`
  45309. // The name of the key pair.
  45310. KeyName *string `locationName:"keyName" type:"string"`
  45311. // Enable or disable monitoring for the instances.
  45312. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  45313. // One or more network interfaces. If you specify a network interface, you must
  45314. // specify subnet IDs and security group IDs using the network interface.
  45315. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  45316. // The placement information.
  45317. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  45318. // The ID of the RAM disk.
  45319. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  45320. // One or more security groups. When requesting instances in a VPC, you must
  45321. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  45322. // you can specify the names or the IDs of the security groups.
  45323. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  45324. // The bid price per unit hour for the specified instance type. If this value
  45325. // is not specified, the default is the Spot bid price specified for the fleet.
  45326. // To determine the bid price per unit hour, divide the Spot bid price by the
  45327. // value of WeightedCapacity.
  45328. SpotPrice *string `locationName:"spotPrice" type:"string"`
  45329. // The ID of the subnet in which to launch the instances. To specify multiple
  45330. // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
  45331. SubnetId *string `locationName:"subnetId" type:"string"`
  45332. // The user data to make available to the instances. If you are using an AWS
  45333. // SDK or command line tool, Base64-encoding is performed for you, and you can
  45334. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  45335. UserData *string `locationName:"userData" type:"string"`
  45336. // The number of units provided by the specified instance type. These are the
  45337. // same units that you chose to set the target capacity in terms (instances
  45338. // or a performance characteristic such as vCPUs, memory, or I/O).
  45339. //
  45340. // If the target capacity divided by this value is not a whole number, we round
  45341. // the number of instances to the next whole number. If this value is not specified,
  45342. // the default is 1.
  45343. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  45344. }
  45345. // String returns the string representation
  45346. func (s SpotFleetLaunchSpecification) String() string {
  45347. return awsutil.Prettify(s)
  45348. }
  45349. // GoString returns the string representation
  45350. func (s SpotFleetLaunchSpecification) GoString() string {
  45351. return s.String()
  45352. }
  45353. // Validate inspects the fields of the type to determine if they are valid.
  45354. func (s *SpotFleetLaunchSpecification) Validate() error {
  45355. invalidParams := request.ErrInvalidParams{Context: "SpotFleetLaunchSpecification"}
  45356. if s.NetworkInterfaces != nil {
  45357. for i, v := range s.NetworkInterfaces {
  45358. if v == nil {
  45359. continue
  45360. }
  45361. if err := v.Validate(); err != nil {
  45362. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  45363. }
  45364. }
  45365. }
  45366. if invalidParams.Len() > 0 {
  45367. return invalidParams
  45368. }
  45369. return nil
  45370. }
  45371. // SetAddressingType sets the AddressingType field's value.
  45372. func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
  45373. s.AddressingType = &v
  45374. return s
  45375. }
  45376. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  45377. func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
  45378. s.BlockDeviceMappings = v
  45379. return s
  45380. }
  45381. // SetEbsOptimized sets the EbsOptimized field's value.
  45382. func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
  45383. s.EbsOptimized = &v
  45384. return s
  45385. }
  45386. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  45387. func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
  45388. s.IamInstanceProfile = v
  45389. return s
  45390. }
  45391. // SetImageId sets the ImageId field's value.
  45392. func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
  45393. s.ImageId = &v
  45394. return s
  45395. }
  45396. // SetInstanceType sets the InstanceType field's value.
  45397. func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
  45398. s.InstanceType = &v
  45399. return s
  45400. }
  45401. // SetKernelId sets the KernelId field's value.
  45402. func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
  45403. s.KernelId = &v
  45404. return s
  45405. }
  45406. // SetKeyName sets the KeyName field's value.
  45407. func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
  45408. s.KeyName = &v
  45409. return s
  45410. }
  45411. // SetMonitoring sets the Monitoring field's value.
  45412. func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
  45413. s.Monitoring = v
  45414. return s
  45415. }
  45416. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  45417. func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
  45418. s.NetworkInterfaces = v
  45419. return s
  45420. }
  45421. // SetPlacement sets the Placement field's value.
  45422. func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
  45423. s.Placement = v
  45424. return s
  45425. }
  45426. // SetRamdiskId sets the RamdiskId field's value.
  45427. func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
  45428. s.RamdiskId = &v
  45429. return s
  45430. }
  45431. // SetSecurityGroups sets the SecurityGroups field's value.
  45432. func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
  45433. s.SecurityGroups = v
  45434. return s
  45435. }
  45436. // SetSpotPrice sets the SpotPrice field's value.
  45437. func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
  45438. s.SpotPrice = &v
  45439. return s
  45440. }
  45441. // SetSubnetId sets the SubnetId field's value.
  45442. func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
  45443. s.SubnetId = &v
  45444. return s
  45445. }
  45446. // SetUserData sets the UserData field's value.
  45447. func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
  45448. s.UserData = &v
  45449. return s
  45450. }
  45451. // SetWeightedCapacity sets the WeightedCapacity field's value.
  45452. func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
  45453. s.WeightedCapacity = &v
  45454. return s
  45455. }
  45456. // Describes whether monitoring is enabled.
  45457. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetMonitoring
  45458. type SpotFleetMonitoring struct {
  45459. _ struct{} `type:"structure"`
  45460. // Enables monitoring for the instance.
  45461. //
  45462. // Default: false
  45463. Enabled *bool `locationName:"enabled" type:"boolean"`
  45464. }
  45465. // String returns the string representation
  45466. func (s SpotFleetMonitoring) String() string {
  45467. return awsutil.Prettify(s)
  45468. }
  45469. // GoString returns the string representation
  45470. func (s SpotFleetMonitoring) GoString() string {
  45471. return s.String()
  45472. }
  45473. // SetEnabled sets the Enabled field's value.
  45474. func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
  45475. s.Enabled = &v
  45476. return s
  45477. }
  45478. // Describes a Spot fleet request.
  45479. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetRequestConfig
  45480. type SpotFleetRequestConfig struct {
  45481. _ struct{} `type:"structure"`
  45482. // The progress of the Spot fleet request. If there is an error, the status
  45483. // is error. After all bids are placed, the status is pending_fulfillment. If
  45484. // the size of the fleet is equal to or greater than its target capacity, the
  45485. // status is fulfilled. If the size of the fleet is decreased, the status is
  45486. // pending_termination while Spot instances are terminating.
  45487. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
  45488. // The creation date and time of the request.
  45489. //
  45490. // CreateTime is a required field
  45491. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  45492. // Information about the configuration of the Spot fleet request.
  45493. //
  45494. // SpotFleetRequestConfig is a required field
  45495. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  45496. // The ID of the Spot fleet request.
  45497. //
  45498. // SpotFleetRequestId is a required field
  45499. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  45500. // The state of the Spot fleet request.
  45501. //
  45502. // SpotFleetRequestState is a required field
  45503. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  45504. }
  45505. // String returns the string representation
  45506. func (s SpotFleetRequestConfig) String() string {
  45507. return awsutil.Prettify(s)
  45508. }
  45509. // GoString returns the string representation
  45510. func (s SpotFleetRequestConfig) GoString() string {
  45511. return s.String()
  45512. }
  45513. // SetActivityStatus sets the ActivityStatus field's value.
  45514. func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
  45515. s.ActivityStatus = &v
  45516. return s
  45517. }
  45518. // SetCreateTime sets the CreateTime field's value.
  45519. func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
  45520. s.CreateTime = &v
  45521. return s
  45522. }
  45523. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  45524. func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
  45525. s.SpotFleetRequestConfig = v
  45526. return s
  45527. }
  45528. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  45529. func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
  45530. s.SpotFleetRequestId = &v
  45531. return s
  45532. }
  45533. // SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
  45534. func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
  45535. s.SpotFleetRequestState = &v
  45536. return s
  45537. }
  45538. // Describes the configuration of a Spot fleet request.
  45539. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetRequestConfigData
  45540. type SpotFleetRequestConfigData struct {
  45541. _ struct{} `type:"structure"`
  45542. // Indicates how to allocate the target capacity across the Spot pools specified
  45543. // by the Spot fleet request. The default is lowestPrice.
  45544. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
  45545. // A unique, case-sensitive identifier you provide to ensure idempotency of
  45546. // your listings. This helps avoid duplicate listings. For more information,
  45547. // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  45548. ClientToken *string `locationName:"clientToken" type:"string"`
  45549. // Indicates whether running Spot instances should be terminated if the target
  45550. // capacity of the Spot fleet request is decreased below the current size of
  45551. // the Spot fleet.
  45552. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  45553. // The number of units fulfilled by this request compared to the set target
  45554. // capacity.
  45555. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  45556. // Grants the Spot fleet permission to terminate Spot instances on your behalf
  45557. // when you cancel its Spot fleet request using CancelSpotFleetRequests or when
  45558. // the Spot fleet request expires, if you set terminateInstancesWithExpiration.
  45559. //
  45560. // IamFleetRole is a required field
  45561. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  45562. // Information about the launch specifications for the Spot fleet request.
  45563. //
  45564. // LaunchSpecifications is a required field
  45565. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" min:"1" type:"list" required:"true"`
  45566. // Indicates whether Spot fleet should replace unhealthy instances.
  45567. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  45568. // The bid price per unit hour.
  45569. //
  45570. // SpotPrice is a required field
  45571. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  45572. // The number of units to request. You can choose to set the target capacity
  45573. // in terms of instances or a performance characteristic that is important to
  45574. // your application workload, such as vCPUs, memory, or I/O.
  45575. //
  45576. // TargetCapacity is a required field
  45577. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  45578. // Indicates whether running Spot instances should be terminated when the Spot
  45579. // fleet request expires.
  45580. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  45581. // The type of request. Indicates whether the fleet will only request the target
  45582. // capacity or also attempt to maintain it. When you request a certain target
  45583. // capacity, the fleet will only place the required bids. It will not attempt
  45584. // to replenish Spot instances if capacity is diminished, nor will it submit
  45585. // bids in alternative Spot pools if capacity is not available. When you want
  45586. // to maintain a certain target capacity, fleet will place the required bids
  45587. // to meet this target capacity. It will also automatically replenish any interrupted
  45588. // instances. Default: maintain.
  45589. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  45590. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  45591. // The default is to start fulfilling the request immediately.
  45592. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  45593. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  45594. // At this point, no new Spot instance requests are placed or enabled to fulfill
  45595. // the request.
  45596. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  45597. }
  45598. // String returns the string representation
  45599. func (s SpotFleetRequestConfigData) String() string {
  45600. return awsutil.Prettify(s)
  45601. }
  45602. // GoString returns the string representation
  45603. func (s SpotFleetRequestConfigData) GoString() string {
  45604. return s.String()
  45605. }
  45606. // Validate inspects the fields of the type to determine if they are valid.
  45607. func (s *SpotFleetRequestConfigData) Validate() error {
  45608. invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
  45609. if s.IamFleetRole == nil {
  45610. invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
  45611. }
  45612. if s.LaunchSpecifications == nil {
  45613. invalidParams.Add(request.NewErrParamRequired("LaunchSpecifications"))
  45614. }
  45615. if s.LaunchSpecifications != nil && len(s.LaunchSpecifications) < 1 {
  45616. invalidParams.Add(request.NewErrParamMinLen("LaunchSpecifications", 1))
  45617. }
  45618. if s.SpotPrice == nil {
  45619. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  45620. }
  45621. if s.TargetCapacity == nil {
  45622. invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
  45623. }
  45624. if s.LaunchSpecifications != nil {
  45625. for i, v := range s.LaunchSpecifications {
  45626. if v == nil {
  45627. continue
  45628. }
  45629. if err := v.Validate(); err != nil {
  45630. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchSpecifications", i), err.(request.ErrInvalidParams))
  45631. }
  45632. }
  45633. }
  45634. if invalidParams.Len() > 0 {
  45635. return invalidParams
  45636. }
  45637. return nil
  45638. }
  45639. // SetAllocationStrategy sets the AllocationStrategy field's value.
  45640. func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
  45641. s.AllocationStrategy = &v
  45642. return s
  45643. }
  45644. // SetClientToken sets the ClientToken field's value.
  45645. func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
  45646. s.ClientToken = &v
  45647. return s
  45648. }
  45649. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  45650. func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
  45651. s.ExcessCapacityTerminationPolicy = &v
  45652. return s
  45653. }
  45654. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  45655. func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  45656. s.FulfilledCapacity = &v
  45657. return s
  45658. }
  45659. // SetIamFleetRole sets the IamFleetRole field's value.
  45660. func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
  45661. s.IamFleetRole = &v
  45662. return s
  45663. }
  45664. // SetLaunchSpecifications sets the LaunchSpecifications field's value.
  45665. func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
  45666. s.LaunchSpecifications = v
  45667. return s
  45668. }
  45669. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  45670. func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
  45671. s.ReplaceUnhealthyInstances = &v
  45672. return s
  45673. }
  45674. // SetSpotPrice sets the SpotPrice field's value.
  45675. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
  45676. s.SpotPrice = &v
  45677. return s
  45678. }
  45679. // SetTargetCapacity sets the TargetCapacity field's value.
  45680. func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
  45681. s.TargetCapacity = &v
  45682. return s
  45683. }
  45684. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  45685. func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
  45686. s.TerminateInstancesWithExpiration = &v
  45687. return s
  45688. }
  45689. // SetType sets the Type field's value.
  45690. func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
  45691. s.Type = &v
  45692. return s
  45693. }
  45694. // SetValidFrom sets the ValidFrom field's value.
  45695. func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
  45696. s.ValidFrom = &v
  45697. return s
  45698. }
  45699. // SetValidUntil sets the ValidUntil field's value.
  45700. func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
  45701. s.ValidUntil = &v
  45702. return s
  45703. }
  45704. // Describes a Spot instance request.
  45705. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceRequest
  45706. type SpotInstanceRequest struct {
  45707. _ struct{} `type:"structure"`
  45708. // If you specified a duration and your Spot instance request was fulfilled,
  45709. // this is the fixed hourly price in effect for the Spot instance while it runs.
  45710. ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
  45711. // The Availability Zone group. If you specify the same Availability Zone group
  45712. // for all Spot instance requests, all Spot instances are launched in the same
  45713. // Availability Zone.
  45714. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  45715. // The duration for the Spot instance, in minutes.
  45716. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  45717. // The date and time when the Spot instance request was created, in UTC format
  45718. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  45719. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  45720. // The fault codes for the Spot instance request, if any.
  45721. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  45722. // The instance ID, if an instance has been launched to fulfill the Spot instance
  45723. // request.
  45724. InstanceId *string `locationName:"instanceId" type:"string"`
  45725. // The instance launch group. Launch groups are Spot instances that launch together
  45726. // and terminate together.
  45727. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  45728. // Additional information for launching instances.
  45729. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  45730. // The Availability Zone in which the bid is launched.
  45731. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  45732. // The product description associated with the Spot instance.
  45733. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  45734. // The ID of the Spot instance request.
  45735. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  45736. // The maximum hourly price (bid) for the Spot instance launched to fulfill
  45737. // the request.
  45738. SpotPrice *string `locationName:"spotPrice" type:"string"`
  45739. // The state of the Spot instance request. Spot bid status information can help
  45740. // you track your Spot instance requests. For more information, see Spot Bid
  45741. // Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  45742. // in the Amazon Elastic Compute Cloud User Guide.
  45743. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  45744. // The status code and status message describing the Spot instance request.
  45745. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  45746. // Any tags assigned to the resource.
  45747. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  45748. // The Spot instance request type.
  45749. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  45750. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  45751. // The request becomes active at this date and time.
  45752. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  45753. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  45754. // If this is a one-time request, it remains active until all instances launch,
  45755. // the request is canceled, or this date is reached. If the request is persistent,
  45756. // it remains active until it is canceled or this date is reached.
  45757. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  45758. }
  45759. // String returns the string representation
  45760. func (s SpotInstanceRequest) String() string {
  45761. return awsutil.Prettify(s)
  45762. }
  45763. // GoString returns the string representation
  45764. func (s SpotInstanceRequest) GoString() string {
  45765. return s.String()
  45766. }
  45767. // SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
  45768. func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
  45769. s.ActualBlockHourlyPrice = &v
  45770. return s
  45771. }
  45772. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  45773. func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
  45774. s.AvailabilityZoneGroup = &v
  45775. return s
  45776. }
  45777. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  45778. func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
  45779. s.BlockDurationMinutes = &v
  45780. return s
  45781. }
  45782. // SetCreateTime sets the CreateTime field's value.
  45783. func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
  45784. s.CreateTime = &v
  45785. return s
  45786. }
  45787. // SetFault sets the Fault field's value.
  45788. func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
  45789. s.Fault = v
  45790. return s
  45791. }
  45792. // SetInstanceId sets the InstanceId field's value.
  45793. func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
  45794. s.InstanceId = &v
  45795. return s
  45796. }
  45797. // SetLaunchGroup sets the LaunchGroup field's value.
  45798. func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
  45799. s.LaunchGroup = &v
  45800. return s
  45801. }
  45802. // SetLaunchSpecification sets the LaunchSpecification field's value.
  45803. func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
  45804. s.LaunchSpecification = v
  45805. return s
  45806. }
  45807. // SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
  45808. func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
  45809. s.LaunchedAvailabilityZone = &v
  45810. return s
  45811. }
  45812. // SetProductDescription sets the ProductDescription field's value.
  45813. func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
  45814. s.ProductDescription = &v
  45815. return s
  45816. }
  45817. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  45818. func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
  45819. s.SpotInstanceRequestId = &v
  45820. return s
  45821. }
  45822. // SetSpotPrice sets the SpotPrice field's value.
  45823. func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
  45824. s.SpotPrice = &v
  45825. return s
  45826. }
  45827. // SetState sets the State field's value.
  45828. func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
  45829. s.State = &v
  45830. return s
  45831. }
  45832. // SetStatus sets the Status field's value.
  45833. func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
  45834. s.Status = v
  45835. return s
  45836. }
  45837. // SetTags sets the Tags field's value.
  45838. func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
  45839. s.Tags = v
  45840. return s
  45841. }
  45842. // SetType sets the Type field's value.
  45843. func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
  45844. s.Type = &v
  45845. return s
  45846. }
  45847. // SetValidFrom sets the ValidFrom field's value.
  45848. func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
  45849. s.ValidFrom = &v
  45850. return s
  45851. }
  45852. // SetValidUntil sets the ValidUntil field's value.
  45853. func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
  45854. s.ValidUntil = &v
  45855. return s
  45856. }
  45857. // Describes a Spot instance state change.
  45858. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceStateFault
  45859. type SpotInstanceStateFault struct {
  45860. _ struct{} `type:"structure"`
  45861. // The reason code for the Spot instance state change.
  45862. Code *string `locationName:"code" type:"string"`
  45863. // The message for the Spot instance state change.
  45864. Message *string `locationName:"message" type:"string"`
  45865. }
  45866. // String returns the string representation
  45867. func (s SpotInstanceStateFault) String() string {
  45868. return awsutil.Prettify(s)
  45869. }
  45870. // GoString returns the string representation
  45871. func (s SpotInstanceStateFault) GoString() string {
  45872. return s.String()
  45873. }
  45874. // SetCode sets the Code field's value.
  45875. func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
  45876. s.Code = &v
  45877. return s
  45878. }
  45879. // SetMessage sets the Message field's value.
  45880. func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
  45881. s.Message = &v
  45882. return s
  45883. }
  45884. // Describes the status of a Spot instance request.
  45885. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceStatus
  45886. type SpotInstanceStatus struct {
  45887. _ struct{} `type:"structure"`
  45888. // 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)
  45889. // in the Amazon Elastic Compute Cloud User Guide.
  45890. Code *string `locationName:"code" type:"string"`
  45891. // The description for the status code.
  45892. Message *string `locationName:"message" type:"string"`
  45893. // The date and time of the most recent status update, in UTC format (for example,
  45894. // YYYY-MM-DDTHH:MM:SSZ).
  45895. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  45896. }
  45897. // String returns the string representation
  45898. func (s SpotInstanceStatus) String() string {
  45899. return awsutil.Prettify(s)
  45900. }
  45901. // GoString returns the string representation
  45902. func (s SpotInstanceStatus) GoString() string {
  45903. return s.String()
  45904. }
  45905. // SetCode sets the Code field's value.
  45906. func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
  45907. s.Code = &v
  45908. return s
  45909. }
  45910. // SetMessage sets the Message field's value.
  45911. func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
  45912. s.Message = &v
  45913. return s
  45914. }
  45915. // SetUpdateTime sets the UpdateTime field's value.
  45916. func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
  45917. s.UpdateTime = &v
  45918. return s
  45919. }
  45920. // Describes Spot instance placement.
  45921. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotPlacement
  45922. type SpotPlacement struct {
  45923. _ struct{} `type:"structure"`
  45924. // The Availability Zone.
  45925. //
  45926. // [Spot fleet only] To specify multiple Availability Zones, separate them using
  45927. // commas; for example, "us-west-2a, us-west-2b".
  45928. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  45929. // The name of the placement group (for cluster instances).
  45930. GroupName *string `locationName:"groupName" type:"string"`
  45931. // The tenancy of the instance (if the instance is running in a VPC). An instance
  45932. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  45933. // is not supported for Spot instances.
  45934. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  45935. }
  45936. // String returns the string representation
  45937. func (s SpotPlacement) String() string {
  45938. return awsutil.Prettify(s)
  45939. }
  45940. // GoString returns the string representation
  45941. func (s SpotPlacement) GoString() string {
  45942. return s.String()
  45943. }
  45944. // SetAvailabilityZone sets the AvailabilityZone field's value.
  45945. func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
  45946. s.AvailabilityZone = &v
  45947. return s
  45948. }
  45949. // SetGroupName sets the GroupName field's value.
  45950. func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
  45951. s.GroupName = &v
  45952. return s
  45953. }
  45954. // SetTenancy sets the Tenancy field's value.
  45955. func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
  45956. s.Tenancy = &v
  45957. return s
  45958. }
  45959. // Describes the maximum hourly price (bid) for any Spot instance launched to
  45960. // fulfill the request.
  45961. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotPrice
  45962. type SpotPrice struct {
  45963. _ struct{} `type:"structure"`
  45964. // The Availability Zone.
  45965. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  45966. // The instance type. Note that T2 and HS1 instance types are not supported.
  45967. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  45968. // A general description of the AMI.
  45969. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  45970. // The maximum price (bid) that you are willing to pay for a Spot instance.
  45971. SpotPrice *string `locationName:"spotPrice" type:"string"`
  45972. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  45973. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  45974. }
  45975. // String returns the string representation
  45976. func (s SpotPrice) String() string {
  45977. return awsutil.Prettify(s)
  45978. }
  45979. // GoString returns the string representation
  45980. func (s SpotPrice) GoString() string {
  45981. return s.String()
  45982. }
  45983. // SetAvailabilityZone sets the AvailabilityZone field's value.
  45984. func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
  45985. s.AvailabilityZone = &v
  45986. return s
  45987. }
  45988. // SetInstanceType sets the InstanceType field's value.
  45989. func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
  45990. s.InstanceType = &v
  45991. return s
  45992. }
  45993. // SetProductDescription sets the ProductDescription field's value.
  45994. func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
  45995. s.ProductDescription = &v
  45996. return s
  45997. }
  45998. // SetSpotPrice sets the SpotPrice field's value.
  45999. func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
  46000. s.SpotPrice = &v
  46001. return s
  46002. }
  46003. // SetTimestamp sets the Timestamp field's value.
  46004. func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
  46005. s.Timestamp = &v
  46006. return s
  46007. }
  46008. // Describes a stale rule in a security group.
  46009. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StaleIpPermission
  46010. type StaleIpPermission struct {
  46011. _ struct{} `type:"structure"`
  46012. // The start of the port range for the TCP and UDP protocols, or an ICMP type
  46013. // number. A value of -1 indicates all ICMP types.
  46014. FromPort *int64 `locationName:"fromPort" type:"integer"`
  46015. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
  46016. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  46017. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  46018. // One or more IP ranges. Not applicable for stale security group rules.
  46019. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
  46020. // One or more prefix list IDs for an AWS service. Not applicable for stale
  46021. // security group rules.
  46022. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  46023. // The end of the port range for the TCP and UDP protocols, or an ICMP type
  46024. // number. A value of -1 indicates all ICMP types.
  46025. ToPort *int64 `locationName:"toPort" type:"integer"`
  46026. // One or more security group pairs. Returns the ID of the referenced security
  46027. // group and VPC, and the ID and status of the VPC peering connection.
  46028. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  46029. }
  46030. // String returns the string representation
  46031. func (s StaleIpPermission) String() string {
  46032. return awsutil.Prettify(s)
  46033. }
  46034. // GoString returns the string representation
  46035. func (s StaleIpPermission) GoString() string {
  46036. return s.String()
  46037. }
  46038. // SetFromPort sets the FromPort field's value.
  46039. func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
  46040. s.FromPort = &v
  46041. return s
  46042. }
  46043. // SetIpProtocol sets the IpProtocol field's value.
  46044. func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
  46045. s.IpProtocol = &v
  46046. return s
  46047. }
  46048. // SetIpRanges sets the IpRanges field's value.
  46049. func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
  46050. s.IpRanges = v
  46051. return s
  46052. }
  46053. // SetPrefixListIds sets the PrefixListIds field's value.
  46054. func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
  46055. s.PrefixListIds = v
  46056. return s
  46057. }
  46058. // SetToPort sets the ToPort field's value.
  46059. func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
  46060. s.ToPort = &v
  46061. return s
  46062. }
  46063. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  46064. func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
  46065. s.UserIdGroupPairs = v
  46066. return s
  46067. }
  46068. // Describes a stale security group (a security group that contains stale rules).
  46069. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StaleSecurityGroup
  46070. type StaleSecurityGroup struct {
  46071. _ struct{} `type:"structure"`
  46072. // The description of the security group.
  46073. Description *string `locationName:"description" type:"string"`
  46074. // The ID of the security group.
  46075. //
  46076. // GroupId is a required field
  46077. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  46078. // The name of the security group.
  46079. GroupName *string `locationName:"groupName" type:"string"`
  46080. // Information about the stale inbound rules in the security group.
  46081. StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
  46082. // Information about the stale outbound rules in the security group.
  46083. StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
  46084. // The ID of the VPC for the security group.
  46085. VpcId *string `locationName:"vpcId" type:"string"`
  46086. }
  46087. // String returns the string representation
  46088. func (s StaleSecurityGroup) String() string {
  46089. return awsutil.Prettify(s)
  46090. }
  46091. // GoString returns the string representation
  46092. func (s StaleSecurityGroup) GoString() string {
  46093. return s.String()
  46094. }
  46095. // SetDescription sets the Description field's value.
  46096. func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
  46097. s.Description = &v
  46098. return s
  46099. }
  46100. // SetGroupId sets the GroupId field's value.
  46101. func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
  46102. s.GroupId = &v
  46103. return s
  46104. }
  46105. // SetGroupName sets the GroupName field's value.
  46106. func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
  46107. s.GroupName = &v
  46108. return s
  46109. }
  46110. // SetStaleIpPermissions sets the StaleIpPermissions field's value.
  46111. func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
  46112. s.StaleIpPermissions = v
  46113. return s
  46114. }
  46115. // SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
  46116. func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
  46117. s.StaleIpPermissionsEgress = v
  46118. return s
  46119. }
  46120. // SetVpcId sets the VpcId field's value.
  46121. func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
  46122. s.VpcId = &v
  46123. return s
  46124. }
  46125. // Contains the parameters for StartInstances.
  46126. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstancesRequest
  46127. type StartInstancesInput struct {
  46128. _ struct{} `type:"structure"`
  46129. // Reserved.
  46130. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  46131. // Checks whether you have the required permissions for the action, without
  46132. // actually making the request, and provides an error response. If you have
  46133. // the required permissions, the error response is DryRunOperation. Otherwise,
  46134. // it is UnauthorizedOperation.
  46135. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46136. // One or more instance IDs.
  46137. //
  46138. // InstanceIds is a required field
  46139. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  46140. }
  46141. // String returns the string representation
  46142. func (s StartInstancesInput) String() string {
  46143. return awsutil.Prettify(s)
  46144. }
  46145. // GoString returns the string representation
  46146. func (s StartInstancesInput) GoString() string {
  46147. return s.String()
  46148. }
  46149. // Validate inspects the fields of the type to determine if they are valid.
  46150. func (s *StartInstancesInput) Validate() error {
  46151. invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
  46152. if s.InstanceIds == nil {
  46153. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  46154. }
  46155. if invalidParams.Len() > 0 {
  46156. return invalidParams
  46157. }
  46158. return nil
  46159. }
  46160. // SetAdditionalInfo sets the AdditionalInfo field's value.
  46161. func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
  46162. s.AdditionalInfo = &v
  46163. return s
  46164. }
  46165. // SetDryRun sets the DryRun field's value.
  46166. func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
  46167. s.DryRun = &v
  46168. return s
  46169. }
  46170. // SetInstanceIds sets the InstanceIds field's value.
  46171. func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
  46172. s.InstanceIds = v
  46173. return s
  46174. }
  46175. // Contains the output of StartInstances.
  46176. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstancesResult
  46177. type StartInstancesOutput struct {
  46178. _ struct{} `type:"structure"`
  46179. // Information about one or more started instances.
  46180. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  46181. }
  46182. // String returns the string representation
  46183. func (s StartInstancesOutput) String() string {
  46184. return awsutil.Prettify(s)
  46185. }
  46186. // GoString returns the string representation
  46187. func (s StartInstancesOutput) GoString() string {
  46188. return s.String()
  46189. }
  46190. // SetStartingInstances sets the StartingInstances field's value.
  46191. func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
  46192. s.StartingInstances = v
  46193. return s
  46194. }
  46195. // Describes a state change.
  46196. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StateReason
  46197. type StateReason struct {
  46198. _ struct{} `type:"structure"`
  46199. // The reason code for the state change.
  46200. Code *string `locationName:"code" type:"string"`
  46201. // The message for the state change.
  46202. //
  46203. // * Server.InsufficientInstanceCapacity: There was insufficient instance
  46204. // capacity to satisfy the launch request.
  46205. //
  46206. // * Server.InternalError: An internal error occurred during instance launch,
  46207. // resulting in termination.
  46208. //
  46209. // * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
  46210. //
  46211. // * Server.SpotInstanceTermination: A Spot instance was terminated due to
  46212. // an increase in the market price.
  46213. //
  46214. // * Client.InternalError: A client error caused the instance to terminate
  46215. // on launch.
  46216. //
  46217. // * Client.InstanceInitiatedShutdown: The instance was shut down using the
  46218. // shutdown -h command from the instance.
  46219. //
  46220. // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  46221. // EC2 API.
  46222. //
  46223. // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
  46224. // total storage was exceeded. Decrease usage or request an increase in your
  46225. // limits.
  46226. //
  46227. // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  46228. Message *string `locationName:"message" type:"string"`
  46229. }
  46230. // String returns the string representation
  46231. func (s StateReason) String() string {
  46232. return awsutil.Prettify(s)
  46233. }
  46234. // GoString returns the string representation
  46235. func (s StateReason) GoString() string {
  46236. return s.String()
  46237. }
  46238. // SetCode sets the Code field's value.
  46239. func (s *StateReason) SetCode(v string) *StateReason {
  46240. s.Code = &v
  46241. return s
  46242. }
  46243. // SetMessage sets the Message field's value.
  46244. func (s *StateReason) SetMessage(v string) *StateReason {
  46245. s.Message = &v
  46246. return s
  46247. }
  46248. // Contains the parameters for StopInstances.
  46249. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstancesRequest
  46250. type StopInstancesInput struct {
  46251. _ struct{} `type:"structure"`
  46252. // Checks whether you have the required permissions for the action, without
  46253. // actually making the request, and provides an error response. If you have
  46254. // the required permissions, the error response is DryRunOperation. Otherwise,
  46255. // it is UnauthorizedOperation.
  46256. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46257. // Forces the instances to stop. The instances do not have an opportunity to
  46258. // flush file system caches or file system metadata. If you use this option,
  46259. // you must perform file system check and repair procedures. This option is
  46260. // not recommended for Windows instances.
  46261. //
  46262. // Default: false
  46263. Force *bool `locationName:"force" type:"boolean"`
  46264. // One or more instance IDs.
  46265. //
  46266. // InstanceIds is a required field
  46267. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  46268. }
  46269. // String returns the string representation
  46270. func (s StopInstancesInput) String() string {
  46271. return awsutil.Prettify(s)
  46272. }
  46273. // GoString returns the string representation
  46274. func (s StopInstancesInput) GoString() string {
  46275. return s.String()
  46276. }
  46277. // Validate inspects the fields of the type to determine if they are valid.
  46278. func (s *StopInstancesInput) Validate() error {
  46279. invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
  46280. if s.InstanceIds == nil {
  46281. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  46282. }
  46283. if invalidParams.Len() > 0 {
  46284. return invalidParams
  46285. }
  46286. return nil
  46287. }
  46288. // SetDryRun sets the DryRun field's value.
  46289. func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
  46290. s.DryRun = &v
  46291. return s
  46292. }
  46293. // SetForce sets the Force field's value.
  46294. func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
  46295. s.Force = &v
  46296. return s
  46297. }
  46298. // SetInstanceIds sets the InstanceIds field's value.
  46299. func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
  46300. s.InstanceIds = v
  46301. return s
  46302. }
  46303. // Contains the output of StopInstances.
  46304. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstancesResult
  46305. type StopInstancesOutput struct {
  46306. _ struct{} `type:"structure"`
  46307. // Information about one or more stopped instances.
  46308. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  46309. }
  46310. // String returns the string representation
  46311. func (s StopInstancesOutput) String() string {
  46312. return awsutil.Prettify(s)
  46313. }
  46314. // GoString returns the string representation
  46315. func (s StopInstancesOutput) GoString() string {
  46316. return s.String()
  46317. }
  46318. // SetStoppingInstances sets the StoppingInstances field's value.
  46319. func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
  46320. s.StoppingInstances = v
  46321. return s
  46322. }
  46323. // Describes the storage location for an instance store-backed AMI.
  46324. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Storage
  46325. type Storage struct {
  46326. _ struct{} `type:"structure"`
  46327. // An Amazon S3 storage location.
  46328. S3 *S3Storage `type:"structure"`
  46329. }
  46330. // String returns the string representation
  46331. func (s Storage) String() string {
  46332. return awsutil.Prettify(s)
  46333. }
  46334. // GoString returns the string representation
  46335. func (s Storage) GoString() string {
  46336. return s.String()
  46337. }
  46338. // SetS3 sets the S3 field's value.
  46339. func (s *Storage) SetS3(v *S3Storage) *Storage {
  46340. s.S3 = v
  46341. return s
  46342. }
  46343. // Describes a subnet.
  46344. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Subnet
  46345. type Subnet struct {
  46346. _ struct{} `type:"structure"`
  46347. // Indicates whether a network interface created in this subnet (including a
  46348. // network interface created by RunInstances) receives an IPv6 address.
  46349. AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
  46350. // The Availability Zone of the subnet.
  46351. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  46352. // The number of unused private IPv4 addresses in the subnet. Note that the
  46353. // IPv4 addresses for any stopped instances are considered unavailable.
  46354. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  46355. // The IPv4 CIDR block assigned to the subnet.
  46356. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  46357. // Indicates whether this is the default subnet for the Availability Zone.
  46358. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  46359. // Information about the IPv6 CIDR blocks associated with the subnet.
  46360. Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  46361. // Indicates whether instances launched in this subnet receive a public IPv4
  46362. // address.
  46363. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  46364. // The current state of the subnet.
  46365. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  46366. // The ID of the subnet.
  46367. SubnetId *string `locationName:"subnetId" type:"string"`
  46368. // Any tags assigned to the subnet.
  46369. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  46370. // The ID of the VPC the subnet is in.
  46371. VpcId *string `locationName:"vpcId" type:"string"`
  46372. }
  46373. // String returns the string representation
  46374. func (s Subnet) String() string {
  46375. return awsutil.Prettify(s)
  46376. }
  46377. // GoString returns the string representation
  46378. func (s Subnet) GoString() string {
  46379. return s.String()
  46380. }
  46381. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  46382. func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
  46383. s.AssignIpv6AddressOnCreation = &v
  46384. return s
  46385. }
  46386. // SetAvailabilityZone sets the AvailabilityZone field's value.
  46387. func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
  46388. s.AvailabilityZone = &v
  46389. return s
  46390. }
  46391. // SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
  46392. func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
  46393. s.AvailableIpAddressCount = &v
  46394. return s
  46395. }
  46396. // SetCidrBlock sets the CidrBlock field's value.
  46397. func (s *Subnet) SetCidrBlock(v string) *Subnet {
  46398. s.CidrBlock = &v
  46399. return s
  46400. }
  46401. // SetDefaultForAz sets the DefaultForAz field's value.
  46402. func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
  46403. s.DefaultForAz = &v
  46404. return s
  46405. }
  46406. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  46407. func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
  46408. s.Ipv6CidrBlockAssociationSet = v
  46409. return s
  46410. }
  46411. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  46412. func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
  46413. s.MapPublicIpOnLaunch = &v
  46414. return s
  46415. }
  46416. // SetState sets the State field's value.
  46417. func (s *Subnet) SetState(v string) *Subnet {
  46418. s.State = &v
  46419. return s
  46420. }
  46421. // SetSubnetId sets the SubnetId field's value.
  46422. func (s *Subnet) SetSubnetId(v string) *Subnet {
  46423. s.SubnetId = &v
  46424. return s
  46425. }
  46426. // SetTags sets the Tags field's value.
  46427. func (s *Subnet) SetTags(v []*Tag) *Subnet {
  46428. s.Tags = v
  46429. return s
  46430. }
  46431. // SetVpcId sets the VpcId field's value.
  46432. func (s *Subnet) SetVpcId(v string) *Subnet {
  46433. s.VpcId = &v
  46434. return s
  46435. }
  46436. // Describes the state of a CIDR block.
  46437. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SubnetCidrBlockState
  46438. type SubnetCidrBlockState struct {
  46439. _ struct{} `type:"structure"`
  46440. // The state of a CIDR block.
  46441. State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
  46442. // A message about the status of the CIDR block, if applicable.
  46443. StatusMessage *string `locationName:"statusMessage" type:"string"`
  46444. }
  46445. // String returns the string representation
  46446. func (s SubnetCidrBlockState) String() string {
  46447. return awsutil.Prettify(s)
  46448. }
  46449. // GoString returns the string representation
  46450. func (s SubnetCidrBlockState) GoString() string {
  46451. return s.String()
  46452. }
  46453. // SetState sets the State field's value.
  46454. func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
  46455. s.State = &v
  46456. return s
  46457. }
  46458. // SetStatusMessage sets the StatusMessage field's value.
  46459. func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
  46460. s.StatusMessage = &v
  46461. return s
  46462. }
  46463. // Describes an IPv6 CIDR block associated with a subnet.
  46464. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SubnetIpv6CidrBlockAssociation
  46465. type SubnetIpv6CidrBlockAssociation struct {
  46466. _ struct{} `type:"structure"`
  46467. // The association ID for the CIDR block.
  46468. AssociationId *string `locationName:"associationId" type:"string"`
  46469. // The IPv6 CIDR block.
  46470. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  46471. // Information about the state of the CIDR block.
  46472. Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  46473. }
  46474. // String returns the string representation
  46475. func (s SubnetIpv6CidrBlockAssociation) String() string {
  46476. return awsutil.Prettify(s)
  46477. }
  46478. // GoString returns the string representation
  46479. func (s SubnetIpv6CidrBlockAssociation) GoString() string {
  46480. return s.String()
  46481. }
  46482. // SetAssociationId sets the AssociationId field's value.
  46483. func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
  46484. s.AssociationId = &v
  46485. return s
  46486. }
  46487. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  46488. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
  46489. s.Ipv6CidrBlock = &v
  46490. return s
  46491. }
  46492. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  46493. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
  46494. s.Ipv6CidrBlockState = v
  46495. return s
  46496. }
  46497. // Describes a tag.
  46498. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Tag
  46499. type Tag struct {
  46500. _ struct{} `type:"structure"`
  46501. // The key of the tag.
  46502. //
  46503. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  46504. // characters. May not begin with aws:
  46505. Key *string `locationName:"key" type:"string"`
  46506. // The value of the tag.
  46507. //
  46508. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  46509. // characters.
  46510. Value *string `locationName:"value" type:"string"`
  46511. }
  46512. // String returns the string representation
  46513. func (s Tag) String() string {
  46514. return awsutil.Prettify(s)
  46515. }
  46516. // GoString returns the string representation
  46517. func (s Tag) GoString() string {
  46518. return s.String()
  46519. }
  46520. // SetKey sets the Key field's value.
  46521. func (s *Tag) SetKey(v string) *Tag {
  46522. s.Key = &v
  46523. return s
  46524. }
  46525. // SetValue sets the Value field's value.
  46526. func (s *Tag) SetValue(v string) *Tag {
  46527. s.Value = &v
  46528. return s
  46529. }
  46530. // Describes a tag.
  46531. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagDescription
  46532. type TagDescription struct {
  46533. _ struct{} `type:"structure"`
  46534. // The tag key.
  46535. Key *string `locationName:"key" type:"string"`
  46536. // The ID of the resource. For example, ami-1a2b3c4d.
  46537. ResourceId *string `locationName:"resourceId" type:"string"`
  46538. // The resource type.
  46539. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  46540. // The tag value.
  46541. Value *string `locationName:"value" type:"string"`
  46542. }
  46543. // String returns the string representation
  46544. func (s TagDescription) String() string {
  46545. return awsutil.Prettify(s)
  46546. }
  46547. // GoString returns the string representation
  46548. func (s TagDescription) GoString() string {
  46549. return s.String()
  46550. }
  46551. // SetKey sets the Key field's value.
  46552. func (s *TagDescription) SetKey(v string) *TagDescription {
  46553. s.Key = &v
  46554. return s
  46555. }
  46556. // SetResourceId sets the ResourceId field's value.
  46557. func (s *TagDescription) SetResourceId(v string) *TagDescription {
  46558. s.ResourceId = &v
  46559. return s
  46560. }
  46561. // SetResourceType sets the ResourceType field's value.
  46562. func (s *TagDescription) SetResourceType(v string) *TagDescription {
  46563. s.ResourceType = &v
  46564. return s
  46565. }
  46566. // SetValue sets the Value field's value.
  46567. func (s *TagDescription) SetValue(v string) *TagDescription {
  46568. s.Value = &v
  46569. return s
  46570. }
  46571. // The tags to apply to a resource when the resource is being created.
  46572. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagSpecification
  46573. type TagSpecification struct {
  46574. _ struct{} `type:"structure"`
  46575. // The type of resource to tag. Currently, the resource types that support tagging
  46576. // on creation are instance and volume.
  46577. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  46578. // The tags to apply to the resource.
  46579. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  46580. }
  46581. // String returns the string representation
  46582. func (s TagSpecification) String() string {
  46583. return awsutil.Prettify(s)
  46584. }
  46585. // GoString returns the string representation
  46586. func (s TagSpecification) GoString() string {
  46587. return s.String()
  46588. }
  46589. // SetResourceType sets the ResourceType field's value.
  46590. func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
  46591. s.ResourceType = &v
  46592. return s
  46593. }
  46594. // SetTags sets the Tags field's value.
  46595. func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
  46596. s.Tags = v
  46597. return s
  46598. }
  46599. // Information about the Convertible Reserved Instance offering.
  46600. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetConfiguration
  46601. type TargetConfiguration struct {
  46602. _ struct{} `type:"structure"`
  46603. // The number of instances the Convertible Reserved Instance offering can be
  46604. // applied to. This parameter is reserved and cannot be specified in a request
  46605. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  46606. // The ID of the Convertible Reserved Instance offering.
  46607. OfferingId *string `locationName:"offeringId" type:"string"`
  46608. }
  46609. // String returns the string representation
  46610. func (s TargetConfiguration) String() string {
  46611. return awsutil.Prettify(s)
  46612. }
  46613. // GoString returns the string representation
  46614. func (s TargetConfiguration) GoString() string {
  46615. return s.String()
  46616. }
  46617. // SetInstanceCount sets the InstanceCount field's value.
  46618. func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
  46619. s.InstanceCount = &v
  46620. return s
  46621. }
  46622. // SetOfferingId sets the OfferingId field's value.
  46623. func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
  46624. s.OfferingId = &v
  46625. return s
  46626. }
  46627. // Details about the target configuration.
  46628. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetConfigurationRequest
  46629. type TargetConfigurationRequest struct {
  46630. _ struct{} `type:"structure"`
  46631. // The number of instances the Covertible Reserved Instance offering can be
  46632. // applied to. This parameter is reserved and cannot be specified in a request
  46633. InstanceCount *int64 `type:"integer"`
  46634. // The Convertible Reserved Instance offering ID.
  46635. //
  46636. // OfferingId is a required field
  46637. OfferingId *string `type:"string" required:"true"`
  46638. }
  46639. // String returns the string representation
  46640. func (s TargetConfigurationRequest) String() string {
  46641. return awsutil.Prettify(s)
  46642. }
  46643. // GoString returns the string representation
  46644. func (s TargetConfigurationRequest) GoString() string {
  46645. return s.String()
  46646. }
  46647. // Validate inspects the fields of the type to determine if they are valid.
  46648. func (s *TargetConfigurationRequest) Validate() error {
  46649. invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
  46650. if s.OfferingId == nil {
  46651. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  46652. }
  46653. if invalidParams.Len() > 0 {
  46654. return invalidParams
  46655. }
  46656. return nil
  46657. }
  46658. // SetInstanceCount sets the InstanceCount field's value.
  46659. func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
  46660. s.InstanceCount = &v
  46661. return s
  46662. }
  46663. // SetOfferingId sets the OfferingId field's value.
  46664. func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
  46665. s.OfferingId = &v
  46666. return s
  46667. }
  46668. // The total value of the new Convertible Reserved Instances.
  46669. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetReservationValue
  46670. type TargetReservationValue struct {
  46671. _ struct{} `type:"structure"`
  46672. // The total value of the Convertible Reserved Instances that make up the exchange.
  46673. // This is the sum of the list value, remaining upfront price, and additional
  46674. // upfront cost of the exchange.
  46675. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  46676. // The configuration of the Convertible Reserved Instances that make up the
  46677. // exchange.
  46678. TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
  46679. }
  46680. // String returns the string representation
  46681. func (s TargetReservationValue) String() string {
  46682. return awsutil.Prettify(s)
  46683. }
  46684. // GoString returns the string representation
  46685. func (s TargetReservationValue) GoString() string {
  46686. return s.String()
  46687. }
  46688. // SetReservationValue sets the ReservationValue field's value.
  46689. func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
  46690. s.ReservationValue = v
  46691. return s
  46692. }
  46693. // SetTargetConfiguration sets the TargetConfiguration field's value.
  46694. func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
  46695. s.TargetConfiguration = v
  46696. return s
  46697. }
  46698. // Contains the parameters for TerminateInstances.
  46699. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstancesRequest
  46700. type TerminateInstancesInput struct {
  46701. _ struct{} `type:"structure"`
  46702. // Checks whether you have the required permissions for the action, without
  46703. // actually making the request, and provides an error response. If you have
  46704. // the required permissions, the error response is DryRunOperation. Otherwise,
  46705. // it is UnauthorizedOperation.
  46706. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46707. // One or more instance IDs.
  46708. //
  46709. // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
  46710. // into smaller batches.
  46711. //
  46712. // InstanceIds is a required field
  46713. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  46714. }
  46715. // String returns the string representation
  46716. func (s TerminateInstancesInput) String() string {
  46717. return awsutil.Prettify(s)
  46718. }
  46719. // GoString returns the string representation
  46720. func (s TerminateInstancesInput) GoString() string {
  46721. return s.String()
  46722. }
  46723. // Validate inspects the fields of the type to determine if they are valid.
  46724. func (s *TerminateInstancesInput) Validate() error {
  46725. invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
  46726. if s.InstanceIds == nil {
  46727. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  46728. }
  46729. if invalidParams.Len() > 0 {
  46730. return invalidParams
  46731. }
  46732. return nil
  46733. }
  46734. // SetDryRun sets the DryRun field's value.
  46735. func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
  46736. s.DryRun = &v
  46737. return s
  46738. }
  46739. // SetInstanceIds sets the InstanceIds field's value.
  46740. func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
  46741. s.InstanceIds = v
  46742. return s
  46743. }
  46744. // Contains the output of TerminateInstances.
  46745. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstancesResult
  46746. type TerminateInstancesOutput struct {
  46747. _ struct{} `type:"structure"`
  46748. // Information about one or more terminated instances.
  46749. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  46750. }
  46751. // String returns the string representation
  46752. func (s TerminateInstancesOutput) String() string {
  46753. return awsutil.Prettify(s)
  46754. }
  46755. // GoString returns the string representation
  46756. func (s TerminateInstancesOutput) GoString() string {
  46757. return s.String()
  46758. }
  46759. // SetTerminatingInstances sets the TerminatingInstances field's value.
  46760. func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
  46761. s.TerminatingInstances = v
  46762. return s
  46763. }
  46764. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6AddressesRequest
  46765. type UnassignIpv6AddressesInput struct {
  46766. _ struct{} `type:"structure"`
  46767. // The IPv6 addresses to unassign from the network interface.
  46768. //
  46769. // Ipv6Addresses is a required field
  46770. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
  46771. // The ID of the network interface.
  46772. //
  46773. // NetworkInterfaceId is a required field
  46774. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  46775. }
  46776. // String returns the string representation
  46777. func (s UnassignIpv6AddressesInput) String() string {
  46778. return awsutil.Prettify(s)
  46779. }
  46780. // GoString returns the string representation
  46781. func (s UnassignIpv6AddressesInput) GoString() string {
  46782. return s.String()
  46783. }
  46784. // Validate inspects the fields of the type to determine if they are valid.
  46785. func (s *UnassignIpv6AddressesInput) Validate() error {
  46786. invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
  46787. if s.Ipv6Addresses == nil {
  46788. invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
  46789. }
  46790. if s.NetworkInterfaceId == nil {
  46791. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  46792. }
  46793. if invalidParams.Len() > 0 {
  46794. return invalidParams
  46795. }
  46796. return nil
  46797. }
  46798. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  46799. func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
  46800. s.Ipv6Addresses = v
  46801. return s
  46802. }
  46803. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  46804. func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
  46805. s.NetworkInterfaceId = &v
  46806. return s
  46807. }
  46808. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6AddressesResult
  46809. type UnassignIpv6AddressesOutput struct {
  46810. _ struct{} `type:"structure"`
  46811. // The ID of the network interface.
  46812. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  46813. // The IPv6 addresses that have been unassigned from the network interface.
  46814. UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
  46815. }
  46816. // String returns the string representation
  46817. func (s UnassignIpv6AddressesOutput) String() string {
  46818. return awsutil.Prettify(s)
  46819. }
  46820. // GoString returns the string representation
  46821. func (s UnassignIpv6AddressesOutput) GoString() string {
  46822. return s.String()
  46823. }
  46824. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  46825. func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
  46826. s.NetworkInterfaceId = &v
  46827. return s
  46828. }
  46829. // SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
  46830. func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
  46831. s.UnassignedIpv6Addresses = v
  46832. return s
  46833. }
  46834. // Contains the parameters for UnassignPrivateIpAddresses.
  46835. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddressesRequest
  46836. type UnassignPrivateIpAddressesInput struct {
  46837. _ struct{} `type:"structure"`
  46838. // The ID of the network interface.
  46839. //
  46840. // NetworkInterfaceId is a required field
  46841. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  46842. // The secondary private IP addresses to unassign from the network interface.
  46843. // You can specify this option multiple times to unassign more than one IP address.
  46844. //
  46845. // PrivateIpAddresses is a required field
  46846. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  46847. }
  46848. // String returns the string representation
  46849. func (s UnassignPrivateIpAddressesInput) String() string {
  46850. return awsutil.Prettify(s)
  46851. }
  46852. // GoString returns the string representation
  46853. func (s UnassignPrivateIpAddressesInput) GoString() string {
  46854. return s.String()
  46855. }
  46856. // Validate inspects the fields of the type to determine if they are valid.
  46857. func (s *UnassignPrivateIpAddressesInput) Validate() error {
  46858. invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
  46859. if s.NetworkInterfaceId == nil {
  46860. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  46861. }
  46862. if s.PrivateIpAddresses == nil {
  46863. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
  46864. }
  46865. if invalidParams.Len() > 0 {
  46866. return invalidParams
  46867. }
  46868. return nil
  46869. }
  46870. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  46871. func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
  46872. s.NetworkInterfaceId = &v
  46873. return s
  46874. }
  46875. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  46876. func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
  46877. s.PrivateIpAddresses = v
  46878. return s
  46879. }
  46880. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddressesOutput
  46881. type UnassignPrivateIpAddressesOutput struct {
  46882. _ struct{} `type:"structure"`
  46883. }
  46884. // String returns the string representation
  46885. func (s UnassignPrivateIpAddressesOutput) String() string {
  46886. return awsutil.Prettify(s)
  46887. }
  46888. // GoString returns the string representation
  46889. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  46890. return s.String()
  46891. }
  46892. // Contains the parameters for UnmonitorInstances.
  46893. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstancesRequest
  46894. type UnmonitorInstancesInput struct {
  46895. _ struct{} `type:"structure"`
  46896. // Checks whether you have the required permissions for the action, without
  46897. // actually making the request, and provides an error response. If you have
  46898. // the required permissions, the error response is DryRunOperation. Otherwise,
  46899. // it is UnauthorizedOperation.
  46900. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46901. // One or more instance IDs.
  46902. //
  46903. // InstanceIds is a required field
  46904. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  46905. }
  46906. // String returns the string representation
  46907. func (s UnmonitorInstancesInput) String() string {
  46908. return awsutil.Prettify(s)
  46909. }
  46910. // GoString returns the string representation
  46911. func (s UnmonitorInstancesInput) GoString() string {
  46912. return s.String()
  46913. }
  46914. // Validate inspects the fields of the type to determine if they are valid.
  46915. func (s *UnmonitorInstancesInput) Validate() error {
  46916. invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
  46917. if s.InstanceIds == nil {
  46918. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  46919. }
  46920. if invalidParams.Len() > 0 {
  46921. return invalidParams
  46922. }
  46923. return nil
  46924. }
  46925. // SetDryRun sets the DryRun field's value.
  46926. func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
  46927. s.DryRun = &v
  46928. return s
  46929. }
  46930. // SetInstanceIds sets the InstanceIds field's value.
  46931. func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
  46932. s.InstanceIds = v
  46933. return s
  46934. }
  46935. // Contains the output of UnmonitorInstances.
  46936. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstancesResult
  46937. type UnmonitorInstancesOutput struct {
  46938. _ struct{} `type:"structure"`
  46939. // The monitoring information.
  46940. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  46941. }
  46942. // String returns the string representation
  46943. func (s UnmonitorInstancesOutput) String() string {
  46944. return awsutil.Prettify(s)
  46945. }
  46946. // GoString returns the string representation
  46947. func (s UnmonitorInstancesOutput) GoString() string {
  46948. return s.String()
  46949. }
  46950. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  46951. func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
  46952. s.InstanceMonitorings = v
  46953. return s
  46954. }
  46955. // Information about items that were not successfully processed in a batch call.
  46956. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulItem
  46957. type UnsuccessfulItem struct {
  46958. _ struct{} `type:"structure"`
  46959. // Information about the error.
  46960. //
  46961. // Error is a required field
  46962. Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
  46963. // The ID of the resource.
  46964. ResourceId *string `locationName:"resourceId" type:"string"`
  46965. }
  46966. // String returns the string representation
  46967. func (s UnsuccessfulItem) String() string {
  46968. return awsutil.Prettify(s)
  46969. }
  46970. // GoString returns the string representation
  46971. func (s UnsuccessfulItem) GoString() string {
  46972. return s.String()
  46973. }
  46974. // SetError sets the Error field's value.
  46975. func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
  46976. s.Error = v
  46977. return s
  46978. }
  46979. // SetResourceId sets the ResourceId field's value.
  46980. func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
  46981. s.ResourceId = &v
  46982. return s
  46983. }
  46984. // Information about the error that occurred. For more information about errors,
  46985. // see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  46986. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulItemError
  46987. type UnsuccessfulItemError struct {
  46988. _ struct{} `type:"structure"`
  46989. // The error code.
  46990. //
  46991. // Code is a required field
  46992. Code *string `locationName:"code" type:"string" required:"true"`
  46993. // The error message accompanying the error code.
  46994. //
  46995. // Message is a required field
  46996. Message *string `locationName:"message" type:"string" required:"true"`
  46997. }
  46998. // String returns the string representation
  46999. func (s UnsuccessfulItemError) String() string {
  47000. return awsutil.Prettify(s)
  47001. }
  47002. // GoString returns the string representation
  47003. func (s UnsuccessfulItemError) GoString() string {
  47004. return s.String()
  47005. }
  47006. // SetCode sets the Code field's value.
  47007. func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
  47008. s.Code = &v
  47009. return s
  47010. }
  47011. // SetMessage sets the Message field's value.
  47012. func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
  47013. s.Message = &v
  47014. return s
  47015. }
  47016. // Describes the S3 bucket for the disk image.
  47017. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserBucket
  47018. type UserBucket struct {
  47019. _ struct{} `type:"structure"`
  47020. // The name of the S3 bucket where the disk image is located.
  47021. S3Bucket *string `type:"string"`
  47022. // The file name of the disk image.
  47023. S3Key *string `type:"string"`
  47024. }
  47025. // String returns the string representation
  47026. func (s UserBucket) String() string {
  47027. return awsutil.Prettify(s)
  47028. }
  47029. // GoString returns the string representation
  47030. func (s UserBucket) GoString() string {
  47031. return s.String()
  47032. }
  47033. // SetS3Bucket sets the S3Bucket field's value.
  47034. func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
  47035. s.S3Bucket = &v
  47036. return s
  47037. }
  47038. // SetS3Key sets the S3Key field's value.
  47039. func (s *UserBucket) SetS3Key(v string) *UserBucket {
  47040. s.S3Key = &v
  47041. return s
  47042. }
  47043. // Describes the S3 bucket for the disk image.
  47044. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserBucketDetails
  47045. type UserBucketDetails struct {
  47046. _ struct{} `type:"structure"`
  47047. // The S3 bucket from which the disk image was created.
  47048. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  47049. // The file name of the disk image.
  47050. S3Key *string `locationName:"s3Key" type:"string"`
  47051. }
  47052. // String returns the string representation
  47053. func (s UserBucketDetails) String() string {
  47054. return awsutil.Prettify(s)
  47055. }
  47056. // GoString returns the string representation
  47057. func (s UserBucketDetails) GoString() string {
  47058. return s.String()
  47059. }
  47060. // SetS3Bucket sets the S3Bucket field's value.
  47061. func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
  47062. s.S3Bucket = &v
  47063. return s
  47064. }
  47065. // SetS3Key sets the S3Key field's value.
  47066. func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
  47067. s.S3Key = &v
  47068. return s
  47069. }
  47070. // Describes the user data for an instance.
  47071. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserData
  47072. type UserData struct {
  47073. _ struct{} `type:"structure"`
  47074. // The user data. If you are using an AWS SDK or command line tool, Base64-encoding
  47075. // is performed for you, and you can load the text from a file. Otherwise, you
  47076. // must provide Base64-encoded text.
  47077. Data *string `locationName:"data" type:"string"`
  47078. }
  47079. // String returns the string representation
  47080. func (s UserData) String() string {
  47081. return awsutil.Prettify(s)
  47082. }
  47083. // GoString returns the string representation
  47084. func (s UserData) GoString() string {
  47085. return s.String()
  47086. }
  47087. // SetData sets the Data field's value.
  47088. func (s *UserData) SetData(v string) *UserData {
  47089. s.Data = &v
  47090. return s
  47091. }
  47092. // Describes a security group and AWS account ID pair.
  47093. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserIdGroupPair
  47094. type UserIdGroupPair struct {
  47095. _ struct{} `type:"structure"`
  47096. // The ID of the security group.
  47097. GroupId *string `locationName:"groupId" type:"string"`
  47098. // The name of the security group. In a request, use this parameter for a security
  47099. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  47100. // VPC, use the security group ID.
  47101. GroupName *string `locationName:"groupName" type:"string"`
  47102. // The status of a VPC peering connection, if applicable.
  47103. PeeringStatus *string `locationName:"peeringStatus" type:"string"`
  47104. // The ID of an AWS account. For a referenced security group in another VPC,
  47105. // the account ID of the referenced security group is returned.
  47106. //
  47107. // [EC2-Classic] Required when adding or removing rules that reference a security
  47108. // group in another AWS account.
  47109. UserId *string `locationName:"userId" type:"string"`
  47110. // The ID of the VPC for the referenced security group, if applicable.
  47111. VpcId *string `locationName:"vpcId" type:"string"`
  47112. // The ID of the VPC peering connection, if applicable.
  47113. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  47114. }
  47115. // String returns the string representation
  47116. func (s UserIdGroupPair) String() string {
  47117. return awsutil.Prettify(s)
  47118. }
  47119. // GoString returns the string representation
  47120. func (s UserIdGroupPair) GoString() string {
  47121. return s.String()
  47122. }
  47123. // SetGroupId sets the GroupId field's value.
  47124. func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
  47125. s.GroupId = &v
  47126. return s
  47127. }
  47128. // SetGroupName sets the GroupName field's value.
  47129. func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
  47130. s.GroupName = &v
  47131. return s
  47132. }
  47133. // SetPeeringStatus sets the PeeringStatus field's value.
  47134. func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
  47135. s.PeeringStatus = &v
  47136. return s
  47137. }
  47138. // SetUserId sets the UserId field's value.
  47139. func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
  47140. s.UserId = &v
  47141. return s
  47142. }
  47143. // SetVpcId sets the VpcId field's value.
  47144. func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
  47145. s.VpcId = &v
  47146. return s
  47147. }
  47148. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  47149. func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
  47150. s.VpcPeeringConnectionId = &v
  47151. return s
  47152. }
  47153. // Describes telemetry for a VPN tunnel.
  47154. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VgwTelemetry
  47155. type VgwTelemetry struct {
  47156. _ struct{} `type:"structure"`
  47157. // The number of accepted routes.
  47158. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  47159. // The date and time of the last change in status.
  47160. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
  47161. // The Internet-routable IP address of the virtual private gateway's outside
  47162. // interface.
  47163. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  47164. // The status of the VPN tunnel.
  47165. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  47166. // If an error occurs, a description of the error.
  47167. StatusMessage *string `locationName:"statusMessage" type:"string"`
  47168. }
  47169. // String returns the string representation
  47170. func (s VgwTelemetry) String() string {
  47171. return awsutil.Prettify(s)
  47172. }
  47173. // GoString returns the string representation
  47174. func (s VgwTelemetry) GoString() string {
  47175. return s.String()
  47176. }
  47177. // SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
  47178. func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
  47179. s.AcceptedRouteCount = &v
  47180. return s
  47181. }
  47182. // SetLastStatusChange sets the LastStatusChange field's value.
  47183. func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
  47184. s.LastStatusChange = &v
  47185. return s
  47186. }
  47187. // SetOutsideIpAddress sets the OutsideIpAddress field's value.
  47188. func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
  47189. s.OutsideIpAddress = &v
  47190. return s
  47191. }
  47192. // SetStatus sets the Status field's value.
  47193. func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
  47194. s.Status = &v
  47195. return s
  47196. }
  47197. // SetStatusMessage sets the StatusMessage field's value.
  47198. func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
  47199. s.StatusMessage = &v
  47200. return s
  47201. }
  47202. // Describes a volume.
  47203. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Volume
  47204. type Volume struct {
  47205. _ struct{} `type:"structure"`
  47206. // Information about the volume attachments.
  47207. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  47208. // The Availability Zone for the volume.
  47209. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  47210. // The time stamp when volume creation was initiated.
  47211. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  47212. // Indicates whether the volume will be encrypted.
  47213. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  47214. // The number of I/O operations per second (IOPS) that the volume supports.
  47215. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that
  47216. // are provisioned for the volume. For General Purpose SSD volumes, this represents
  47217. // the baseline performance of the volume and the rate at which the volume accumulates
  47218. // I/O credits for bursting. For more information on General Purpose SSD baseline
  47219. // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  47220. // in the Amazon Elastic Compute Cloud User Guide.
  47221. //
  47222. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  47223. // gp2 volumes.
  47224. //
  47225. // Condition: This parameter is required for requests to create io1 volumes;
  47226. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  47227. Iops *int64 `locationName:"iops" type:"integer"`
  47228. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  47229. // key (CMK) that was used to protect the volume encryption key for the volume.
  47230. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  47231. // The size of the volume, in GiBs.
  47232. Size *int64 `locationName:"size" type:"integer"`
  47233. // The snapshot from which the volume was created, if applicable.
  47234. SnapshotId *string `locationName:"snapshotId" type:"string"`
  47235. // The volume state.
  47236. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  47237. // Any tags assigned to the volume.
  47238. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47239. // The ID of the volume.
  47240. VolumeId *string `locationName:"volumeId" type:"string"`
  47241. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  47242. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  47243. // for Magnetic volumes.
  47244. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  47245. }
  47246. // String returns the string representation
  47247. func (s Volume) String() string {
  47248. return awsutil.Prettify(s)
  47249. }
  47250. // GoString returns the string representation
  47251. func (s Volume) GoString() string {
  47252. return s.String()
  47253. }
  47254. // SetAttachments sets the Attachments field's value.
  47255. func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
  47256. s.Attachments = v
  47257. return s
  47258. }
  47259. // SetAvailabilityZone sets the AvailabilityZone field's value.
  47260. func (s *Volume) SetAvailabilityZone(v string) *Volume {
  47261. s.AvailabilityZone = &v
  47262. return s
  47263. }
  47264. // SetCreateTime sets the CreateTime field's value.
  47265. func (s *Volume) SetCreateTime(v time.Time) *Volume {
  47266. s.CreateTime = &v
  47267. return s
  47268. }
  47269. // SetEncrypted sets the Encrypted field's value.
  47270. func (s *Volume) SetEncrypted(v bool) *Volume {
  47271. s.Encrypted = &v
  47272. return s
  47273. }
  47274. // SetIops sets the Iops field's value.
  47275. func (s *Volume) SetIops(v int64) *Volume {
  47276. s.Iops = &v
  47277. return s
  47278. }
  47279. // SetKmsKeyId sets the KmsKeyId field's value.
  47280. func (s *Volume) SetKmsKeyId(v string) *Volume {
  47281. s.KmsKeyId = &v
  47282. return s
  47283. }
  47284. // SetSize sets the Size field's value.
  47285. func (s *Volume) SetSize(v int64) *Volume {
  47286. s.Size = &v
  47287. return s
  47288. }
  47289. // SetSnapshotId sets the SnapshotId field's value.
  47290. func (s *Volume) SetSnapshotId(v string) *Volume {
  47291. s.SnapshotId = &v
  47292. return s
  47293. }
  47294. // SetState sets the State field's value.
  47295. func (s *Volume) SetState(v string) *Volume {
  47296. s.State = &v
  47297. return s
  47298. }
  47299. // SetTags sets the Tags field's value.
  47300. func (s *Volume) SetTags(v []*Tag) *Volume {
  47301. s.Tags = v
  47302. return s
  47303. }
  47304. // SetVolumeId sets the VolumeId field's value.
  47305. func (s *Volume) SetVolumeId(v string) *Volume {
  47306. s.VolumeId = &v
  47307. return s
  47308. }
  47309. // SetVolumeType sets the VolumeType field's value.
  47310. func (s *Volume) SetVolumeType(v string) *Volume {
  47311. s.VolumeType = &v
  47312. return s
  47313. }
  47314. // Describes volume attachment details.
  47315. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeAttachment
  47316. type VolumeAttachment struct {
  47317. _ struct{} `type:"structure"`
  47318. // The time stamp when the attachment initiated.
  47319. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  47320. // Indicates whether the EBS volume is deleted on instance termination.
  47321. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  47322. // The device name.
  47323. Device *string `locationName:"device" type:"string"`
  47324. // The ID of the instance.
  47325. InstanceId *string `locationName:"instanceId" type:"string"`
  47326. // The attachment state of the volume.
  47327. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  47328. // The ID of the volume.
  47329. VolumeId *string `locationName:"volumeId" type:"string"`
  47330. }
  47331. // String returns the string representation
  47332. func (s VolumeAttachment) String() string {
  47333. return awsutil.Prettify(s)
  47334. }
  47335. // GoString returns the string representation
  47336. func (s VolumeAttachment) GoString() string {
  47337. return s.String()
  47338. }
  47339. // SetAttachTime sets the AttachTime field's value.
  47340. func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
  47341. s.AttachTime = &v
  47342. return s
  47343. }
  47344. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  47345. func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
  47346. s.DeleteOnTermination = &v
  47347. return s
  47348. }
  47349. // SetDevice sets the Device field's value.
  47350. func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
  47351. s.Device = &v
  47352. return s
  47353. }
  47354. // SetInstanceId sets the InstanceId field's value.
  47355. func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
  47356. s.InstanceId = &v
  47357. return s
  47358. }
  47359. // SetState sets the State field's value.
  47360. func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
  47361. s.State = &v
  47362. return s
  47363. }
  47364. // SetVolumeId sets the VolumeId field's value.
  47365. func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
  47366. s.VolumeId = &v
  47367. return s
  47368. }
  47369. // Describes an EBS volume.
  47370. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeDetail
  47371. type VolumeDetail struct {
  47372. _ struct{} `type:"structure"`
  47373. // The size of the volume, in GiB.
  47374. //
  47375. // Size is a required field
  47376. Size *int64 `locationName:"size" type:"long" required:"true"`
  47377. }
  47378. // String returns the string representation
  47379. func (s VolumeDetail) String() string {
  47380. return awsutil.Prettify(s)
  47381. }
  47382. // GoString returns the string representation
  47383. func (s VolumeDetail) GoString() string {
  47384. return s.String()
  47385. }
  47386. // Validate inspects the fields of the type to determine if they are valid.
  47387. func (s *VolumeDetail) Validate() error {
  47388. invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
  47389. if s.Size == nil {
  47390. invalidParams.Add(request.NewErrParamRequired("Size"))
  47391. }
  47392. if invalidParams.Len() > 0 {
  47393. return invalidParams
  47394. }
  47395. return nil
  47396. }
  47397. // SetSize sets the Size field's value.
  47398. func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
  47399. s.Size = &v
  47400. return s
  47401. }
  47402. // Describes the modification status of an EBS volume.
  47403. //
  47404. // If the volume has never been modified, some element values will be null.
  47405. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeModification
  47406. type VolumeModification struct {
  47407. _ struct{} `type:"structure"`
  47408. // Modification completion or failure time.
  47409. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  47410. // Current state of modification. Modification state is null for unmodified
  47411. // volumes.
  47412. ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
  47413. // Original IOPS rate of the volume being modified.
  47414. OriginalIops *int64 `locationName:"originalIops" type:"integer"`
  47415. // Original size of the volume being modified.
  47416. OriginalSize *int64 `locationName:"originalSize" type:"integer"`
  47417. // Original EBS volume type of the volume being modified.
  47418. OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
  47419. // Modification progress from 0 to 100%.
  47420. Progress *int64 `locationName:"progress" type:"long"`
  47421. // Modification start time
  47422. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  47423. // Generic status message on modification progress or failure.
  47424. StatusMessage *string `locationName:"statusMessage" type:"string"`
  47425. // Target IOPS rate of the volume being modified.
  47426. TargetIops *int64 `locationName:"targetIops" type:"integer"`
  47427. // Target size of the volume being modified.
  47428. TargetSize *int64 `locationName:"targetSize" type:"integer"`
  47429. // Target EBS volume type of the volume being modified.
  47430. TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
  47431. // ID of the volume being modified.
  47432. VolumeId *string `locationName:"volumeId" type:"string"`
  47433. }
  47434. // String returns the string representation
  47435. func (s VolumeModification) String() string {
  47436. return awsutil.Prettify(s)
  47437. }
  47438. // GoString returns the string representation
  47439. func (s VolumeModification) GoString() string {
  47440. return s.String()
  47441. }
  47442. // SetEndTime sets the EndTime field's value.
  47443. func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
  47444. s.EndTime = &v
  47445. return s
  47446. }
  47447. // SetModificationState sets the ModificationState field's value.
  47448. func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
  47449. s.ModificationState = &v
  47450. return s
  47451. }
  47452. // SetOriginalIops sets the OriginalIops field's value.
  47453. func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
  47454. s.OriginalIops = &v
  47455. return s
  47456. }
  47457. // SetOriginalSize sets the OriginalSize field's value.
  47458. func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
  47459. s.OriginalSize = &v
  47460. return s
  47461. }
  47462. // SetOriginalVolumeType sets the OriginalVolumeType field's value.
  47463. func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
  47464. s.OriginalVolumeType = &v
  47465. return s
  47466. }
  47467. // SetProgress sets the Progress field's value.
  47468. func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
  47469. s.Progress = &v
  47470. return s
  47471. }
  47472. // SetStartTime sets the StartTime field's value.
  47473. func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
  47474. s.StartTime = &v
  47475. return s
  47476. }
  47477. // SetStatusMessage sets the StatusMessage field's value.
  47478. func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
  47479. s.StatusMessage = &v
  47480. return s
  47481. }
  47482. // SetTargetIops sets the TargetIops field's value.
  47483. func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
  47484. s.TargetIops = &v
  47485. return s
  47486. }
  47487. // SetTargetSize sets the TargetSize field's value.
  47488. func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
  47489. s.TargetSize = &v
  47490. return s
  47491. }
  47492. // SetTargetVolumeType sets the TargetVolumeType field's value.
  47493. func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
  47494. s.TargetVolumeType = &v
  47495. return s
  47496. }
  47497. // SetVolumeId sets the VolumeId field's value.
  47498. func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
  47499. s.VolumeId = &v
  47500. return s
  47501. }
  47502. // Describes a volume status operation code.
  47503. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusAction
  47504. type VolumeStatusAction struct {
  47505. _ struct{} `type:"structure"`
  47506. // The code identifying the operation, for example, enable-volume-io.
  47507. Code *string `locationName:"code" type:"string"`
  47508. // A description of the operation.
  47509. Description *string `locationName:"description" type:"string"`
  47510. // The ID of the event associated with this operation.
  47511. EventId *string `locationName:"eventId" type:"string"`
  47512. // The event type associated with this operation.
  47513. EventType *string `locationName:"eventType" type:"string"`
  47514. }
  47515. // String returns the string representation
  47516. func (s VolumeStatusAction) String() string {
  47517. return awsutil.Prettify(s)
  47518. }
  47519. // GoString returns the string representation
  47520. func (s VolumeStatusAction) GoString() string {
  47521. return s.String()
  47522. }
  47523. // SetCode sets the Code field's value.
  47524. func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
  47525. s.Code = &v
  47526. return s
  47527. }
  47528. // SetDescription sets the Description field's value.
  47529. func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
  47530. s.Description = &v
  47531. return s
  47532. }
  47533. // SetEventId sets the EventId field's value.
  47534. func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
  47535. s.EventId = &v
  47536. return s
  47537. }
  47538. // SetEventType sets the EventType field's value.
  47539. func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
  47540. s.EventType = &v
  47541. return s
  47542. }
  47543. // Describes a volume status.
  47544. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusDetails
  47545. type VolumeStatusDetails struct {
  47546. _ struct{} `type:"structure"`
  47547. // The name of the volume status.
  47548. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  47549. // The intended status of the volume status.
  47550. Status *string `locationName:"status" type:"string"`
  47551. }
  47552. // String returns the string representation
  47553. func (s VolumeStatusDetails) String() string {
  47554. return awsutil.Prettify(s)
  47555. }
  47556. // GoString returns the string representation
  47557. func (s VolumeStatusDetails) GoString() string {
  47558. return s.String()
  47559. }
  47560. // SetName sets the Name field's value.
  47561. func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
  47562. s.Name = &v
  47563. return s
  47564. }
  47565. // SetStatus sets the Status field's value.
  47566. func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
  47567. s.Status = &v
  47568. return s
  47569. }
  47570. // Describes a volume status event.
  47571. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusEvent
  47572. type VolumeStatusEvent struct {
  47573. _ struct{} `type:"structure"`
  47574. // A description of the event.
  47575. Description *string `locationName:"description" type:"string"`
  47576. // The ID of this event.
  47577. EventId *string `locationName:"eventId" type:"string"`
  47578. // The type of this event.
  47579. EventType *string `locationName:"eventType" type:"string"`
  47580. // The latest end time of the event.
  47581. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  47582. // The earliest start time of the event.
  47583. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  47584. }
  47585. // String returns the string representation
  47586. func (s VolumeStatusEvent) String() string {
  47587. return awsutil.Prettify(s)
  47588. }
  47589. // GoString returns the string representation
  47590. func (s VolumeStatusEvent) GoString() string {
  47591. return s.String()
  47592. }
  47593. // SetDescription sets the Description field's value.
  47594. func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
  47595. s.Description = &v
  47596. return s
  47597. }
  47598. // SetEventId sets the EventId field's value.
  47599. func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
  47600. s.EventId = &v
  47601. return s
  47602. }
  47603. // SetEventType sets the EventType field's value.
  47604. func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
  47605. s.EventType = &v
  47606. return s
  47607. }
  47608. // SetNotAfter sets the NotAfter field's value.
  47609. func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
  47610. s.NotAfter = &v
  47611. return s
  47612. }
  47613. // SetNotBefore sets the NotBefore field's value.
  47614. func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
  47615. s.NotBefore = &v
  47616. return s
  47617. }
  47618. // Describes the status of a volume.
  47619. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusInfo
  47620. type VolumeStatusInfo struct {
  47621. _ struct{} `type:"structure"`
  47622. // The details of the volume status.
  47623. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  47624. // The status of the volume.
  47625. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  47626. }
  47627. // String returns the string representation
  47628. func (s VolumeStatusInfo) String() string {
  47629. return awsutil.Prettify(s)
  47630. }
  47631. // GoString returns the string representation
  47632. func (s VolumeStatusInfo) GoString() string {
  47633. return s.String()
  47634. }
  47635. // SetDetails sets the Details field's value.
  47636. func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
  47637. s.Details = v
  47638. return s
  47639. }
  47640. // SetStatus sets the Status field's value.
  47641. func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
  47642. s.Status = &v
  47643. return s
  47644. }
  47645. // Describes the volume status.
  47646. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusItem
  47647. type VolumeStatusItem struct {
  47648. _ struct{} `type:"structure"`
  47649. // The details of the operation.
  47650. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  47651. // The Availability Zone of the volume.
  47652. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  47653. // A list of events associated with the volume.
  47654. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  47655. // The volume ID.
  47656. VolumeId *string `locationName:"volumeId" type:"string"`
  47657. // The volume status.
  47658. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  47659. }
  47660. // String returns the string representation
  47661. func (s VolumeStatusItem) String() string {
  47662. return awsutil.Prettify(s)
  47663. }
  47664. // GoString returns the string representation
  47665. func (s VolumeStatusItem) GoString() string {
  47666. return s.String()
  47667. }
  47668. // SetActions sets the Actions field's value.
  47669. func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
  47670. s.Actions = v
  47671. return s
  47672. }
  47673. // SetAvailabilityZone sets the AvailabilityZone field's value.
  47674. func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
  47675. s.AvailabilityZone = &v
  47676. return s
  47677. }
  47678. // SetEvents sets the Events field's value.
  47679. func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
  47680. s.Events = v
  47681. return s
  47682. }
  47683. // SetVolumeId sets the VolumeId field's value.
  47684. func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
  47685. s.VolumeId = &v
  47686. return s
  47687. }
  47688. // SetVolumeStatus sets the VolumeStatus field's value.
  47689. func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
  47690. s.VolumeStatus = v
  47691. return s
  47692. }
  47693. // Describes a VPC.
  47694. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Vpc
  47695. type Vpc struct {
  47696. _ struct{} `type:"structure"`
  47697. // The IPv4 CIDR block for the VPC.
  47698. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  47699. // The ID of the set of DHCP options you've associated with the VPC (or default
  47700. // if the default options are associated with the VPC).
  47701. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  47702. // The allowed tenancy of instances launched into the VPC.
  47703. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  47704. // Information about the IPv6 CIDR blocks associated with the VPC.
  47705. Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  47706. // Indicates whether the VPC is the default VPC.
  47707. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  47708. // The current state of the VPC.
  47709. State *string `locationName:"state" type:"string" enum:"VpcState"`
  47710. // Any tags assigned to the VPC.
  47711. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47712. // The ID of the VPC.
  47713. VpcId *string `locationName:"vpcId" type:"string"`
  47714. }
  47715. // String returns the string representation
  47716. func (s Vpc) String() string {
  47717. return awsutil.Prettify(s)
  47718. }
  47719. // GoString returns the string representation
  47720. func (s Vpc) GoString() string {
  47721. return s.String()
  47722. }
  47723. // SetCidrBlock sets the CidrBlock field's value.
  47724. func (s *Vpc) SetCidrBlock(v string) *Vpc {
  47725. s.CidrBlock = &v
  47726. return s
  47727. }
  47728. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  47729. func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
  47730. s.DhcpOptionsId = &v
  47731. return s
  47732. }
  47733. // SetInstanceTenancy sets the InstanceTenancy field's value.
  47734. func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
  47735. s.InstanceTenancy = &v
  47736. return s
  47737. }
  47738. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  47739. func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
  47740. s.Ipv6CidrBlockAssociationSet = v
  47741. return s
  47742. }
  47743. // SetIsDefault sets the IsDefault field's value.
  47744. func (s *Vpc) SetIsDefault(v bool) *Vpc {
  47745. s.IsDefault = &v
  47746. return s
  47747. }
  47748. // SetState sets the State field's value.
  47749. func (s *Vpc) SetState(v string) *Vpc {
  47750. s.State = &v
  47751. return s
  47752. }
  47753. // SetTags sets the Tags field's value.
  47754. func (s *Vpc) SetTags(v []*Tag) *Vpc {
  47755. s.Tags = v
  47756. return s
  47757. }
  47758. // SetVpcId sets the VpcId field's value.
  47759. func (s *Vpc) SetVpcId(v string) *Vpc {
  47760. s.VpcId = &v
  47761. return s
  47762. }
  47763. // Describes an attachment between a virtual private gateway and a VPC.
  47764. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcAttachment
  47765. type VpcAttachment struct {
  47766. _ struct{} `type:"structure"`
  47767. // The current state of the attachment.
  47768. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  47769. // The ID of the VPC.
  47770. VpcId *string `locationName:"vpcId" type:"string"`
  47771. }
  47772. // String returns the string representation
  47773. func (s VpcAttachment) String() string {
  47774. return awsutil.Prettify(s)
  47775. }
  47776. // GoString returns the string representation
  47777. func (s VpcAttachment) GoString() string {
  47778. return s.String()
  47779. }
  47780. // SetState sets the State field's value.
  47781. func (s *VpcAttachment) SetState(v string) *VpcAttachment {
  47782. s.State = &v
  47783. return s
  47784. }
  47785. // SetVpcId sets the VpcId field's value.
  47786. func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
  47787. s.VpcId = &v
  47788. return s
  47789. }
  47790. // Describes the state of a CIDR block.
  47791. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcCidrBlockState
  47792. type VpcCidrBlockState struct {
  47793. _ struct{} `type:"structure"`
  47794. // The state of the CIDR block.
  47795. State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
  47796. // A message about the status of the CIDR block, if applicable.
  47797. StatusMessage *string `locationName:"statusMessage" type:"string"`
  47798. }
  47799. // String returns the string representation
  47800. func (s VpcCidrBlockState) String() string {
  47801. return awsutil.Prettify(s)
  47802. }
  47803. // GoString returns the string representation
  47804. func (s VpcCidrBlockState) GoString() string {
  47805. return s.String()
  47806. }
  47807. // SetState sets the State field's value.
  47808. func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
  47809. s.State = &v
  47810. return s
  47811. }
  47812. // SetStatusMessage sets the StatusMessage field's value.
  47813. func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
  47814. s.StatusMessage = &v
  47815. return s
  47816. }
  47817. // Describes whether a VPC is enabled for ClassicLink.
  47818. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcClassicLink
  47819. type VpcClassicLink struct {
  47820. _ struct{} `type:"structure"`
  47821. // Indicates whether the VPC is enabled for ClassicLink.
  47822. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  47823. // Any tags assigned to the VPC.
  47824. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47825. // The ID of the VPC.
  47826. VpcId *string `locationName:"vpcId" type:"string"`
  47827. }
  47828. // String returns the string representation
  47829. func (s VpcClassicLink) String() string {
  47830. return awsutil.Prettify(s)
  47831. }
  47832. // GoString returns the string representation
  47833. func (s VpcClassicLink) GoString() string {
  47834. return s.String()
  47835. }
  47836. // SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
  47837. func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
  47838. s.ClassicLinkEnabled = &v
  47839. return s
  47840. }
  47841. // SetTags sets the Tags field's value.
  47842. func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
  47843. s.Tags = v
  47844. return s
  47845. }
  47846. // SetVpcId sets the VpcId field's value.
  47847. func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
  47848. s.VpcId = &v
  47849. return s
  47850. }
  47851. // Describes a VPC endpoint.
  47852. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEndpoint
  47853. type VpcEndpoint struct {
  47854. _ struct{} `type:"structure"`
  47855. // The date and time the VPC endpoint was created.
  47856. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  47857. // The policy document associated with the endpoint.
  47858. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  47859. // One or more route tables associated with the endpoint.
  47860. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  47861. // The name of the AWS service to which the endpoint is associated.
  47862. ServiceName *string `locationName:"serviceName" type:"string"`
  47863. // The state of the VPC endpoint.
  47864. State *string `locationName:"state" type:"string" enum:"State"`
  47865. // The ID of the VPC endpoint.
  47866. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  47867. // The ID of the VPC to which the endpoint is associated.
  47868. VpcId *string `locationName:"vpcId" type:"string"`
  47869. }
  47870. // String returns the string representation
  47871. func (s VpcEndpoint) String() string {
  47872. return awsutil.Prettify(s)
  47873. }
  47874. // GoString returns the string representation
  47875. func (s VpcEndpoint) GoString() string {
  47876. return s.String()
  47877. }
  47878. // SetCreationTimestamp sets the CreationTimestamp field's value.
  47879. func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
  47880. s.CreationTimestamp = &v
  47881. return s
  47882. }
  47883. // SetPolicyDocument sets the PolicyDocument field's value.
  47884. func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
  47885. s.PolicyDocument = &v
  47886. return s
  47887. }
  47888. // SetRouteTableIds sets the RouteTableIds field's value.
  47889. func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
  47890. s.RouteTableIds = v
  47891. return s
  47892. }
  47893. // SetServiceName sets the ServiceName field's value.
  47894. func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
  47895. s.ServiceName = &v
  47896. return s
  47897. }
  47898. // SetState sets the State field's value.
  47899. func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
  47900. s.State = &v
  47901. return s
  47902. }
  47903. // SetVpcEndpointId sets the VpcEndpointId field's value.
  47904. func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
  47905. s.VpcEndpointId = &v
  47906. return s
  47907. }
  47908. // SetVpcId sets the VpcId field's value.
  47909. func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
  47910. s.VpcId = &v
  47911. return s
  47912. }
  47913. // Describes an IPv6 CIDR block associated with a VPC.
  47914. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcIpv6CidrBlockAssociation
  47915. type VpcIpv6CidrBlockAssociation struct {
  47916. _ struct{} `type:"structure"`
  47917. // The association ID for the IPv6 CIDR block.
  47918. AssociationId *string `locationName:"associationId" type:"string"`
  47919. // The IPv6 CIDR block.
  47920. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  47921. // Information about the state of the CIDR block.
  47922. Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  47923. }
  47924. // String returns the string representation
  47925. func (s VpcIpv6CidrBlockAssociation) String() string {
  47926. return awsutil.Prettify(s)
  47927. }
  47928. // GoString returns the string representation
  47929. func (s VpcIpv6CidrBlockAssociation) GoString() string {
  47930. return s.String()
  47931. }
  47932. // SetAssociationId sets the AssociationId field's value.
  47933. func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
  47934. s.AssociationId = &v
  47935. return s
  47936. }
  47937. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  47938. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
  47939. s.Ipv6CidrBlock = &v
  47940. return s
  47941. }
  47942. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  47943. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
  47944. s.Ipv6CidrBlockState = v
  47945. return s
  47946. }
  47947. // Describes a VPC peering connection.
  47948. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnection
  47949. type VpcPeeringConnection struct {
  47950. _ struct{} `type:"structure"`
  47951. // Information about the accepter VPC. CIDR block information is not returned
  47952. // when creating a VPC peering connection, or when describing a VPC peering
  47953. // connection that's in the initiating-request or pending-acceptance state.
  47954. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  47955. // The time that an unaccepted VPC peering connection will expire.
  47956. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
  47957. // Information about the requester VPC.
  47958. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  47959. // The status of the VPC peering connection.
  47960. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  47961. // Any tags assigned to the resource.
  47962. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47963. // The ID of the VPC peering connection.
  47964. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  47965. }
  47966. // String returns the string representation
  47967. func (s VpcPeeringConnection) String() string {
  47968. return awsutil.Prettify(s)
  47969. }
  47970. // GoString returns the string representation
  47971. func (s VpcPeeringConnection) GoString() string {
  47972. return s.String()
  47973. }
  47974. // SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
  47975. func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  47976. s.AccepterVpcInfo = v
  47977. return s
  47978. }
  47979. // SetExpirationTime sets the ExpirationTime field's value.
  47980. func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
  47981. s.ExpirationTime = &v
  47982. return s
  47983. }
  47984. // SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
  47985. func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  47986. s.RequesterVpcInfo = v
  47987. return s
  47988. }
  47989. // SetStatus sets the Status field's value.
  47990. func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
  47991. s.Status = v
  47992. return s
  47993. }
  47994. // SetTags sets the Tags field's value.
  47995. func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
  47996. s.Tags = v
  47997. return s
  47998. }
  47999. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  48000. func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
  48001. s.VpcPeeringConnectionId = &v
  48002. return s
  48003. }
  48004. // Describes the VPC peering connection options.
  48005. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionOptionsDescription
  48006. type VpcPeeringConnectionOptionsDescription struct {
  48007. _ struct{} `type:"structure"`
  48008. // Indicates whether a local VPC can resolve public DNS hostnames to private
  48009. // IP addresses when queried from instances in a peer VPC.
  48010. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  48011. // Indicates whether a local ClassicLink connection can communicate with the
  48012. // peer VPC over the VPC peering connection.
  48013. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  48014. // Indicates whether a local VPC can communicate with a ClassicLink connection
  48015. // in the peer VPC over the VPC peering connection.
  48016. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  48017. }
  48018. // String returns the string representation
  48019. func (s VpcPeeringConnectionOptionsDescription) String() string {
  48020. return awsutil.Prettify(s)
  48021. }
  48022. // GoString returns the string representation
  48023. func (s VpcPeeringConnectionOptionsDescription) GoString() string {
  48024. return s.String()
  48025. }
  48026. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  48027. func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  48028. s.AllowDnsResolutionFromRemoteVpc = &v
  48029. return s
  48030. }
  48031. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  48032. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  48033. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  48034. return s
  48035. }
  48036. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  48037. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
  48038. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  48039. return s
  48040. }
  48041. // Describes the status of a VPC peering connection.
  48042. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionStateReason
  48043. type VpcPeeringConnectionStateReason struct {
  48044. _ struct{} `type:"structure"`
  48045. // The status of the VPC peering connection.
  48046. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  48047. // A message that provides more information about the status, if applicable.
  48048. Message *string `locationName:"message" type:"string"`
  48049. }
  48050. // String returns the string representation
  48051. func (s VpcPeeringConnectionStateReason) String() string {
  48052. return awsutil.Prettify(s)
  48053. }
  48054. // GoString returns the string representation
  48055. func (s VpcPeeringConnectionStateReason) GoString() string {
  48056. return s.String()
  48057. }
  48058. // SetCode sets the Code field's value.
  48059. func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
  48060. s.Code = &v
  48061. return s
  48062. }
  48063. // SetMessage sets the Message field's value.
  48064. func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
  48065. s.Message = &v
  48066. return s
  48067. }
  48068. // Describes a VPC in a VPC peering connection.
  48069. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionVpcInfo
  48070. type VpcPeeringConnectionVpcInfo struct {
  48071. _ struct{} `type:"structure"`
  48072. // The IPv4 CIDR block for the VPC.
  48073. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  48074. // The IPv6 CIDR block for the VPC.
  48075. Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
  48076. // The AWS account ID of the VPC owner.
  48077. OwnerId *string `locationName:"ownerId" type:"string"`
  48078. // Information about the VPC peering connection options for the accepter or
  48079. // requester VPC.
  48080. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
  48081. // The ID of the VPC.
  48082. VpcId *string `locationName:"vpcId" type:"string"`
  48083. }
  48084. // String returns the string representation
  48085. func (s VpcPeeringConnectionVpcInfo) String() string {
  48086. return awsutil.Prettify(s)
  48087. }
  48088. // GoString returns the string representation
  48089. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  48090. return s.String()
  48091. }
  48092. // SetCidrBlock sets the CidrBlock field's value.
  48093. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
  48094. s.CidrBlock = &v
  48095. return s
  48096. }
  48097. // SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
  48098. func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
  48099. s.Ipv6CidrBlockSet = v
  48100. return s
  48101. }
  48102. // SetOwnerId sets the OwnerId field's value.
  48103. func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
  48104. s.OwnerId = &v
  48105. return s
  48106. }
  48107. // SetPeeringOptions sets the PeeringOptions field's value.
  48108. func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
  48109. s.PeeringOptions = v
  48110. return s
  48111. }
  48112. // SetVpcId sets the VpcId field's value.
  48113. func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
  48114. s.VpcId = &v
  48115. return s
  48116. }
  48117. // Describes a VPN connection.
  48118. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnection
  48119. type VpnConnection struct {
  48120. _ struct{} `type:"structure"`
  48121. // The configuration information for the VPN connection's customer gateway (in
  48122. // the native XML format). This element is always present in the CreateVpnConnection
  48123. // response; however, it's present in the DescribeVpnConnections response only
  48124. // if the VPN connection is in the pending or available state.
  48125. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  48126. // The ID of the customer gateway at your end of the VPN connection.
  48127. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  48128. // The VPN connection options.
  48129. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  48130. // The static routes associated with the VPN connection.
  48131. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  48132. // The current state of the VPN connection.
  48133. State *string `locationName:"state" type:"string" enum:"VpnState"`
  48134. // Any tags assigned to the VPN connection.
  48135. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48136. // The type of VPN connection.
  48137. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  48138. // Information about the VPN tunnel.
  48139. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  48140. // The ID of the VPN connection.
  48141. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  48142. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  48143. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  48144. }
  48145. // String returns the string representation
  48146. func (s VpnConnection) String() string {
  48147. return awsutil.Prettify(s)
  48148. }
  48149. // GoString returns the string representation
  48150. func (s VpnConnection) GoString() string {
  48151. return s.String()
  48152. }
  48153. // SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
  48154. func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
  48155. s.CustomerGatewayConfiguration = &v
  48156. return s
  48157. }
  48158. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  48159. func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
  48160. s.CustomerGatewayId = &v
  48161. return s
  48162. }
  48163. // SetOptions sets the Options field's value.
  48164. func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
  48165. s.Options = v
  48166. return s
  48167. }
  48168. // SetRoutes sets the Routes field's value.
  48169. func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
  48170. s.Routes = v
  48171. return s
  48172. }
  48173. // SetState sets the State field's value.
  48174. func (s *VpnConnection) SetState(v string) *VpnConnection {
  48175. s.State = &v
  48176. return s
  48177. }
  48178. // SetTags sets the Tags field's value.
  48179. func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
  48180. s.Tags = v
  48181. return s
  48182. }
  48183. // SetType sets the Type field's value.
  48184. func (s *VpnConnection) SetType(v string) *VpnConnection {
  48185. s.Type = &v
  48186. return s
  48187. }
  48188. // SetVgwTelemetry sets the VgwTelemetry field's value.
  48189. func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
  48190. s.VgwTelemetry = v
  48191. return s
  48192. }
  48193. // SetVpnConnectionId sets the VpnConnectionId field's value.
  48194. func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
  48195. s.VpnConnectionId = &v
  48196. return s
  48197. }
  48198. // SetVpnGatewayId sets the VpnGatewayId field's value.
  48199. func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
  48200. s.VpnGatewayId = &v
  48201. return s
  48202. }
  48203. // Describes VPN connection options.
  48204. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnectionOptions
  48205. type VpnConnectionOptions struct {
  48206. _ struct{} `type:"structure"`
  48207. // Indicates whether the VPN connection uses static routes only. Static routes
  48208. // must be used for devices that don't support BGP.
  48209. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  48210. }
  48211. // String returns the string representation
  48212. func (s VpnConnectionOptions) String() string {
  48213. return awsutil.Prettify(s)
  48214. }
  48215. // GoString returns the string representation
  48216. func (s VpnConnectionOptions) GoString() string {
  48217. return s.String()
  48218. }
  48219. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  48220. func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
  48221. s.StaticRoutesOnly = &v
  48222. return s
  48223. }
  48224. // Describes VPN connection options.
  48225. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnectionOptionsSpecification
  48226. type VpnConnectionOptionsSpecification struct {
  48227. _ struct{} `type:"structure"`
  48228. // Indicates whether the VPN connection uses static routes only. Static routes
  48229. // must be used for devices that don't support BGP.
  48230. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  48231. }
  48232. // String returns the string representation
  48233. func (s VpnConnectionOptionsSpecification) String() string {
  48234. return awsutil.Prettify(s)
  48235. }
  48236. // GoString returns the string representation
  48237. func (s VpnConnectionOptionsSpecification) GoString() string {
  48238. return s.String()
  48239. }
  48240. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  48241. func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
  48242. s.StaticRoutesOnly = &v
  48243. return s
  48244. }
  48245. // Describes a virtual private gateway.
  48246. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnGateway
  48247. type VpnGateway struct {
  48248. _ struct{} `type:"structure"`
  48249. // The Availability Zone where the virtual private gateway was created, if applicable.
  48250. // This field may be empty or not returned.
  48251. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  48252. // The current state of the virtual private gateway.
  48253. State *string `locationName:"state" type:"string" enum:"VpnState"`
  48254. // Any tags assigned to the virtual private gateway.
  48255. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48256. // The type of VPN connection the virtual private gateway supports.
  48257. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  48258. // Any VPCs attached to the virtual private gateway.
  48259. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  48260. // The ID of the virtual private gateway.
  48261. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  48262. }
  48263. // String returns the string representation
  48264. func (s VpnGateway) String() string {
  48265. return awsutil.Prettify(s)
  48266. }
  48267. // GoString returns the string representation
  48268. func (s VpnGateway) GoString() string {
  48269. return s.String()
  48270. }
  48271. // SetAvailabilityZone sets the AvailabilityZone field's value.
  48272. func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
  48273. s.AvailabilityZone = &v
  48274. return s
  48275. }
  48276. // SetState sets the State field's value.
  48277. func (s *VpnGateway) SetState(v string) *VpnGateway {
  48278. s.State = &v
  48279. return s
  48280. }
  48281. // SetTags sets the Tags field's value.
  48282. func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
  48283. s.Tags = v
  48284. return s
  48285. }
  48286. // SetType sets the Type field's value.
  48287. func (s *VpnGateway) SetType(v string) *VpnGateway {
  48288. s.Type = &v
  48289. return s
  48290. }
  48291. // SetVpcAttachments sets the VpcAttachments field's value.
  48292. func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
  48293. s.VpcAttachments = v
  48294. return s
  48295. }
  48296. // SetVpnGatewayId sets the VpnGatewayId field's value.
  48297. func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
  48298. s.VpnGatewayId = &v
  48299. return s
  48300. }
  48301. // Describes a static route for a VPN connection.
  48302. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnStaticRoute
  48303. type VpnStaticRoute struct {
  48304. _ struct{} `type:"structure"`
  48305. // The CIDR block associated with the local subnet of the customer data center.
  48306. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  48307. // Indicates how the routes were provided.
  48308. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  48309. // The current state of the static route.
  48310. State *string `locationName:"state" type:"string" enum:"VpnState"`
  48311. }
  48312. // String returns the string representation
  48313. func (s VpnStaticRoute) String() string {
  48314. return awsutil.Prettify(s)
  48315. }
  48316. // GoString returns the string representation
  48317. func (s VpnStaticRoute) GoString() string {
  48318. return s.String()
  48319. }
  48320. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  48321. func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
  48322. s.DestinationCidrBlock = &v
  48323. return s
  48324. }
  48325. // SetSource sets the Source field's value.
  48326. func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
  48327. s.Source = &v
  48328. return s
  48329. }
  48330. // SetState sets the State field's value.
  48331. func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
  48332. s.State = &v
  48333. return s
  48334. }
  48335. const (
  48336. // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
  48337. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  48338. // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
  48339. AccountAttributeNameDefaultVpc = "default-vpc"
  48340. )
  48341. const (
  48342. // ActivityStatusError is a ActivityStatus enum value
  48343. ActivityStatusError = "error"
  48344. // ActivityStatusPendingFulfillment is a ActivityStatus enum value
  48345. ActivityStatusPendingFulfillment = "pending_fulfillment"
  48346. // ActivityStatusPendingTermination is a ActivityStatus enum value
  48347. ActivityStatusPendingTermination = "pending_termination"
  48348. // ActivityStatusFulfilled is a ActivityStatus enum value
  48349. ActivityStatusFulfilled = "fulfilled"
  48350. )
  48351. const (
  48352. // AffinityDefault is a Affinity enum value
  48353. AffinityDefault = "default"
  48354. // AffinityHost is a Affinity enum value
  48355. AffinityHost = "host"
  48356. )
  48357. const (
  48358. // AllocationStateAvailable is a AllocationState enum value
  48359. AllocationStateAvailable = "available"
  48360. // AllocationStateUnderAssessment is a AllocationState enum value
  48361. AllocationStateUnderAssessment = "under-assessment"
  48362. // AllocationStatePermanentFailure is a AllocationState enum value
  48363. AllocationStatePermanentFailure = "permanent-failure"
  48364. // AllocationStateReleased is a AllocationState enum value
  48365. AllocationStateReleased = "released"
  48366. // AllocationStateReleasedPermanentFailure is a AllocationState enum value
  48367. AllocationStateReleasedPermanentFailure = "released-permanent-failure"
  48368. )
  48369. const (
  48370. // AllocationStrategyLowestPrice is a AllocationStrategy enum value
  48371. AllocationStrategyLowestPrice = "lowestPrice"
  48372. // AllocationStrategyDiversified is a AllocationStrategy enum value
  48373. AllocationStrategyDiversified = "diversified"
  48374. )
  48375. const (
  48376. // ArchitectureValuesI386 is a ArchitectureValues enum value
  48377. ArchitectureValuesI386 = "i386"
  48378. // ArchitectureValuesX8664 is a ArchitectureValues enum value
  48379. ArchitectureValuesX8664 = "x86_64"
  48380. )
  48381. const (
  48382. // AttachmentStatusAttaching is a AttachmentStatus enum value
  48383. AttachmentStatusAttaching = "attaching"
  48384. // AttachmentStatusAttached is a AttachmentStatus enum value
  48385. AttachmentStatusAttached = "attached"
  48386. // AttachmentStatusDetaching is a AttachmentStatus enum value
  48387. AttachmentStatusDetaching = "detaching"
  48388. // AttachmentStatusDetached is a AttachmentStatus enum value
  48389. AttachmentStatusDetached = "detached"
  48390. )
  48391. const (
  48392. // AutoPlacementOn is a AutoPlacement enum value
  48393. AutoPlacementOn = "on"
  48394. // AutoPlacementOff is a AutoPlacement enum value
  48395. AutoPlacementOff = "off"
  48396. )
  48397. const (
  48398. // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
  48399. AvailabilityZoneStateAvailable = "available"
  48400. // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
  48401. AvailabilityZoneStateInformation = "information"
  48402. // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
  48403. AvailabilityZoneStateImpaired = "impaired"
  48404. // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
  48405. AvailabilityZoneStateUnavailable = "unavailable"
  48406. )
  48407. const (
  48408. // BatchStateSubmitted is a BatchState enum value
  48409. BatchStateSubmitted = "submitted"
  48410. // BatchStateActive is a BatchState enum value
  48411. BatchStateActive = "active"
  48412. // BatchStateCancelled is a BatchState enum value
  48413. BatchStateCancelled = "cancelled"
  48414. // BatchStateFailed is a BatchState enum value
  48415. BatchStateFailed = "failed"
  48416. // BatchStateCancelledRunning is a BatchState enum value
  48417. BatchStateCancelledRunning = "cancelled_running"
  48418. // BatchStateCancelledTerminating is a BatchState enum value
  48419. BatchStateCancelledTerminating = "cancelled_terminating"
  48420. // BatchStateModifying is a BatchState enum value
  48421. BatchStateModifying = "modifying"
  48422. )
  48423. const (
  48424. // BundleTaskStatePending is a BundleTaskState enum value
  48425. BundleTaskStatePending = "pending"
  48426. // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
  48427. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  48428. // BundleTaskStateBundling is a BundleTaskState enum value
  48429. BundleTaskStateBundling = "bundling"
  48430. // BundleTaskStateStoring is a BundleTaskState enum value
  48431. BundleTaskStateStoring = "storing"
  48432. // BundleTaskStateCancelling is a BundleTaskState enum value
  48433. BundleTaskStateCancelling = "cancelling"
  48434. // BundleTaskStateComplete is a BundleTaskState enum value
  48435. BundleTaskStateComplete = "complete"
  48436. // BundleTaskStateFailed is a BundleTaskState enum value
  48437. BundleTaskStateFailed = "failed"
  48438. )
  48439. const (
  48440. // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
  48441. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  48442. // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
  48443. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  48444. // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
  48445. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  48446. // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
  48447. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  48448. )
  48449. const (
  48450. // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
  48451. CancelSpotInstanceRequestStateActive = "active"
  48452. // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
  48453. CancelSpotInstanceRequestStateOpen = "open"
  48454. // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
  48455. CancelSpotInstanceRequestStateClosed = "closed"
  48456. // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
  48457. CancelSpotInstanceRequestStateCancelled = "cancelled"
  48458. // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
  48459. CancelSpotInstanceRequestStateCompleted = "completed"
  48460. )
  48461. const (
  48462. // ContainerFormatOva is a ContainerFormat enum value
  48463. ContainerFormatOva = "ova"
  48464. )
  48465. const (
  48466. // ConversionTaskStateActive is a ConversionTaskState enum value
  48467. ConversionTaskStateActive = "active"
  48468. // ConversionTaskStateCancelling is a ConversionTaskState enum value
  48469. ConversionTaskStateCancelling = "cancelling"
  48470. // ConversionTaskStateCancelled is a ConversionTaskState enum value
  48471. ConversionTaskStateCancelled = "cancelled"
  48472. // ConversionTaskStateCompleted is a ConversionTaskState enum value
  48473. ConversionTaskStateCompleted = "completed"
  48474. )
  48475. const (
  48476. // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
  48477. CurrencyCodeValuesUsd = "USD"
  48478. )
  48479. const (
  48480. // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
  48481. DatafeedSubscriptionStateActive = "Active"
  48482. // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
  48483. DatafeedSubscriptionStateInactive = "Inactive"
  48484. )
  48485. const (
  48486. // DeviceTypeEbs is a DeviceType enum value
  48487. DeviceTypeEbs = "ebs"
  48488. // DeviceTypeInstanceStore is a DeviceType enum value
  48489. DeviceTypeInstanceStore = "instance-store"
  48490. )
  48491. const (
  48492. // DiskImageFormatVmdk is a DiskImageFormat enum value
  48493. DiskImageFormatVmdk = "VMDK"
  48494. // DiskImageFormatRaw is a DiskImageFormat enum value
  48495. DiskImageFormatRaw = "RAW"
  48496. // DiskImageFormatVhd is a DiskImageFormat enum value
  48497. DiskImageFormatVhd = "VHD"
  48498. )
  48499. const (
  48500. // DomainTypeVpc is a DomainType enum value
  48501. DomainTypeVpc = "vpc"
  48502. // DomainTypeStandard is a DomainType enum value
  48503. DomainTypeStandard = "standard"
  48504. )
  48505. const (
  48506. // EventCodeInstanceReboot is a EventCode enum value
  48507. EventCodeInstanceReboot = "instance-reboot"
  48508. // EventCodeSystemReboot is a EventCode enum value
  48509. EventCodeSystemReboot = "system-reboot"
  48510. // EventCodeSystemMaintenance is a EventCode enum value
  48511. EventCodeSystemMaintenance = "system-maintenance"
  48512. // EventCodeInstanceRetirement is a EventCode enum value
  48513. EventCodeInstanceRetirement = "instance-retirement"
  48514. // EventCodeInstanceStop is a EventCode enum value
  48515. EventCodeInstanceStop = "instance-stop"
  48516. )
  48517. const (
  48518. // EventTypeInstanceChange is a EventType enum value
  48519. EventTypeInstanceChange = "instanceChange"
  48520. // EventTypeFleetRequestChange is a EventType enum value
  48521. EventTypeFleetRequestChange = "fleetRequestChange"
  48522. // EventTypeError is a EventType enum value
  48523. EventTypeError = "error"
  48524. )
  48525. const (
  48526. // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
  48527. ExcessCapacityTerminationPolicyNoTermination = "noTermination"
  48528. // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
  48529. ExcessCapacityTerminationPolicyDefault = "default"
  48530. )
  48531. const (
  48532. // ExportEnvironmentCitrix is a ExportEnvironment enum value
  48533. ExportEnvironmentCitrix = "citrix"
  48534. // ExportEnvironmentVmware is a ExportEnvironment enum value
  48535. ExportEnvironmentVmware = "vmware"
  48536. // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
  48537. ExportEnvironmentMicrosoft = "microsoft"
  48538. )
  48539. const (
  48540. // ExportTaskStateActive is a ExportTaskState enum value
  48541. ExportTaskStateActive = "active"
  48542. // ExportTaskStateCancelling is a ExportTaskState enum value
  48543. ExportTaskStateCancelling = "cancelling"
  48544. // ExportTaskStateCancelled is a ExportTaskState enum value
  48545. ExportTaskStateCancelled = "cancelled"
  48546. // ExportTaskStateCompleted is a ExportTaskState enum value
  48547. ExportTaskStateCompleted = "completed"
  48548. )
  48549. const (
  48550. // FleetTypeRequest is a FleetType enum value
  48551. FleetTypeRequest = "request"
  48552. // FleetTypeMaintain is a FleetType enum value
  48553. FleetTypeMaintain = "maintain"
  48554. )
  48555. const (
  48556. // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
  48557. FlowLogsResourceTypeVpc = "VPC"
  48558. // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
  48559. FlowLogsResourceTypeSubnet = "Subnet"
  48560. // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
  48561. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  48562. )
  48563. const (
  48564. // GatewayTypeIpsec1 is a GatewayType enum value
  48565. GatewayTypeIpsec1 = "ipsec.1"
  48566. )
  48567. const (
  48568. // HostTenancyDedicated is a HostTenancy enum value
  48569. HostTenancyDedicated = "dedicated"
  48570. // HostTenancyHost is a HostTenancy enum value
  48571. HostTenancyHost = "host"
  48572. )
  48573. const (
  48574. // HypervisorTypeOvm is a HypervisorType enum value
  48575. HypervisorTypeOvm = "ovm"
  48576. // HypervisorTypeXen is a HypervisorType enum value
  48577. HypervisorTypeXen = "xen"
  48578. )
  48579. const (
  48580. // IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
  48581. IamInstanceProfileAssociationStateAssociating = "associating"
  48582. // IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
  48583. IamInstanceProfileAssociationStateAssociated = "associated"
  48584. // IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
  48585. IamInstanceProfileAssociationStateDisassociating = "disassociating"
  48586. // IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
  48587. IamInstanceProfileAssociationStateDisassociated = "disassociated"
  48588. )
  48589. const (
  48590. // ImageAttributeNameDescription is a ImageAttributeName enum value
  48591. ImageAttributeNameDescription = "description"
  48592. // ImageAttributeNameKernel is a ImageAttributeName enum value
  48593. ImageAttributeNameKernel = "kernel"
  48594. // ImageAttributeNameRamdisk is a ImageAttributeName enum value
  48595. ImageAttributeNameRamdisk = "ramdisk"
  48596. // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
  48597. ImageAttributeNameLaunchPermission = "launchPermission"
  48598. // ImageAttributeNameProductCodes is a ImageAttributeName enum value
  48599. ImageAttributeNameProductCodes = "productCodes"
  48600. // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
  48601. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  48602. // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
  48603. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  48604. )
  48605. const (
  48606. // ImageStatePending is a ImageState enum value
  48607. ImageStatePending = "pending"
  48608. // ImageStateAvailable is a ImageState enum value
  48609. ImageStateAvailable = "available"
  48610. // ImageStateInvalid is a ImageState enum value
  48611. ImageStateInvalid = "invalid"
  48612. // ImageStateDeregistered is a ImageState enum value
  48613. ImageStateDeregistered = "deregistered"
  48614. // ImageStateTransient is a ImageState enum value
  48615. ImageStateTransient = "transient"
  48616. // ImageStateFailed is a ImageState enum value
  48617. ImageStateFailed = "failed"
  48618. // ImageStateError is a ImageState enum value
  48619. ImageStateError = "error"
  48620. )
  48621. const (
  48622. // ImageTypeValuesMachine is a ImageTypeValues enum value
  48623. ImageTypeValuesMachine = "machine"
  48624. // ImageTypeValuesKernel is a ImageTypeValues enum value
  48625. ImageTypeValuesKernel = "kernel"
  48626. // ImageTypeValuesRamdisk is a ImageTypeValues enum value
  48627. ImageTypeValuesRamdisk = "ramdisk"
  48628. )
  48629. const (
  48630. // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
  48631. InstanceAttributeNameInstanceType = "instanceType"
  48632. // InstanceAttributeNameKernel is a InstanceAttributeName enum value
  48633. InstanceAttributeNameKernel = "kernel"
  48634. // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
  48635. InstanceAttributeNameRamdisk = "ramdisk"
  48636. // InstanceAttributeNameUserData is a InstanceAttributeName enum value
  48637. InstanceAttributeNameUserData = "userData"
  48638. // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
  48639. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  48640. // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
  48641. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  48642. // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
  48643. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  48644. // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
  48645. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  48646. // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
  48647. InstanceAttributeNameProductCodes = "productCodes"
  48648. // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
  48649. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  48650. // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
  48651. InstanceAttributeNameGroupSet = "groupSet"
  48652. // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
  48653. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  48654. // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
  48655. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  48656. // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
  48657. InstanceAttributeNameEnaSupport = "enaSupport"
  48658. )
  48659. const (
  48660. // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
  48661. InstanceHealthStatusHealthy = "healthy"
  48662. // InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
  48663. InstanceHealthStatusUnhealthy = "unhealthy"
  48664. )
  48665. const (
  48666. // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
  48667. InstanceLifecycleTypeSpot = "spot"
  48668. // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
  48669. InstanceLifecycleTypeScheduled = "scheduled"
  48670. )
  48671. const (
  48672. // InstanceStateNamePending is a InstanceStateName enum value
  48673. InstanceStateNamePending = "pending"
  48674. // InstanceStateNameRunning is a InstanceStateName enum value
  48675. InstanceStateNameRunning = "running"
  48676. // InstanceStateNameShuttingDown is a InstanceStateName enum value
  48677. InstanceStateNameShuttingDown = "shutting-down"
  48678. // InstanceStateNameTerminated is a InstanceStateName enum value
  48679. InstanceStateNameTerminated = "terminated"
  48680. // InstanceStateNameStopping is a InstanceStateName enum value
  48681. InstanceStateNameStopping = "stopping"
  48682. // InstanceStateNameStopped is a InstanceStateName enum value
  48683. InstanceStateNameStopped = "stopped"
  48684. )
  48685. const (
  48686. // InstanceTypeT1Micro is a InstanceType enum value
  48687. InstanceTypeT1Micro = "t1.micro"
  48688. // InstanceTypeT2Nano is a InstanceType enum value
  48689. InstanceTypeT2Nano = "t2.nano"
  48690. // InstanceTypeT2Micro is a InstanceType enum value
  48691. InstanceTypeT2Micro = "t2.micro"
  48692. // InstanceTypeT2Small is a InstanceType enum value
  48693. InstanceTypeT2Small = "t2.small"
  48694. // InstanceTypeT2Medium is a InstanceType enum value
  48695. InstanceTypeT2Medium = "t2.medium"
  48696. // InstanceTypeT2Large is a InstanceType enum value
  48697. InstanceTypeT2Large = "t2.large"
  48698. // InstanceTypeT2Xlarge is a InstanceType enum value
  48699. InstanceTypeT2Xlarge = "t2.xlarge"
  48700. // InstanceTypeT22xlarge is a InstanceType enum value
  48701. InstanceTypeT22xlarge = "t2.2xlarge"
  48702. // InstanceTypeM1Small is a InstanceType enum value
  48703. InstanceTypeM1Small = "m1.small"
  48704. // InstanceTypeM1Medium is a InstanceType enum value
  48705. InstanceTypeM1Medium = "m1.medium"
  48706. // InstanceTypeM1Large is a InstanceType enum value
  48707. InstanceTypeM1Large = "m1.large"
  48708. // InstanceTypeM1Xlarge is a InstanceType enum value
  48709. InstanceTypeM1Xlarge = "m1.xlarge"
  48710. // InstanceTypeM3Medium is a InstanceType enum value
  48711. InstanceTypeM3Medium = "m3.medium"
  48712. // InstanceTypeM3Large is a InstanceType enum value
  48713. InstanceTypeM3Large = "m3.large"
  48714. // InstanceTypeM3Xlarge is a InstanceType enum value
  48715. InstanceTypeM3Xlarge = "m3.xlarge"
  48716. // InstanceTypeM32xlarge is a InstanceType enum value
  48717. InstanceTypeM32xlarge = "m3.2xlarge"
  48718. // InstanceTypeM4Large is a InstanceType enum value
  48719. InstanceTypeM4Large = "m4.large"
  48720. // InstanceTypeM4Xlarge is a InstanceType enum value
  48721. InstanceTypeM4Xlarge = "m4.xlarge"
  48722. // InstanceTypeM42xlarge is a InstanceType enum value
  48723. InstanceTypeM42xlarge = "m4.2xlarge"
  48724. // InstanceTypeM44xlarge is a InstanceType enum value
  48725. InstanceTypeM44xlarge = "m4.4xlarge"
  48726. // InstanceTypeM410xlarge is a InstanceType enum value
  48727. InstanceTypeM410xlarge = "m4.10xlarge"
  48728. // InstanceTypeM416xlarge is a InstanceType enum value
  48729. InstanceTypeM416xlarge = "m4.16xlarge"
  48730. // InstanceTypeM2Xlarge is a InstanceType enum value
  48731. InstanceTypeM2Xlarge = "m2.xlarge"
  48732. // InstanceTypeM22xlarge is a InstanceType enum value
  48733. InstanceTypeM22xlarge = "m2.2xlarge"
  48734. // InstanceTypeM24xlarge is a InstanceType enum value
  48735. InstanceTypeM24xlarge = "m2.4xlarge"
  48736. // InstanceTypeCr18xlarge is a InstanceType enum value
  48737. InstanceTypeCr18xlarge = "cr1.8xlarge"
  48738. // InstanceTypeR3Large is a InstanceType enum value
  48739. InstanceTypeR3Large = "r3.large"
  48740. // InstanceTypeR3Xlarge is a InstanceType enum value
  48741. InstanceTypeR3Xlarge = "r3.xlarge"
  48742. // InstanceTypeR32xlarge is a InstanceType enum value
  48743. InstanceTypeR32xlarge = "r3.2xlarge"
  48744. // InstanceTypeR34xlarge is a InstanceType enum value
  48745. InstanceTypeR34xlarge = "r3.4xlarge"
  48746. // InstanceTypeR38xlarge is a InstanceType enum value
  48747. InstanceTypeR38xlarge = "r3.8xlarge"
  48748. // InstanceTypeR4Large is a InstanceType enum value
  48749. InstanceTypeR4Large = "r4.large"
  48750. // InstanceTypeR4Xlarge is a InstanceType enum value
  48751. InstanceTypeR4Xlarge = "r4.xlarge"
  48752. // InstanceTypeR42xlarge is a InstanceType enum value
  48753. InstanceTypeR42xlarge = "r4.2xlarge"
  48754. // InstanceTypeR44xlarge is a InstanceType enum value
  48755. InstanceTypeR44xlarge = "r4.4xlarge"
  48756. // InstanceTypeR48xlarge is a InstanceType enum value
  48757. InstanceTypeR48xlarge = "r4.8xlarge"
  48758. // InstanceTypeR416xlarge is a InstanceType enum value
  48759. InstanceTypeR416xlarge = "r4.16xlarge"
  48760. // InstanceTypeX116xlarge is a InstanceType enum value
  48761. InstanceTypeX116xlarge = "x1.16xlarge"
  48762. // InstanceTypeX132xlarge is a InstanceType enum value
  48763. InstanceTypeX132xlarge = "x1.32xlarge"
  48764. // InstanceTypeI2Xlarge is a InstanceType enum value
  48765. InstanceTypeI2Xlarge = "i2.xlarge"
  48766. // InstanceTypeI22xlarge is a InstanceType enum value
  48767. InstanceTypeI22xlarge = "i2.2xlarge"
  48768. // InstanceTypeI24xlarge is a InstanceType enum value
  48769. InstanceTypeI24xlarge = "i2.4xlarge"
  48770. // InstanceTypeI28xlarge is a InstanceType enum value
  48771. InstanceTypeI28xlarge = "i2.8xlarge"
  48772. // InstanceTypeI3Large is a InstanceType enum value
  48773. InstanceTypeI3Large = "i3.large"
  48774. // InstanceTypeI3Xlarge is a InstanceType enum value
  48775. InstanceTypeI3Xlarge = "i3.xlarge"
  48776. // InstanceTypeI32xlarge is a InstanceType enum value
  48777. InstanceTypeI32xlarge = "i3.2xlarge"
  48778. // InstanceTypeI34xlarge is a InstanceType enum value
  48779. InstanceTypeI34xlarge = "i3.4xlarge"
  48780. // InstanceTypeI38xlarge is a InstanceType enum value
  48781. InstanceTypeI38xlarge = "i3.8xlarge"
  48782. // InstanceTypeI316xlarge is a InstanceType enum value
  48783. InstanceTypeI316xlarge = "i3.16xlarge"
  48784. // InstanceTypeHi14xlarge is a InstanceType enum value
  48785. InstanceTypeHi14xlarge = "hi1.4xlarge"
  48786. // InstanceTypeHs18xlarge is a InstanceType enum value
  48787. InstanceTypeHs18xlarge = "hs1.8xlarge"
  48788. // InstanceTypeC1Medium is a InstanceType enum value
  48789. InstanceTypeC1Medium = "c1.medium"
  48790. // InstanceTypeC1Xlarge is a InstanceType enum value
  48791. InstanceTypeC1Xlarge = "c1.xlarge"
  48792. // InstanceTypeC3Large is a InstanceType enum value
  48793. InstanceTypeC3Large = "c3.large"
  48794. // InstanceTypeC3Xlarge is a InstanceType enum value
  48795. InstanceTypeC3Xlarge = "c3.xlarge"
  48796. // InstanceTypeC32xlarge is a InstanceType enum value
  48797. InstanceTypeC32xlarge = "c3.2xlarge"
  48798. // InstanceTypeC34xlarge is a InstanceType enum value
  48799. InstanceTypeC34xlarge = "c3.4xlarge"
  48800. // InstanceTypeC38xlarge is a InstanceType enum value
  48801. InstanceTypeC38xlarge = "c3.8xlarge"
  48802. // InstanceTypeC4Large is a InstanceType enum value
  48803. InstanceTypeC4Large = "c4.large"
  48804. // InstanceTypeC4Xlarge is a InstanceType enum value
  48805. InstanceTypeC4Xlarge = "c4.xlarge"
  48806. // InstanceTypeC42xlarge is a InstanceType enum value
  48807. InstanceTypeC42xlarge = "c4.2xlarge"
  48808. // InstanceTypeC44xlarge is a InstanceType enum value
  48809. InstanceTypeC44xlarge = "c4.4xlarge"
  48810. // InstanceTypeC48xlarge is a InstanceType enum value
  48811. InstanceTypeC48xlarge = "c4.8xlarge"
  48812. // InstanceTypeCc14xlarge is a InstanceType enum value
  48813. InstanceTypeCc14xlarge = "cc1.4xlarge"
  48814. // InstanceTypeCc28xlarge is a InstanceType enum value
  48815. InstanceTypeCc28xlarge = "cc2.8xlarge"
  48816. // InstanceTypeG22xlarge is a InstanceType enum value
  48817. InstanceTypeG22xlarge = "g2.2xlarge"
  48818. // InstanceTypeG28xlarge is a InstanceType enum value
  48819. InstanceTypeG28xlarge = "g2.8xlarge"
  48820. // InstanceTypeCg14xlarge is a InstanceType enum value
  48821. InstanceTypeCg14xlarge = "cg1.4xlarge"
  48822. // InstanceTypeP2Xlarge is a InstanceType enum value
  48823. InstanceTypeP2Xlarge = "p2.xlarge"
  48824. // InstanceTypeP28xlarge is a InstanceType enum value
  48825. InstanceTypeP28xlarge = "p2.8xlarge"
  48826. // InstanceTypeP216xlarge is a InstanceType enum value
  48827. InstanceTypeP216xlarge = "p2.16xlarge"
  48828. // InstanceTypeD2Xlarge is a InstanceType enum value
  48829. InstanceTypeD2Xlarge = "d2.xlarge"
  48830. // InstanceTypeD22xlarge is a InstanceType enum value
  48831. InstanceTypeD22xlarge = "d2.2xlarge"
  48832. // InstanceTypeD24xlarge is a InstanceType enum value
  48833. InstanceTypeD24xlarge = "d2.4xlarge"
  48834. // InstanceTypeD28xlarge is a InstanceType enum value
  48835. InstanceTypeD28xlarge = "d2.8xlarge"
  48836. // InstanceTypeF12xlarge is a InstanceType enum value
  48837. InstanceTypeF12xlarge = "f1.2xlarge"
  48838. // InstanceTypeF116xlarge is a InstanceType enum value
  48839. InstanceTypeF116xlarge = "f1.16xlarge"
  48840. )
  48841. const (
  48842. // ListingStateAvailable is a ListingState enum value
  48843. ListingStateAvailable = "available"
  48844. // ListingStateSold is a ListingState enum value
  48845. ListingStateSold = "sold"
  48846. // ListingStateCancelled is a ListingState enum value
  48847. ListingStateCancelled = "cancelled"
  48848. // ListingStatePending is a ListingState enum value
  48849. ListingStatePending = "pending"
  48850. )
  48851. const (
  48852. // ListingStatusActive is a ListingStatus enum value
  48853. ListingStatusActive = "active"
  48854. // ListingStatusPending is a ListingStatus enum value
  48855. ListingStatusPending = "pending"
  48856. // ListingStatusCancelled is a ListingStatus enum value
  48857. ListingStatusCancelled = "cancelled"
  48858. // ListingStatusClosed is a ListingStatus enum value
  48859. ListingStatusClosed = "closed"
  48860. )
  48861. const (
  48862. // MonitoringStateDisabled is a MonitoringState enum value
  48863. MonitoringStateDisabled = "disabled"
  48864. // MonitoringStateDisabling is a MonitoringState enum value
  48865. MonitoringStateDisabling = "disabling"
  48866. // MonitoringStateEnabled is a MonitoringState enum value
  48867. MonitoringStateEnabled = "enabled"
  48868. // MonitoringStatePending is a MonitoringState enum value
  48869. MonitoringStatePending = "pending"
  48870. )
  48871. const (
  48872. // MoveStatusMovingToVpc is a MoveStatus enum value
  48873. MoveStatusMovingToVpc = "movingToVpc"
  48874. // MoveStatusRestoringToClassic is a MoveStatus enum value
  48875. MoveStatusRestoringToClassic = "restoringToClassic"
  48876. )
  48877. const (
  48878. // NatGatewayStatePending is a NatGatewayState enum value
  48879. NatGatewayStatePending = "pending"
  48880. // NatGatewayStateFailed is a NatGatewayState enum value
  48881. NatGatewayStateFailed = "failed"
  48882. // NatGatewayStateAvailable is a NatGatewayState enum value
  48883. NatGatewayStateAvailable = "available"
  48884. // NatGatewayStateDeleting is a NatGatewayState enum value
  48885. NatGatewayStateDeleting = "deleting"
  48886. // NatGatewayStateDeleted is a NatGatewayState enum value
  48887. NatGatewayStateDeleted = "deleted"
  48888. )
  48889. const (
  48890. // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
  48891. NetworkInterfaceAttributeDescription = "description"
  48892. // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
  48893. NetworkInterfaceAttributeGroupSet = "groupSet"
  48894. // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
  48895. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  48896. // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
  48897. NetworkInterfaceAttributeAttachment = "attachment"
  48898. )
  48899. const (
  48900. // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
  48901. NetworkInterfaceStatusAvailable = "available"
  48902. // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
  48903. NetworkInterfaceStatusAttaching = "attaching"
  48904. // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
  48905. NetworkInterfaceStatusInUse = "in-use"
  48906. // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
  48907. NetworkInterfaceStatusDetaching = "detaching"
  48908. )
  48909. const (
  48910. // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
  48911. NetworkInterfaceTypeInterface = "interface"
  48912. // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
  48913. NetworkInterfaceTypeNatGateway = "natGateway"
  48914. )
  48915. const (
  48916. // OfferingClassTypeStandard is a OfferingClassType enum value
  48917. OfferingClassTypeStandard = "standard"
  48918. // OfferingClassTypeConvertible is a OfferingClassType enum value
  48919. OfferingClassTypeConvertible = "convertible"
  48920. )
  48921. const (
  48922. // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
  48923. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  48924. // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
  48925. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  48926. // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
  48927. OfferingTypeValuesLightUtilization = "Light Utilization"
  48928. // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
  48929. OfferingTypeValuesNoUpfront = "No Upfront"
  48930. // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
  48931. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  48932. // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
  48933. OfferingTypeValuesAllUpfront = "All Upfront"
  48934. )
  48935. const (
  48936. // OperationTypeAdd is a OperationType enum value
  48937. OperationTypeAdd = "add"
  48938. // OperationTypeRemove is a OperationType enum value
  48939. OperationTypeRemove = "remove"
  48940. )
  48941. const (
  48942. // PaymentOptionAllUpfront is a PaymentOption enum value
  48943. PaymentOptionAllUpfront = "AllUpfront"
  48944. // PaymentOptionPartialUpfront is a PaymentOption enum value
  48945. PaymentOptionPartialUpfront = "PartialUpfront"
  48946. // PaymentOptionNoUpfront is a PaymentOption enum value
  48947. PaymentOptionNoUpfront = "NoUpfront"
  48948. )
  48949. const (
  48950. // PermissionGroupAll is a PermissionGroup enum value
  48951. PermissionGroupAll = "all"
  48952. )
  48953. const (
  48954. // PlacementGroupStatePending is a PlacementGroupState enum value
  48955. PlacementGroupStatePending = "pending"
  48956. // PlacementGroupStateAvailable is a PlacementGroupState enum value
  48957. PlacementGroupStateAvailable = "available"
  48958. // PlacementGroupStateDeleting is a PlacementGroupState enum value
  48959. PlacementGroupStateDeleting = "deleting"
  48960. // PlacementGroupStateDeleted is a PlacementGroupState enum value
  48961. PlacementGroupStateDeleted = "deleted"
  48962. )
  48963. const (
  48964. // PlacementStrategyCluster is a PlacementStrategy enum value
  48965. PlacementStrategyCluster = "cluster"
  48966. )
  48967. const (
  48968. // PlatformValuesWindows is a PlatformValues enum value
  48969. PlatformValuesWindows = "Windows"
  48970. )
  48971. const (
  48972. // ProductCodeValuesDevpay is a ProductCodeValues enum value
  48973. ProductCodeValuesDevpay = "devpay"
  48974. // ProductCodeValuesMarketplace is a ProductCodeValues enum value
  48975. ProductCodeValuesMarketplace = "marketplace"
  48976. )
  48977. const (
  48978. // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
  48979. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  48980. // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
  48981. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  48982. // RIProductDescriptionWindows is a RIProductDescription enum value
  48983. RIProductDescriptionWindows = "Windows"
  48984. // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
  48985. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  48986. )
  48987. const (
  48988. // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
  48989. RecurringChargeFrequencyHourly = "Hourly"
  48990. )
  48991. const (
  48992. // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
  48993. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  48994. // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
  48995. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  48996. // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
  48997. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  48998. // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
  48999. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  49000. // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
  49001. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  49002. // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
  49003. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  49004. // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
  49005. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  49006. // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
  49007. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  49008. // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
  49009. ReportInstanceReasonCodesOther = "other"
  49010. )
  49011. const (
  49012. // ReportStatusTypeOk is a ReportStatusType enum value
  49013. ReportStatusTypeOk = "ok"
  49014. // ReportStatusTypeImpaired is a ReportStatusType enum value
  49015. ReportStatusTypeImpaired = "impaired"
  49016. )
  49017. const (
  49018. // ReservationStatePaymentPending is a ReservationState enum value
  49019. ReservationStatePaymentPending = "payment-pending"
  49020. // ReservationStatePaymentFailed is a ReservationState enum value
  49021. ReservationStatePaymentFailed = "payment-failed"
  49022. // ReservationStateActive is a ReservationState enum value
  49023. ReservationStateActive = "active"
  49024. // ReservationStateRetired is a ReservationState enum value
  49025. ReservationStateRetired = "retired"
  49026. )
  49027. const (
  49028. // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
  49029. ReservedInstanceStatePaymentPending = "payment-pending"
  49030. // ReservedInstanceStateActive is a ReservedInstanceState enum value
  49031. ReservedInstanceStateActive = "active"
  49032. // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
  49033. ReservedInstanceStatePaymentFailed = "payment-failed"
  49034. // ReservedInstanceStateRetired is a ReservedInstanceState enum value
  49035. ReservedInstanceStateRetired = "retired"
  49036. )
  49037. const (
  49038. // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
  49039. ResetImageAttributeNameLaunchPermission = "launchPermission"
  49040. )
  49041. const (
  49042. // ResourceTypeCustomerGateway is a ResourceType enum value
  49043. ResourceTypeCustomerGateway = "customer-gateway"
  49044. // ResourceTypeDhcpOptions is a ResourceType enum value
  49045. ResourceTypeDhcpOptions = "dhcp-options"
  49046. // ResourceTypeImage is a ResourceType enum value
  49047. ResourceTypeImage = "image"
  49048. // ResourceTypeInstance is a ResourceType enum value
  49049. ResourceTypeInstance = "instance"
  49050. // ResourceTypeInternetGateway is a ResourceType enum value
  49051. ResourceTypeInternetGateway = "internet-gateway"
  49052. // ResourceTypeNetworkAcl is a ResourceType enum value
  49053. ResourceTypeNetworkAcl = "network-acl"
  49054. // ResourceTypeNetworkInterface is a ResourceType enum value
  49055. ResourceTypeNetworkInterface = "network-interface"
  49056. // ResourceTypeReservedInstances is a ResourceType enum value
  49057. ResourceTypeReservedInstances = "reserved-instances"
  49058. // ResourceTypeRouteTable is a ResourceType enum value
  49059. ResourceTypeRouteTable = "route-table"
  49060. // ResourceTypeSnapshot is a ResourceType enum value
  49061. ResourceTypeSnapshot = "snapshot"
  49062. // ResourceTypeSpotInstancesRequest is a ResourceType enum value
  49063. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  49064. // ResourceTypeSubnet is a ResourceType enum value
  49065. ResourceTypeSubnet = "subnet"
  49066. // ResourceTypeSecurityGroup is a ResourceType enum value
  49067. ResourceTypeSecurityGroup = "security-group"
  49068. // ResourceTypeVolume is a ResourceType enum value
  49069. ResourceTypeVolume = "volume"
  49070. // ResourceTypeVpc is a ResourceType enum value
  49071. ResourceTypeVpc = "vpc"
  49072. // ResourceTypeVpnConnection is a ResourceType enum value
  49073. ResourceTypeVpnConnection = "vpn-connection"
  49074. // ResourceTypeVpnGateway is a ResourceType enum value
  49075. ResourceTypeVpnGateway = "vpn-gateway"
  49076. )
  49077. const (
  49078. // RouteOriginCreateRouteTable is a RouteOrigin enum value
  49079. RouteOriginCreateRouteTable = "CreateRouteTable"
  49080. // RouteOriginCreateRoute is a RouteOrigin enum value
  49081. RouteOriginCreateRoute = "CreateRoute"
  49082. // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
  49083. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  49084. )
  49085. const (
  49086. // RouteStateActive is a RouteState enum value
  49087. RouteStateActive = "active"
  49088. // RouteStateBlackhole is a RouteState enum value
  49089. RouteStateBlackhole = "blackhole"
  49090. )
  49091. const (
  49092. // RuleActionAllow is a RuleAction enum value
  49093. RuleActionAllow = "allow"
  49094. // RuleActionDeny is a RuleAction enum value
  49095. RuleActionDeny = "deny"
  49096. )
  49097. const (
  49098. // ShutdownBehaviorStop is a ShutdownBehavior enum value
  49099. ShutdownBehaviorStop = "stop"
  49100. // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
  49101. ShutdownBehaviorTerminate = "terminate"
  49102. )
  49103. const (
  49104. // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
  49105. SnapshotAttributeNameProductCodes = "productCodes"
  49106. // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
  49107. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  49108. )
  49109. const (
  49110. // SnapshotStatePending is a SnapshotState enum value
  49111. SnapshotStatePending = "pending"
  49112. // SnapshotStateCompleted is a SnapshotState enum value
  49113. SnapshotStateCompleted = "completed"
  49114. // SnapshotStateError is a SnapshotState enum value
  49115. SnapshotStateError = "error"
  49116. )
  49117. const (
  49118. // SpotInstanceStateOpen is a SpotInstanceState enum value
  49119. SpotInstanceStateOpen = "open"
  49120. // SpotInstanceStateActive is a SpotInstanceState enum value
  49121. SpotInstanceStateActive = "active"
  49122. // SpotInstanceStateClosed is a SpotInstanceState enum value
  49123. SpotInstanceStateClosed = "closed"
  49124. // SpotInstanceStateCancelled is a SpotInstanceState enum value
  49125. SpotInstanceStateCancelled = "cancelled"
  49126. // SpotInstanceStateFailed is a SpotInstanceState enum value
  49127. SpotInstanceStateFailed = "failed"
  49128. )
  49129. const (
  49130. // SpotInstanceTypeOneTime is a SpotInstanceType enum value
  49131. SpotInstanceTypeOneTime = "one-time"
  49132. // SpotInstanceTypePersistent is a SpotInstanceType enum value
  49133. SpotInstanceTypePersistent = "persistent"
  49134. )
  49135. const (
  49136. // StatePending is a State enum value
  49137. StatePending = "Pending"
  49138. // StateAvailable is a State enum value
  49139. StateAvailable = "Available"
  49140. // StateDeleting is a State enum value
  49141. StateDeleting = "Deleting"
  49142. // StateDeleted is a State enum value
  49143. StateDeleted = "Deleted"
  49144. )
  49145. const (
  49146. // StatusMoveInProgress is a Status enum value
  49147. StatusMoveInProgress = "MoveInProgress"
  49148. // StatusInVpc is a Status enum value
  49149. StatusInVpc = "InVpc"
  49150. // StatusInClassic is a Status enum value
  49151. StatusInClassic = "InClassic"
  49152. )
  49153. const (
  49154. // StatusNameReachability is a StatusName enum value
  49155. StatusNameReachability = "reachability"
  49156. )
  49157. const (
  49158. // StatusTypePassed is a StatusType enum value
  49159. StatusTypePassed = "passed"
  49160. // StatusTypeFailed is a StatusType enum value
  49161. StatusTypeFailed = "failed"
  49162. // StatusTypeInsufficientData is a StatusType enum value
  49163. StatusTypeInsufficientData = "insufficient-data"
  49164. // StatusTypeInitializing is a StatusType enum value
  49165. StatusTypeInitializing = "initializing"
  49166. )
  49167. const (
  49168. // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
  49169. SubnetCidrBlockStateCodeAssociating = "associating"
  49170. // SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
  49171. SubnetCidrBlockStateCodeAssociated = "associated"
  49172. // SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
  49173. SubnetCidrBlockStateCodeDisassociating = "disassociating"
  49174. // SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
  49175. SubnetCidrBlockStateCodeDisassociated = "disassociated"
  49176. // SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
  49177. SubnetCidrBlockStateCodeFailing = "failing"
  49178. // SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
  49179. SubnetCidrBlockStateCodeFailed = "failed"
  49180. )
  49181. const (
  49182. // SubnetStatePending is a SubnetState enum value
  49183. SubnetStatePending = "pending"
  49184. // SubnetStateAvailable is a SubnetState enum value
  49185. SubnetStateAvailable = "available"
  49186. )
  49187. const (
  49188. // SummaryStatusOk is a SummaryStatus enum value
  49189. SummaryStatusOk = "ok"
  49190. // SummaryStatusImpaired is a SummaryStatus enum value
  49191. SummaryStatusImpaired = "impaired"
  49192. // SummaryStatusInsufficientData is a SummaryStatus enum value
  49193. SummaryStatusInsufficientData = "insufficient-data"
  49194. // SummaryStatusNotApplicable is a SummaryStatus enum value
  49195. SummaryStatusNotApplicable = "not-applicable"
  49196. // SummaryStatusInitializing is a SummaryStatus enum value
  49197. SummaryStatusInitializing = "initializing"
  49198. )
  49199. const (
  49200. // TelemetryStatusUp is a TelemetryStatus enum value
  49201. TelemetryStatusUp = "UP"
  49202. // TelemetryStatusDown is a TelemetryStatus enum value
  49203. TelemetryStatusDown = "DOWN"
  49204. )
  49205. const (
  49206. // TenancyDefault is a Tenancy enum value
  49207. TenancyDefault = "default"
  49208. // TenancyDedicated is a Tenancy enum value
  49209. TenancyDedicated = "dedicated"
  49210. // TenancyHost is a Tenancy enum value
  49211. TenancyHost = "host"
  49212. )
  49213. const (
  49214. // TrafficTypeAccept is a TrafficType enum value
  49215. TrafficTypeAccept = "ACCEPT"
  49216. // TrafficTypeReject is a TrafficType enum value
  49217. TrafficTypeReject = "REJECT"
  49218. // TrafficTypeAll is a TrafficType enum value
  49219. TrafficTypeAll = "ALL"
  49220. )
  49221. const (
  49222. // VirtualizationTypeHvm is a VirtualizationType enum value
  49223. VirtualizationTypeHvm = "hvm"
  49224. // VirtualizationTypeParavirtual is a VirtualizationType enum value
  49225. VirtualizationTypeParavirtual = "paravirtual"
  49226. )
  49227. const (
  49228. // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
  49229. VolumeAttachmentStateAttaching = "attaching"
  49230. // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
  49231. VolumeAttachmentStateAttached = "attached"
  49232. // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
  49233. VolumeAttachmentStateDetaching = "detaching"
  49234. // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
  49235. VolumeAttachmentStateDetached = "detached"
  49236. )
  49237. const (
  49238. // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
  49239. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  49240. // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
  49241. VolumeAttributeNameProductCodes = "productCodes"
  49242. )
  49243. const (
  49244. // VolumeModificationStateModifying is a VolumeModificationState enum value
  49245. VolumeModificationStateModifying = "modifying"
  49246. // VolumeModificationStateOptimizing is a VolumeModificationState enum value
  49247. VolumeModificationStateOptimizing = "optimizing"
  49248. // VolumeModificationStateCompleted is a VolumeModificationState enum value
  49249. VolumeModificationStateCompleted = "completed"
  49250. // VolumeModificationStateFailed is a VolumeModificationState enum value
  49251. VolumeModificationStateFailed = "failed"
  49252. )
  49253. const (
  49254. // VolumeStateCreating is a VolumeState enum value
  49255. VolumeStateCreating = "creating"
  49256. // VolumeStateAvailable is a VolumeState enum value
  49257. VolumeStateAvailable = "available"
  49258. // VolumeStateInUse is a VolumeState enum value
  49259. VolumeStateInUse = "in-use"
  49260. // VolumeStateDeleting is a VolumeState enum value
  49261. VolumeStateDeleting = "deleting"
  49262. // VolumeStateDeleted is a VolumeState enum value
  49263. VolumeStateDeleted = "deleted"
  49264. // VolumeStateError is a VolumeState enum value
  49265. VolumeStateError = "error"
  49266. )
  49267. const (
  49268. // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
  49269. VolumeStatusInfoStatusOk = "ok"
  49270. // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
  49271. VolumeStatusInfoStatusImpaired = "impaired"
  49272. // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
  49273. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  49274. )
  49275. const (
  49276. // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
  49277. VolumeStatusNameIoEnabled = "io-enabled"
  49278. // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
  49279. VolumeStatusNameIoPerformance = "io-performance"
  49280. )
  49281. const (
  49282. // VolumeTypeStandard is a VolumeType enum value
  49283. VolumeTypeStandard = "standard"
  49284. // VolumeTypeIo1 is a VolumeType enum value
  49285. VolumeTypeIo1 = "io1"
  49286. // VolumeTypeGp2 is a VolumeType enum value
  49287. VolumeTypeGp2 = "gp2"
  49288. // VolumeTypeSc1 is a VolumeType enum value
  49289. VolumeTypeSc1 = "sc1"
  49290. // VolumeTypeSt1 is a VolumeType enum value
  49291. VolumeTypeSt1 = "st1"
  49292. )
  49293. const (
  49294. // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
  49295. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  49296. // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
  49297. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  49298. )
  49299. const (
  49300. // VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
  49301. VpcCidrBlockStateCodeAssociating = "associating"
  49302. // VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
  49303. VpcCidrBlockStateCodeAssociated = "associated"
  49304. // VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
  49305. VpcCidrBlockStateCodeDisassociating = "disassociating"
  49306. // VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
  49307. VpcCidrBlockStateCodeDisassociated = "disassociated"
  49308. // VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
  49309. VpcCidrBlockStateCodeFailing = "failing"
  49310. // VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
  49311. VpcCidrBlockStateCodeFailed = "failed"
  49312. )
  49313. const (
  49314. // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
  49315. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  49316. // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
  49317. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  49318. // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
  49319. VpcPeeringConnectionStateReasonCodeActive = "active"
  49320. // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
  49321. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  49322. // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
  49323. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  49324. // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
  49325. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  49326. // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
  49327. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  49328. // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
  49329. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  49330. // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
  49331. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  49332. )
  49333. const (
  49334. // VpcStatePending is a VpcState enum value
  49335. VpcStatePending = "pending"
  49336. // VpcStateAvailable is a VpcState enum value
  49337. VpcStateAvailable = "available"
  49338. )
  49339. const (
  49340. // VpnStatePending is a VpnState enum value
  49341. VpnStatePending = "pending"
  49342. // VpnStateAvailable is a VpnState enum value
  49343. VpnStateAvailable = "available"
  49344. // VpnStateDeleting is a VpnState enum value
  49345. VpnStateDeleting = "deleting"
  49346. // VpnStateDeleted is a VpnState enum value
  49347. VpnStateDeleted = "deleted"
  49348. )
  49349. const (
  49350. // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
  49351. VpnStaticRouteSourceStatic = "Static"
  49352. )
  49353. const (
  49354. // ScopeAvailabilityZone is a scope enum value
  49355. ScopeAvailabilityZone = "Availability Zone"
  49356. // ScopeRegion is a scope enum value
  49357. ScopeRegion = "Region"
  49358. )