api.go 1.6 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package ec2 provides a client for Amazon Elastic Compute Cloud.
  3. package ec2
  4. import (
  5. "fmt"
  6. "time"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. "github.com/aws/aws-sdk-go/private/protocol"
  10. "github.com/aws/aws-sdk-go/private/protocol/ec2query"
  11. )
  12. const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQuote"
  13. // AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  14. // client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return
  15. // value can be used to capture response data after the request's "Send" method
  16. // is called.
  17. //
  18. // See AcceptReservedInstancesExchangeQuote for usage and error information.
  19. //
  20. // Creating a request object using this method should be used when you want to inject
  21. // custom logic into the request's lifecycle using a custom handler, or if you want to
  22. // access properties on the request object before or after sending the request. If
  23. // you just want the service response, call the AcceptReservedInstancesExchangeQuote method directly
  24. // instead.
  25. //
  26. // Note: You must call the "Send" method on the returned request object in order
  27. // to execute the request.
  28. //
  29. // // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method.
  30. // req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params)
  31. //
  32. // err := req.Send()
  33. // if err == nil { // resp is now filled
  34. // fmt.Println(resp)
  35. // }
  36. //
  37. func (c *EC2) AcceptReservedInstancesExchangeQuoteRequest(input *AcceptReservedInstancesExchangeQuoteInput) (req *request.Request, output *AcceptReservedInstancesExchangeQuoteOutput) {
  38. op := &request.Operation{
  39. Name: opAcceptReservedInstancesExchangeQuote,
  40. HTTPMethod: "POST",
  41. HTTPPath: "/",
  42. }
  43. if input == nil {
  44. input = &AcceptReservedInstancesExchangeQuoteInput{}
  45. }
  46. req = c.newRequest(op, input, output)
  47. output = &AcceptReservedInstancesExchangeQuoteOutput{}
  48. req.Data = output
  49. return
  50. }
  51. // AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  52. //
  53. // Purchases Convertible Reserved Instance offerings described in the GetReservedInstancesExchangeQuote
  54. // call.
  55. //
  56. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  57. // with awserr.Error's Code and Message methods to get detailed information about
  58. // the error.
  59. //
  60. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  61. // API operation AcceptReservedInstancesExchangeQuote for usage and error information.
  62. func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  63. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  64. err := req.Send()
  65. return out, err
  66. }
  67. const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
  68. // AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  69. // client's request for the AcceptVpcPeeringConnection operation. The "output" return
  70. // value can be used to capture response data after the request's "Send" method
  71. // is called.
  72. //
  73. // See AcceptVpcPeeringConnection for usage and error information.
  74. //
  75. // Creating a request object using this method should be used when you want to inject
  76. // custom logic into the request's lifecycle using a custom handler, or if you want to
  77. // access properties on the request object before or after sending the request. If
  78. // you just want the service response, call the AcceptVpcPeeringConnection method directly
  79. // instead.
  80. //
  81. // Note: You must call the "Send" method on the returned request object in order
  82. // to execute the request.
  83. //
  84. // // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
  85. // req, resp := client.AcceptVpcPeeringConnectionRequest(params)
  86. //
  87. // err := req.Send()
  88. // if err == nil { // resp is now filled
  89. // fmt.Println(resp)
  90. // }
  91. //
  92. func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
  93. op := &request.Operation{
  94. Name: opAcceptVpcPeeringConnection,
  95. HTTPMethod: "POST",
  96. HTTPPath: "/",
  97. }
  98. if input == nil {
  99. input = &AcceptVpcPeeringConnectionInput{}
  100. }
  101. req = c.newRequest(op, input, output)
  102. output = &AcceptVpcPeeringConnectionOutput{}
  103. req.Data = output
  104. return
  105. }
  106. // AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  107. //
  108. // Accept a VPC peering connection request. To accept a request, the VPC peering
  109. // connection must be in the pending-acceptance state, and you must be the owner
  110. // of the peer VPC. Use the DescribeVpcPeeringConnections request to view your
  111. // outstanding VPC peering connection requests.
  112. //
  113. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  114. // with awserr.Error's Code and Message methods to get detailed information about
  115. // the error.
  116. //
  117. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  118. // API operation AcceptVpcPeeringConnection for usage and error information.
  119. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
  120. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  121. err := req.Send()
  122. return out, err
  123. }
  124. const opAllocateAddress = "AllocateAddress"
  125. // AllocateAddressRequest generates a "aws/request.Request" representing the
  126. // client's request for the AllocateAddress operation. The "output" return
  127. // value can be used to capture response data after the request's "Send" method
  128. // is called.
  129. //
  130. // See AllocateAddress for usage and error information.
  131. //
  132. // Creating a request object using this method should be used when you want to inject
  133. // custom logic into the request's lifecycle using a custom handler, or if you want to
  134. // access properties on the request object before or after sending the request. If
  135. // you just want the service response, call the AllocateAddress method directly
  136. // instead.
  137. //
  138. // Note: You must call the "Send" method on the returned request object in order
  139. // to execute the request.
  140. //
  141. // // Example sending a request using the AllocateAddressRequest method.
  142. // req, resp := client.AllocateAddressRequest(params)
  143. //
  144. // err := req.Send()
  145. // if err == nil { // resp is now filled
  146. // fmt.Println(resp)
  147. // }
  148. //
  149. func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
  150. op := &request.Operation{
  151. Name: opAllocateAddress,
  152. HTTPMethod: "POST",
  153. HTTPPath: "/",
  154. }
  155. if input == nil {
  156. input = &AllocateAddressInput{}
  157. }
  158. req = c.newRequest(op, input, output)
  159. output = &AllocateAddressOutput{}
  160. req.Data = output
  161. return
  162. }
  163. // AllocateAddress API operation for Amazon Elastic Compute Cloud.
  164. //
  165. // Acquires an Elastic IP address.
  166. //
  167. // An Elastic IP address is for use either in the EC2-Classic platform or in
  168. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  169. // in the Amazon Elastic Compute Cloud User Guide.
  170. //
  171. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  172. // with awserr.Error's Code and Message methods to get detailed information about
  173. // the error.
  174. //
  175. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  176. // API operation AllocateAddress for usage and error information.
  177. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
  178. req, out := c.AllocateAddressRequest(input)
  179. err := req.Send()
  180. return out, err
  181. }
  182. const opAllocateHosts = "AllocateHosts"
  183. // AllocateHostsRequest generates a "aws/request.Request" representing the
  184. // client's request for the AllocateHosts operation. The "output" return
  185. // value can be used to capture response data after the request's "Send" method
  186. // is called.
  187. //
  188. // See AllocateHosts for usage and error information.
  189. //
  190. // Creating a request object using this method should be used when you want to inject
  191. // custom logic into the request's lifecycle using a custom handler, or if you want to
  192. // access properties on the request object before or after sending the request. If
  193. // you just want the service response, call the AllocateHosts method directly
  194. // instead.
  195. //
  196. // Note: You must call the "Send" method on the returned request object in order
  197. // to execute the request.
  198. //
  199. // // Example sending a request using the AllocateHostsRequest method.
  200. // req, resp := client.AllocateHostsRequest(params)
  201. //
  202. // err := req.Send()
  203. // if err == nil { // resp is now filled
  204. // fmt.Println(resp)
  205. // }
  206. //
  207. func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
  208. op := &request.Operation{
  209. Name: opAllocateHosts,
  210. HTTPMethod: "POST",
  211. HTTPPath: "/",
  212. }
  213. if input == nil {
  214. input = &AllocateHostsInput{}
  215. }
  216. req = c.newRequest(op, input, output)
  217. output = &AllocateHostsOutput{}
  218. req.Data = output
  219. return
  220. }
  221. // AllocateHosts API operation for Amazon Elastic Compute Cloud.
  222. //
  223. // Allocates a Dedicated Host to your account. At minimum you need to specify
  224. // the instance size type, Availability Zone, and quantity of hosts you want
  225. // to allocate.
  226. //
  227. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  228. // with awserr.Error's Code and Message methods to get detailed information about
  229. // the error.
  230. //
  231. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  232. // API operation AllocateHosts for usage and error information.
  233. func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
  234. req, out := c.AllocateHostsRequest(input)
  235. err := req.Send()
  236. return out, err
  237. }
  238. const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
  239. // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  240. // client's request for the AssignPrivateIpAddresses operation. The "output" return
  241. // value can be used to capture response data after the request's "Send" method
  242. // is called.
  243. //
  244. // See AssignPrivateIpAddresses for usage and error information.
  245. //
  246. // Creating a request object using this method should be used when you want to inject
  247. // custom logic into the request's lifecycle using a custom handler, or if you want to
  248. // access properties on the request object before or after sending the request. If
  249. // you just want the service response, call the AssignPrivateIpAddresses method directly
  250. // instead.
  251. //
  252. // Note: You must call the "Send" method on the returned request object in order
  253. // to execute the request.
  254. //
  255. // // Example sending a request using the AssignPrivateIpAddressesRequest method.
  256. // req, resp := client.AssignPrivateIpAddressesRequest(params)
  257. //
  258. // err := req.Send()
  259. // if err == nil { // resp is now filled
  260. // fmt.Println(resp)
  261. // }
  262. //
  263. func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
  264. op := &request.Operation{
  265. Name: opAssignPrivateIpAddresses,
  266. HTTPMethod: "POST",
  267. HTTPPath: "/",
  268. }
  269. if input == nil {
  270. input = &AssignPrivateIpAddressesInput{}
  271. }
  272. req = c.newRequest(op, input, output)
  273. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  274. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  275. output = &AssignPrivateIpAddressesOutput{}
  276. req.Data = output
  277. return
  278. }
  279. // AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  280. //
  281. // Assigns one or more secondary private IP addresses to the specified network
  282. // interface. You can specify one or more specific secondary IP addresses, or
  283. // you can specify the number of secondary IP addresses to be automatically
  284. // assigned within the subnet's CIDR block range. The number of secondary IP
  285. // addresses that you can assign to an instance varies by instance type. For
  286. // information about instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  287. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  288. // Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  289. // in the Amazon Elastic Compute Cloud User Guide.
  290. //
  291. // AssignPrivateIpAddresses is available only in EC2-VPC.
  292. //
  293. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  294. // with awserr.Error's Code and Message methods to get detailed information about
  295. // the error.
  296. //
  297. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  298. // API operation AssignPrivateIpAddresses for usage and error information.
  299. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
  300. req, out := c.AssignPrivateIpAddressesRequest(input)
  301. err := req.Send()
  302. return out, err
  303. }
  304. const opAssociateAddress = "AssociateAddress"
  305. // AssociateAddressRequest generates a "aws/request.Request" representing the
  306. // client's request for the AssociateAddress operation. The "output" return
  307. // value can be used to capture response data after the request's "Send" method
  308. // is called.
  309. //
  310. // See AssociateAddress for usage and error information.
  311. //
  312. // Creating a request object using this method should be used when you want to inject
  313. // custom logic into the request's lifecycle using a custom handler, or if you want to
  314. // access properties on the request object before or after sending the request. If
  315. // you just want the service response, call the AssociateAddress method directly
  316. // instead.
  317. //
  318. // Note: You must call the "Send" method on the returned request object in order
  319. // to execute the request.
  320. //
  321. // // Example sending a request using the AssociateAddressRequest method.
  322. // req, resp := client.AssociateAddressRequest(params)
  323. //
  324. // err := req.Send()
  325. // if err == nil { // resp is now filled
  326. // fmt.Println(resp)
  327. // }
  328. //
  329. func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
  330. op := &request.Operation{
  331. Name: opAssociateAddress,
  332. HTTPMethod: "POST",
  333. HTTPPath: "/",
  334. }
  335. if input == nil {
  336. input = &AssociateAddressInput{}
  337. }
  338. req = c.newRequest(op, input, output)
  339. output = &AssociateAddressOutput{}
  340. req.Data = output
  341. return
  342. }
  343. // AssociateAddress API operation for Amazon Elastic Compute Cloud.
  344. //
  345. // Associates an Elastic IP address with an instance or a network interface.
  346. //
  347. // An Elastic IP address is for use in either the EC2-Classic platform or in
  348. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  349. // in the Amazon Elastic Compute Cloud User Guide.
  350. //
  351. // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
  352. // already associated with a different instance, it is disassociated from that
  353. // instance and associated with the specified instance.
  354. //
  355. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  356. // the Elastic IP address is associated with the primary IP address. If the
  357. // Elastic IP address is already associated with a different instance or a network
  358. // interface, you get an error unless you allow reassociation.
  359. //
  360. // This is an idempotent operation. If you perform the operation more than once,
  361. // Amazon EC2 doesn't return an error, and you may be charged for each time
  362. // the Elastic IP address is remapped to the same instance. For more information,
  363. // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
  364. //
  365. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  366. // with awserr.Error's Code and Message methods to get detailed information about
  367. // the error.
  368. //
  369. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  370. // API operation AssociateAddress for usage and error information.
  371. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  372. req, out := c.AssociateAddressRequest(input)
  373. err := req.Send()
  374. return out, err
  375. }
  376. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  377. // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
  378. // client's request for the AssociateDhcpOptions operation. The "output" return
  379. // value can be used to capture response data after the request's "Send" method
  380. // is called.
  381. //
  382. // See AssociateDhcpOptions for usage and error information.
  383. //
  384. // Creating a request object using this method should be used when you want to inject
  385. // custom logic into the request's lifecycle using a custom handler, or if you want to
  386. // access properties on the request object before or after sending the request. If
  387. // you just want the service response, call the AssociateDhcpOptions method directly
  388. // instead.
  389. //
  390. // Note: You must call the "Send" method on the returned request object in order
  391. // to execute the request.
  392. //
  393. // // Example sending a request using the AssociateDhcpOptionsRequest method.
  394. // req, resp := client.AssociateDhcpOptionsRequest(params)
  395. //
  396. // err := req.Send()
  397. // if err == nil { // resp is now filled
  398. // fmt.Println(resp)
  399. // }
  400. //
  401. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  402. op := &request.Operation{
  403. Name: opAssociateDhcpOptions,
  404. HTTPMethod: "POST",
  405. HTTPPath: "/",
  406. }
  407. if input == nil {
  408. input = &AssociateDhcpOptionsInput{}
  409. }
  410. req = c.newRequest(op, input, output)
  411. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  412. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  413. output = &AssociateDhcpOptionsOutput{}
  414. req.Data = output
  415. return
  416. }
  417. // AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  418. //
  419. // Associates a set of DHCP options (that you've previously created) with the
  420. // specified VPC, or associates no DHCP options with the VPC.
  421. //
  422. // After you associate the options with the VPC, any existing instances and
  423. // all new instances that you launch in that VPC use the options. You don't
  424. // need to restart or relaunch the instances. They automatically pick up the
  425. // changes within a few hours, depending on how frequently the instance renews
  426. // its DHCP lease. You can explicitly renew the lease using the operating system
  427. // on the instance.
  428. //
  429. // For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  430. // in the Amazon Virtual Private Cloud User Guide.
  431. //
  432. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  433. // with awserr.Error's Code and Message methods to get detailed information about
  434. // the error.
  435. //
  436. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  437. // API operation AssociateDhcpOptions for usage and error information.
  438. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  439. req, out := c.AssociateDhcpOptionsRequest(input)
  440. err := req.Send()
  441. return out, err
  442. }
  443. const opAssociateRouteTable = "AssociateRouteTable"
  444. // AssociateRouteTableRequest generates a "aws/request.Request" representing the
  445. // client's request for the AssociateRouteTable operation. The "output" return
  446. // value can be used to capture response data after the request's "Send" method
  447. // is called.
  448. //
  449. // See AssociateRouteTable for usage and error information.
  450. //
  451. // Creating a request object using this method should be used when you want to inject
  452. // custom logic into the request's lifecycle using a custom handler, or if you want to
  453. // access properties on the request object before or after sending the request. If
  454. // you just want the service response, call the AssociateRouteTable method directly
  455. // instead.
  456. //
  457. // Note: You must call the "Send" method on the returned request object in order
  458. // to execute the request.
  459. //
  460. // // Example sending a request using the AssociateRouteTableRequest method.
  461. // req, resp := client.AssociateRouteTableRequest(params)
  462. //
  463. // err := req.Send()
  464. // if err == nil { // resp is now filled
  465. // fmt.Println(resp)
  466. // }
  467. //
  468. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  469. op := &request.Operation{
  470. Name: opAssociateRouteTable,
  471. HTTPMethod: "POST",
  472. HTTPPath: "/",
  473. }
  474. if input == nil {
  475. input = &AssociateRouteTableInput{}
  476. }
  477. req = c.newRequest(op, input, output)
  478. output = &AssociateRouteTableOutput{}
  479. req.Data = output
  480. return
  481. }
  482. // AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
  483. //
  484. // Associates a subnet with a route table. The subnet and route table must be
  485. // in the same VPC. This association causes traffic originating from the subnet
  486. // to be routed according to the routes in the route table. The action returns
  487. // an association ID, which you need in order to disassociate the route table
  488. // from the subnet later. A route table can be associated with multiple subnets.
  489. //
  490. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  491. // in the Amazon Virtual Private Cloud User Guide.
  492. //
  493. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  494. // with awserr.Error's Code and Message methods to get detailed information about
  495. // the error.
  496. //
  497. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  498. // API operation AssociateRouteTable for usage and error information.
  499. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  500. req, out := c.AssociateRouteTableRequest(input)
  501. err := req.Send()
  502. return out, err
  503. }
  504. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  505. // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  506. // client's request for the AttachClassicLinkVpc operation. The "output" return
  507. // value can be used to capture response data after the request's "Send" method
  508. // is called.
  509. //
  510. // See AttachClassicLinkVpc for usage and error information.
  511. //
  512. // Creating a request object using this method should be used when you want to inject
  513. // custom logic into the request's lifecycle using a custom handler, or if you want to
  514. // access properties on the request object before or after sending the request. If
  515. // you just want the service response, call the AttachClassicLinkVpc method directly
  516. // instead.
  517. //
  518. // Note: You must call the "Send" method on the returned request object in order
  519. // to execute the request.
  520. //
  521. // // Example sending a request using the AttachClassicLinkVpcRequest method.
  522. // req, resp := client.AttachClassicLinkVpcRequest(params)
  523. //
  524. // err := req.Send()
  525. // if err == nil { // resp is now filled
  526. // fmt.Println(resp)
  527. // }
  528. //
  529. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  530. op := &request.Operation{
  531. Name: opAttachClassicLinkVpc,
  532. HTTPMethod: "POST",
  533. HTTPPath: "/",
  534. }
  535. if input == nil {
  536. input = &AttachClassicLinkVpcInput{}
  537. }
  538. req = c.newRequest(op, input, output)
  539. output = &AttachClassicLinkVpcOutput{}
  540. req.Data = output
  541. return
  542. }
  543. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  544. //
  545. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  546. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  547. // to more than one VPC at a time. You can only link an instance that's in the
  548. // running state. An instance is automatically unlinked from a VPC when it's
  549. // stopped - you can link it to the VPC again when you restart it.
  550. //
  551. // After you've linked an instance, you cannot change the VPC security groups
  552. // that are associated with it. To change the security groups, you must first
  553. // unlink the instance, and then link it again.
  554. //
  555. // Linking your instance to a VPC is sometimes referred to as attaching your
  556. // instance.
  557. //
  558. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  559. // with awserr.Error's Code and Message methods to get detailed information about
  560. // the error.
  561. //
  562. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  563. // API operation AttachClassicLinkVpc for usage and error information.
  564. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  565. req, out := c.AttachClassicLinkVpcRequest(input)
  566. err := req.Send()
  567. return out, err
  568. }
  569. const opAttachInternetGateway = "AttachInternetGateway"
  570. // AttachInternetGatewayRequest generates a "aws/request.Request" representing the
  571. // client's request for the AttachInternetGateway operation. The "output" return
  572. // value can be used to capture response data after the request's "Send" method
  573. // is called.
  574. //
  575. // See AttachInternetGateway for usage and error information.
  576. //
  577. // Creating a request object using this method should be used when you want to inject
  578. // custom logic into the request's lifecycle using a custom handler, or if you want to
  579. // access properties on the request object before or after sending the request. If
  580. // you just want the service response, call the AttachInternetGateway method directly
  581. // instead.
  582. //
  583. // Note: You must call the "Send" method on the returned request object in order
  584. // to execute the request.
  585. //
  586. // // Example sending a request using the AttachInternetGatewayRequest method.
  587. // req, resp := client.AttachInternetGatewayRequest(params)
  588. //
  589. // err := req.Send()
  590. // if err == nil { // resp is now filled
  591. // fmt.Println(resp)
  592. // }
  593. //
  594. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  595. op := &request.Operation{
  596. Name: opAttachInternetGateway,
  597. HTTPMethod: "POST",
  598. HTTPPath: "/",
  599. }
  600. if input == nil {
  601. input = &AttachInternetGatewayInput{}
  602. }
  603. req = c.newRequest(op, input, output)
  604. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  605. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  606. output = &AttachInternetGatewayOutput{}
  607. req.Data = output
  608. return
  609. }
  610. // AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
  611. //
  612. // Attaches an Internet gateway to a VPC, enabling connectivity between the
  613. // Internet and the VPC. For more information about your VPC and Internet gateway,
  614. // see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  615. //
  616. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  617. // with awserr.Error's Code and Message methods to get detailed information about
  618. // the error.
  619. //
  620. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  621. // API operation AttachInternetGateway for usage and error information.
  622. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  623. req, out := c.AttachInternetGatewayRequest(input)
  624. err := req.Send()
  625. return out, err
  626. }
  627. const opAttachNetworkInterface = "AttachNetworkInterface"
  628. // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  629. // client's request for the AttachNetworkInterface operation. The "output" return
  630. // value can be used to capture response data after the request's "Send" method
  631. // is called.
  632. //
  633. // See AttachNetworkInterface for usage and error information.
  634. //
  635. // Creating a request object using this method should be used when you want to inject
  636. // custom logic into the request's lifecycle using a custom handler, or if you want to
  637. // access properties on the request object before or after sending the request. If
  638. // you just want the service response, call the AttachNetworkInterface method directly
  639. // instead.
  640. //
  641. // Note: You must call the "Send" method on the returned request object in order
  642. // to execute the request.
  643. //
  644. // // Example sending a request using the AttachNetworkInterfaceRequest method.
  645. // req, resp := client.AttachNetworkInterfaceRequest(params)
  646. //
  647. // err := req.Send()
  648. // if err == nil { // resp is now filled
  649. // fmt.Println(resp)
  650. // }
  651. //
  652. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  653. op := &request.Operation{
  654. Name: opAttachNetworkInterface,
  655. HTTPMethod: "POST",
  656. HTTPPath: "/",
  657. }
  658. if input == nil {
  659. input = &AttachNetworkInterfaceInput{}
  660. }
  661. req = c.newRequest(op, input, output)
  662. output = &AttachNetworkInterfaceOutput{}
  663. req.Data = output
  664. return
  665. }
  666. // AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  667. //
  668. // Attaches a network interface to an instance.
  669. //
  670. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  671. // with awserr.Error's Code and Message methods to get detailed information about
  672. // the error.
  673. //
  674. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  675. // API operation AttachNetworkInterface for usage and error information.
  676. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  677. req, out := c.AttachNetworkInterfaceRequest(input)
  678. err := req.Send()
  679. return out, err
  680. }
  681. const opAttachVolume = "AttachVolume"
  682. // AttachVolumeRequest generates a "aws/request.Request" representing the
  683. // client's request for the AttachVolume operation. The "output" return
  684. // value can be used to capture response data after the request's "Send" method
  685. // is called.
  686. //
  687. // See AttachVolume for usage and error information.
  688. //
  689. // Creating a request object using this method should be used when you want to inject
  690. // custom logic into the request's lifecycle using a custom handler, or if you want to
  691. // access properties on the request object before or after sending the request. If
  692. // you just want the service response, call the AttachVolume method directly
  693. // instead.
  694. //
  695. // Note: You must call the "Send" method on the returned request object in order
  696. // to execute the request.
  697. //
  698. // // Example sending a request using the AttachVolumeRequest method.
  699. // req, resp := client.AttachVolumeRequest(params)
  700. //
  701. // err := req.Send()
  702. // if err == nil { // resp is now filled
  703. // fmt.Println(resp)
  704. // }
  705. //
  706. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  707. op := &request.Operation{
  708. Name: opAttachVolume,
  709. HTTPMethod: "POST",
  710. HTTPPath: "/",
  711. }
  712. if input == nil {
  713. input = &AttachVolumeInput{}
  714. }
  715. req = c.newRequest(op, input, output)
  716. output = &VolumeAttachment{}
  717. req.Data = output
  718. return
  719. }
  720. // AttachVolume API operation for Amazon Elastic Compute Cloud.
  721. //
  722. // Attaches an EBS volume to a running or stopped instance and exposes it to
  723. // the instance with the specified device name.
  724. //
  725. // Encrypted EBS volumes may only be attached to instances that support Amazon
  726. // EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  727. // in the Amazon Elastic Compute Cloud User Guide.
  728. //
  729. // For a list of supported device names, see Attaching an EBS Volume to an Instance
  730. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
  731. // Any device names that aren't reserved for instance store volumes can be used
  732. // for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
  733. // in the Amazon Elastic Compute Cloud User Guide.
  734. //
  735. // If a volume has an AWS Marketplace product code:
  736. //
  737. // * The volume can be attached only to a stopped instance.
  738. //
  739. // * AWS Marketplace product codes are copied from the volume to the instance.
  740. //
  741. // * You must be subscribed to the product.
  742. //
  743. // * The instance type and operating system of the instance must support
  744. // the product. For example, you can't detach a volume from a Windows instance
  745. // and attach it to a Linux instance.
  746. //
  747. // For an overview of the AWS Marketplace, see Introducing AWS Marketplace (https://aws.amazon.com/marketplace/help/200900000).
  748. //
  749. // For more information about EBS volumes, see Attaching Amazon EBS Volumes
  750. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  751. // in the Amazon Elastic Compute Cloud User Guide.
  752. //
  753. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  754. // with awserr.Error's Code and Message methods to get detailed information about
  755. // the error.
  756. //
  757. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  758. // API operation AttachVolume for usage and error information.
  759. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  760. req, out := c.AttachVolumeRequest(input)
  761. err := req.Send()
  762. return out, err
  763. }
  764. const opAttachVpnGateway = "AttachVpnGateway"
  765. // AttachVpnGatewayRequest generates a "aws/request.Request" representing the
  766. // client's request for the AttachVpnGateway operation. The "output" return
  767. // value can be used to capture response data after the request's "Send" method
  768. // is called.
  769. //
  770. // See AttachVpnGateway for usage and error information.
  771. //
  772. // Creating a request object using this method should be used when you want to inject
  773. // custom logic into the request's lifecycle using a custom handler, or if you want to
  774. // access properties on the request object before or after sending the request. If
  775. // you just want the service response, call the AttachVpnGateway method directly
  776. // instead.
  777. //
  778. // Note: You must call the "Send" method on the returned request object in order
  779. // to execute the request.
  780. //
  781. // // Example sending a request using the AttachVpnGatewayRequest method.
  782. // req, resp := client.AttachVpnGatewayRequest(params)
  783. //
  784. // err := req.Send()
  785. // if err == nil { // resp is now filled
  786. // fmt.Println(resp)
  787. // }
  788. //
  789. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  790. op := &request.Operation{
  791. Name: opAttachVpnGateway,
  792. HTTPMethod: "POST",
  793. HTTPPath: "/",
  794. }
  795. if input == nil {
  796. input = &AttachVpnGatewayInput{}
  797. }
  798. req = c.newRequest(op, input, output)
  799. output = &AttachVpnGatewayOutput{}
  800. req.Data = output
  801. return
  802. }
  803. // AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
  804. //
  805. // Attaches a virtual private gateway to a VPC. For more information, see Adding
  806. // a Hardware Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  807. // in the Amazon Virtual Private Cloud User Guide.
  808. //
  809. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  810. // with awserr.Error's Code and Message methods to get detailed information about
  811. // the error.
  812. //
  813. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  814. // API operation AttachVpnGateway for usage and error information.
  815. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  816. req, out := c.AttachVpnGatewayRequest(input)
  817. err := req.Send()
  818. return out, err
  819. }
  820. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  821. // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  822. // client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
  823. // value can be used to capture response data after the request's "Send" method
  824. // is called.
  825. //
  826. // See AuthorizeSecurityGroupEgress for usage and error information.
  827. //
  828. // Creating a request object using this method should be used when you want to inject
  829. // custom logic into the request's lifecycle using a custom handler, or if you want to
  830. // access properties on the request object before or after sending the request. If
  831. // you just want the service response, call the AuthorizeSecurityGroupEgress method directly
  832. // instead.
  833. //
  834. // Note: You must call the "Send" method on the returned request object in order
  835. // to execute the request.
  836. //
  837. // // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
  838. // req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
  839. //
  840. // err := req.Send()
  841. // if err == nil { // resp is now filled
  842. // fmt.Println(resp)
  843. // }
  844. //
  845. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  846. op := &request.Operation{
  847. Name: opAuthorizeSecurityGroupEgress,
  848. HTTPMethod: "POST",
  849. HTTPPath: "/",
  850. }
  851. if input == nil {
  852. input = &AuthorizeSecurityGroupEgressInput{}
  853. }
  854. req = c.newRequest(op, input, output)
  855. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  856. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  857. output = &AuthorizeSecurityGroupEgressOutput{}
  858. req.Data = output
  859. return
  860. }
  861. // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  862. //
  863. // [EC2-VPC only] Adds one or more egress rules to a security group for use
  864. // with a VPC. Specifically, this action permits instances to send traffic to
  865. // one or more destination CIDR IP address ranges, or to one or more destination
  866. // security groups for the same VPC. This action doesn't apply to security groups
  867. // for use in EC2-Classic. For more information, see Security Groups for Your
  868. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  869. // in the Amazon Virtual Private Cloud User Guide.
  870. //
  871. // You can have up to 50 rules per security group (covering both ingress and
  872. // egress rules).
  873. //
  874. // Each rule consists of the protocol (for example, TCP), plus either a CIDR
  875. // range or a source group. For the TCP and UDP protocols, you must also specify
  876. // the destination port or port range. For the ICMP protocol, you must also
  877. // specify the ICMP type and code. You can use -1 for the type or code to mean
  878. // all types or all codes.
  879. //
  880. // Rule changes are propagated to affected instances as quickly as possible.
  881. // However, a small delay might occur.
  882. //
  883. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  884. // with awserr.Error's Code and Message methods to get detailed information about
  885. // the error.
  886. //
  887. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  888. // API operation AuthorizeSecurityGroupEgress for usage and error information.
  889. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  890. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  891. err := req.Send()
  892. return out, err
  893. }
  894. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  895. // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  896. // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
  897. // value can be used to capture response data after the request's "Send" method
  898. // is called.
  899. //
  900. // See AuthorizeSecurityGroupIngress for usage and error information.
  901. //
  902. // Creating a request object using this method should be used when you want to inject
  903. // custom logic into the request's lifecycle using a custom handler, or if you want to
  904. // access properties on the request object before or after sending the request. If
  905. // you just want the service response, call the AuthorizeSecurityGroupIngress method directly
  906. // instead.
  907. //
  908. // Note: You must call the "Send" method on the returned request object in order
  909. // to execute the request.
  910. //
  911. // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
  912. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
  913. //
  914. // err := req.Send()
  915. // if err == nil { // resp is now filled
  916. // fmt.Println(resp)
  917. // }
  918. //
  919. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  920. op := &request.Operation{
  921. Name: opAuthorizeSecurityGroupIngress,
  922. HTTPMethod: "POST",
  923. HTTPPath: "/",
  924. }
  925. if input == nil {
  926. input = &AuthorizeSecurityGroupIngressInput{}
  927. }
  928. req = c.newRequest(op, input, output)
  929. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  930. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  931. output = &AuthorizeSecurityGroupIngressOutput{}
  932. req.Data = output
  933. return
  934. }
  935. // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  936. //
  937. // Adds one or more ingress rules to a security group.
  938. //
  939. // EC2-Classic: You can have up to 100 rules per group.
  940. //
  941. // EC2-VPC: You can have up to 50 rules per group (covering both ingress and
  942. // egress rules).
  943. //
  944. // Rule changes are propagated to instances within the security group as quickly
  945. // as possible. However, a small delay might occur.
  946. //
  947. // [EC2-Classic] This action gives one or more CIDR IP address ranges permission
  948. // to access a security group in your account, or gives one or more security
  949. // groups (called the source groups) permission to access a security group for
  950. // your account. A source group can be for your own AWS account, or another.
  951. //
  952. // [EC2-VPC] This action gives one or more CIDR IP address ranges permission
  953. // to access a security group in your VPC, or gives one or more other security
  954. // groups (called the source groups) permission to access a security group for
  955. // your VPC. The security groups must all be for the same VPC.
  956. //
  957. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  958. // with awserr.Error's Code and Message methods to get detailed information about
  959. // the error.
  960. //
  961. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  962. // API operation AuthorizeSecurityGroupIngress for usage and error information.
  963. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  964. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  965. err := req.Send()
  966. return out, err
  967. }
  968. const opBundleInstance = "BundleInstance"
  969. // BundleInstanceRequest generates a "aws/request.Request" representing the
  970. // client's request for the BundleInstance operation. The "output" return
  971. // value can be used to capture response data after the request's "Send" method
  972. // is called.
  973. //
  974. // See BundleInstance for usage and error information.
  975. //
  976. // Creating a request object using this method should be used when you want to inject
  977. // custom logic into the request's lifecycle using a custom handler, or if you want to
  978. // access properties on the request object before or after sending the request. If
  979. // you just want the service response, call the BundleInstance method directly
  980. // instead.
  981. //
  982. // Note: You must call the "Send" method on the returned request object in order
  983. // to execute the request.
  984. //
  985. // // Example sending a request using the BundleInstanceRequest method.
  986. // req, resp := client.BundleInstanceRequest(params)
  987. //
  988. // err := req.Send()
  989. // if err == nil { // resp is now filled
  990. // fmt.Println(resp)
  991. // }
  992. //
  993. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  994. op := &request.Operation{
  995. Name: opBundleInstance,
  996. HTTPMethod: "POST",
  997. HTTPPath: "/",
  998. }
  999. if input == nil {
  1000. input = &BundleInstanceInput{}
  1001. }
  1002. req = c.newRequest(op, input, output)
  1003. output = &BundleInstanceOutput{}
  1004. req.Data = output
  1005. return
  1006. }
  1007. // BundleInstance API operation for Amazon Elastic Compute Cloud.
  1008. //
  1009. // Bundles an Amazon instance store-backed Windows instance.
  1010. //
  1011. // During bundling, only the root device volume (C:\) is bundled. Data on other
  1012. // instance store volumes is not preserved.
  1013. //
  1014. // This action is not applicable for Linux/Unix instances or Windows instances
  1015. // that are backed by Amazon EBS.
  1016. //
  1017. // For more information, see Creating an Instance Store-Backed Windows AMI (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html).
  1018. //
  1019. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1020. // with awserr.Error's Code and Message methods to get detailed information about
  1021. // the error.
  1022. //
  1023. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1024. // API operation BundleInstance for usage and error information.
  1025. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  1026. req, out := c.BundleInstanceRequest(input)
  1027. err := req.Send()
  1028. return out, err
  1029. }
  1030. const opCancelBundleTask = "CancelBundleTask"
  1031. // CancelBundleTaskRequest generates a "aws/request.Request" representing the
  1032. // client's request for the CancelBundleTask operation. The "output" return
  1033. // value can be used to capture response data after the request's "Send" method
  1034. // is called.
  1035. //
  1036. // See CancelBundleTask for usage and error information.
  1037. //
  1038. // Creating a request object using this method should be used when you want to inject
  1039. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1040. // access properties on the request object before or after sending the request. If
  1041. // you just want the service response, call the CancelBundleTask method directly
  1042. // instead.
  1043. //
  1044. // Note: You must call the "Send" method on the returned request object in order
  1045. // to execute the request.
  1046. //
  1047. // // Example sending a request using the CancelBundleTaskRequest method.
  1048. // req, resp := client.CancelBundleTaskRequest(params)
  1049. //
  1050. // err := req.Send()
  1051. // if err == nil { // resp is now filled
  1052. // fmt.Println(resp)
  1053. // }
  1054. //
  1055. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  1056. op := &request.Operation{
  1057. Name: opCancelBundleTask,
  1058. HTTPMethod: "POST",
  1059. HTTPPath: "/",
  1060. }
  1061. if input == nil {
  1062. input = &CancelBundleTaskInput{}
  1063. }
  1064. req = c.newRequest(op, input, output)
  1065. output = &CancelBundleTaskOutput{}
  1066. req.Data = output
  1067. return
  1068. }
  1069. // CancelBundleTask API operation for Amazon Elastic Compute Cloud.
  1070. //
  1071. // Cancels a bundling operation for an instance store-backed Windows instance.
  1072. //
  1073. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1074. // with awserr.Error's Code and Message methods to get detailed information about
  1075. // the error.
  1076. //
  1077. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1078. // API operation CancelBundleTask for usage and error information.
  1079. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  1080. req, out := c.CancelBundleTaskRequest(input)
  1081. err := req.Send()
  1082. return out, err
  1083. }
  1084. const opCancelConversionTask = "CancelConversionTask"
  1085. // CancelConversionTaskRequest generates a "aws/request.Request" representing the
  1086. // client's request for the CancelConversionTask operation. The "output" return
  1087. // value can be used to capture response data after the request's "Send" method
  1088. // is called.
  1089. //
  1090. // See CancelConversionTask for usage and error information.
  1091. //
  1092. // Creating a request object using this method should be used when you want to inject
  1093. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1094. // access properties on the request object before or after sending the request. If
  1095. // you just want the service response, call the CancelConversionTask method directly
  1096. // instead.
  1097. //
  1098. // Note: You must call the "Send" method on the returned request object in order
  1099. // to execute the request.
  1100. //
  1101. // // Example sending a request using the CancelConversionTaskRequest method.
  1102. // req, resp := client.CancelConversionTaskRequest(params)
  1103. //
  1104. // err := req.Send()
  1105. // if err == nil { // resp is now filled
  1106. // fmt.Println(resp)
  1107. // }
  1108. //
  1109. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  1110. op := &request.Operation{
  1111. Name: opCancelConversionTask,
  1112. HTTPMethod: "POST",
  1113. HTTPPath: "/",
  1114. }
  1115. if input == nil {
  1116. input = &CancelConversionTaskInput{}
  1117. }
  1118. req = c.newRequest(op, input, output)
  1119. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1120. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1121. output = &CancelConversionTaskOutput{}
  1122. req.Data = output
  1123. return
  1124. }
  1125. // CancelConversionTask API operation for Amazon Elastic Compute Cloud.
  1126. //
  1127. // Cancels an active conversion task. The task can be the import of an instance
  1128. // or volume. The action removes all artifacts of the conversion, including
  1129. // a partially uploaded volume or instance. If the conversion is complete or
  1130. // is in the process of transferring the final disk image, the command fails
  1131. // and returns an exception.
  1132. //
  1133. // For more information, see Importing a Virtual Machine Using the Amazon EC2
  1134. // CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  1135. //
  1136. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1137. // with awserr.Error's Code and Message methods to get detailed information about
  1138. // the error.
  1139. //
  1140. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1141. // API operation CancelConversionTask for usage and error information.
  1142. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  1143. req, out := c.CancelConversionTaskRequest(input)
  1144. err := req.Send()
  1145. return out, err
  1146. }
  1147. const opCancelExportTask = "CancelExportTask"
  1148. // CancelExportTaskRequest generates a "aws/request.Request" representing the
  1149. // client's request for the CancelExportTask operation. The "output" return
  1150. // value can be used to capture response data after the request's "Send" method
  1151. // is called.
  1152. //
  1153. // See CancelExportTask for usage and error information.
  1154. //
  1155. // Creating a request object using this method should be used when you want to inject
  1156. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1157. // access properties on the request object before or after sending the request. If
  1158. // you just want the service response, call the CancelExportTask method directly
  1159. // instead.
  1160. //
  1161. // Note: You must call the "Send" method on the returned request object in order
  1162. // to execute the request.
  1163. //
  1164. // // Example sending a request using the CancelExportTaskRequest method.
  1165. // req, resp := client.CancelExportTaskRequest(params)
  1166. //
  1167. // err := req.Send()
  1168. // if err == nil { // resp is now filled
  1169. // fmt.Println(resp)
  1170. // }
  1171. //
  1172. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  1173. op := &request.Operation{
  1174. Name: opCancelExportTask,
  1175. HTTPMethod: "POST",
  1176. HTTPPath: "/",
  1177. }
  1178. if input == nil {
  1179. input = &CancelExportTaskInput{}
  1180. }
  1181. req = c.newRequest(op, input, output)
  1182. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1183. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1184. output = &CancelExportTaskOutput{}
  1185. req.Data = output
  1186. return
  1187. }
  1188. // CancelExportTask API operation for Amazon Elastic Compute Cloud.
  1189. //
  1190. // Cancels an active export task. The request removes all artifacts of the export,
  1191. // including any partially-created Amazon S3 objects. If the export task is
  1192. // complete or is in the process of transferring the final disk image, the command
  1193. // fails and returns an error.
  1194. //
  1195. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1196. // with awserr.Error's Code and Message methods to get detailed information about
  1197. // the error.
  1198. //
  1199. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1200. // API operation CancelExportTask for usage and error information.
  1201. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  1202. req, out := c.CancelExportTaskRequest(input)
  1203. err := req.Send()
  1204. return out, err
  1205. }
  1206. const opCancelImportTask = "CancelImportTask"
  1207. // CancelImportTaskRequest generates a "aws/request.Request" representing the
  1208. // client's request for the CancelImportTask operation. The "output" return
  1209. // value can be used to capture response data after the request's "Send" method
  1210. // is called.
  1211. //
  1212. // See CancelImportTask for usage and error information.
  1213. //
  1214. // Creating a request object using this method should be used when you want to inject
  1215. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1216. // access properties on the request object before or after sending the request. If
  1217. // you just want the service response, call the CancelImportTask method directly
  1218. // instead.
  1219. //
  1220. // Note: You must call the "Send" method on the returned request object in order
  1221. // to execute the request.
  1222. //
  1223. // // Example sending a request using the CancelImportTaskRequest method.
  1224. // req, resp := client.CancelImportTaskRequest(params)
  1225. //
  1226. // err := req.Send()
  1227. // if err == nil { // resp is now filled
  1228. // fmt.Println(resp)
  1229. // }
  1230. //
  1231. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  1232. op := &request.Operation{
  1233. Name: opCancelImportTask,
  1234. HTTPMethod: "POST",
  1235. HTTPPath: "/",
  1236. }
  1237. if input == nil {
  1238. input = &CancelImportTaskInput{}
  1239. }
  1240. req = c.newRequest(op, input, output)
  1241. output = &CancelImportTaskOutput{}
  1242. req.Data = output
  1243. return
  1244. }
  1245. // CancelImportTask API operation for Amazon Elastic Compute Cloud.
  1246. //
  1247. // Cancels an in-process import virtual machine or import snapshot task.
  1248. //
  1249. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1250. // with awserr.Error's Code and Message methods to get detailed information about
  1251. // the error.
  1252. //
  1253. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1254. // API operation CancelImportTask for usage and error information.
  1255. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  1256. req, out := c.CancelImportTaskRequest(input)
  1257. err := req.Send()
  1258. return out, err
  1259. }
  1260. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  1261. // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
  1262. // client's request for the CancelReservedInstancesListing operation. The "output" return
  1263. // value can be used to capture response data after the request's "Send" method
  1264. // is called.
  1265. //
  1266. // See CancelReservedInstancesListing for usage and error information.
  1267. //
  1268. // Creating a request object using this method should be used when you want to inject
  1269. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1270. // access properties on the request object before or after sending the request. If
  1271. // you just want the service response, call the CancelReservedInstancesListing method directly
  1272. // instead.
  1273. //
  1274. // Note: You must call the "Send" method on the returned request object in order
  1275. // to execute the request.
  1276. //
  1277. // // Example sending a request using the CancelReservedInstancesListingRequest method.
  1278. // req, resp := client.CancelReservedInstancesListingRequest(params)
  1279. //
  1280. // err := req.Send()
  1281. // if err == nil { // resp is now filled
  1282. // fmt.Println(resp)
  1283. // }
  1284. //
  1285. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  1286. op := &request.Operation{
  1287. Name: opCancelReservedInstancesListing,
  1288. HTTPMethod: "POST",
  1289. HTTPPath: "/",
  1290. }
  1291. if input == nil {
  1292. input = &CancelReservedInstancesListingInput{}
  1293. }
  1294. req = c.newRequest(op, input, output)
  1295. output = &CancelReservedInstancesListingOutput{}
  1296. req.Data = output
  1297. return
  1298. }
  1299. // CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  1300. //
  1301. // Cancels the specified Reserved Instance listing in the Reserved Instance
  1302. // Marketplace.
  1303. //
  1304. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  1305. // in the Amazon Elastic Compute Cloud User Guide.
  1306. //
  1307. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1308. // with awserr.Error's Code and Message methods to get detailed information about
  1309. // the error.
  1310. //
  1311. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1312. // API operation CancelReservedInstancesListing for usage and error information.
  1313. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  1314. req, out := c.CancelReservedInstancesListingRequest(input)
  1315. err := req.Send()
  1316. return out, err
  1317. }
  1318. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  1319. // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  1320. // client's request for the CancelSpotFleetRequests operation. The "output" return
  1321. // value can be used to capture response data after the request's "Send" method
  1322. // is called.
  1323. //
  1324. // See CancelSpotFleetRequests for usage and error information.
  1325. //
  1326. // Creating a request object using this method should be used when you want to inject
  1327. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1328. // access properties on the request object before or after sending the request. If
  1329. // you just want the service response, call the CancelSpotFleetRequests method directly
  1330. // instead.
  1331. //
  1332. // Note: You must call the "Send" method on the returned request object in order
  1333. // to execute the request.
  1334. //
  1335. // // Example sending a request using the CancelSpotFleetRequestsRequest method.
  1336. // req, resp := client.CancelSpotFleetRequestsRequest(params)
  1337. //
  1338. // err := req.Send()
  1339. // if err == nil { // resp is now filled
  1340. // fmt.Println(resp)
  1341. // }
  1342. //
  1343. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  1344. op := &request.Operation{
  1345. Name: opCancelSpotFleetRequests,
  1346. HTTPMethod: "POST",
  1347. HTTPPath: "/",
  1348. }
  1349. if input == nil {
  1350. input = &CancelSpotFleetRequestsInput{}
  1351. }
  1352. req = c.newRequest(op, input, output)
  1353. output = &CancelSpotFleetRequestsOutput{}
  1354. req.Data = output
  1355. return
  1356. }
  1357. // CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  1358. //
  1359. // Cancels the specified Spot fleet requests.
  1360. //
  1361. // After you cancel a Spot fleet request, the Spot fleet launches no new Spot
  1362. // instances. You must specify whether the Spot fleet should also terminate
  1363. // its Spot instances. If you terminate the instances, the Spot fleet request
  1364. // enters the cancelled_terminating state. Otherwise, the Spot fleet request
  1365. // enters the cancelled_running state and the instances continue to run until
  1366. // they are interrupted or you terminate them manually.
  1367. //
  1368. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1369. // with awserr.Error's Code and Message methods to get detailed information about
  1370. // the error.
  1371. //
  1372. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1373. // API operation CancelSpotFleetRequests for usage and error information.
  1374. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  1375. req, out := c.CancelSpotFleetRequestsRequest(input)
  1376. err := req.Send()
  1377. return out, err
  1378. }
  1379. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  1380. // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  1381. // client's request for the CancelSpotInstanceRequests operation. The "output" return
  1382. // value can be used to capture response data after the request's "Send" method
  1383. // is called.
  1384. //
  1385. // See CancelSpotInstanceRequests for usage and error information.
  1386. //
  1387. // Creating a request object using this method should be used when you want to inject
  1388. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1389. // access properties on the request object before or after sending the request. If
  1390. // you just want the service response, call the CancelSpotInstanceRequests method directly
  1391. // instead.
  1392. //
  1393. // Note: You must call the "Send" method on the returned request object in order
  1394. // to execute the request.
  1395. //
  1396. // // Example sending a request using the CancelSpotInstanceRequestsRequest method.
  1397. // req, resp := client.CancelSpotInstanceRequestsRequest(params)
  1398. //
  1399. // err := req.Send()
  1400. // if err == nil { // resp is now filled
  1401. // fmt.Println(resp)
  1402. // }
  1403. //
  1404. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  1405. op := &request.Operation{
  1406. Name: opCancelSpotInstanceRequests,
  1407. HTTPMethod: "POST",
  1408. HTTPPath: "/",
  1409. }
  1410. if input == nil {
  1411. input = &CancelSpotInstanceRequestsInput{}
  1412. }
  1413. req = c.newRequest(op, input, output)
  1414. output = &CancelSpotInstanceRequestsOutput{}
  1415. req.Data = output
  1416. return
  1417. }
  1418. // CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  1419. //
  1420. // Cancels one or more Spot instance requests. Spot instances are instances
  1421. // that Amazon EC2 starts on your behalf when the bid price that you specify
  1422. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  1423. // based on available Spot instance capacity and current Spot instance requests.
  1424. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  1425. // in the Amazon Elastic Compute Cloud User Guide.
  1426. //
  1427. // Canceling a Spot instance request does not terminate running Spot instances
  1428. // associated with the request.
  1429. //
  1430. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1431. // with awserr.Error's Code and Message methods to get detailed information about
  1432. // the error.
  1433. //
  1434. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1435. // API operation CancelSpotInstanceRequests for usage and error information.
  1436. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  1437. req, out := c.CancelSpotInstanceRequestsRequest(input)
  1438. err := req.Send()
  1439. return out, err
  1440. }
  1441. const opConfirmProductInstance = "ConfirmProductInstance"
  1442. // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
  1443. // client's request for the ConfirmProductInstance operation. The "output" return
  1444. // value can be used to capture response data after the request's "Send" method
  1445. // is called.
  1446. //
  1447. // See ConfirmProductInstance for usage and error information.
  1448. //
  1449. // Creating a request object using this method should be used when you want to inject
  1450. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1451. // access properties on the request object before or after sending the request. If
  1452. // you just want the service response, call the ConfirmProductInstance method directly
  1453. // instead.
  1454. //
  1455. // Note: You must call the "Send" method on the returned request object in order
  1456. // to execute the request.
  1457. //
  1458. // // Example sending a request using the ConfirmProductInstanceRequest method.
  1459. // req, resp := client.ConfirmProductInstanceRequest(params)
  1460. //
  1461. // err := req.Send()
  1462. // if err == nil { // resp is now filled
  1463. // fmt.Println(resp)
  1464. // }
  1465. //
  1466. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  1467. op := &request.Operation{
  1468. Name: opConfirmProductInstance,
  1469. HTTPMethod: "POST",
  1470. HTTPPath: "/",
  1471. }
  1472. if input == nil {
  1473. input = &ConfirmProductInstanceInput{}
  1474. }
  1475. req = c.newRequest(op, input, output)
  1476. output = &ConfirmProductInstanceOutput{}
  1477. req.Data = output
  1478. return
  1479. }
  1480. // ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
  1481. //
  1482. // Determines whether a product code is associated with an instance. This action
  1483. // can only be used by the owner of the product code. It is useful when a product
  1484. // code owner needs to verify whether another user's instance is eligible for
  1485. // support.
  1486. //
  1487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1488. // with awserr.Error's Code and Message methods to get detailed information about
  1489. // the error.
  1490. //
  1491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1492. // API operation ConfirmProductInstance for usage and error information.
  1493. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  1494. req, out := c.ConfirmProductInstanceRequest(input)
  1495. err := req.Send()
  1496. return out, err
  1497. }
  1498. const opCopyImage = "CopyImage"
  1499. // CopyImageRequest generates a "aws/request.Request" representing the
  1500. // client's request for the CopyImage operation. The "output" return
  1501. // value can be used to capture response data after the request's "Send" method
  1502. // is called.
  1503. //
  1504. // See CopyImage for usage and error information.
  1505. //
  1506. // Creating a request object using this method should be used when you want to inject
  1507. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1508. // access properties on the request object before or after sending the request. If
  1509. // you just want the service response, call the CopyImage method directly
  1510. // instead.
  1511. //
  1512. // Note: You must call the "Send" method on the returned request object in order
  1513. // to execute the request.
  1514. //
  1515. // // Example sending a request using the CopyImageRequest method.
  1516. // req, resp := client.CopyImageRequest(params)
  1517. //
  1518. // err := req.Send()
  1519. // if err == nil { // resp is now filled
  1520. // fmt.Println(resp)
  1521. // }
  1522. //
  1523. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  1524. op := &request.Operation{
  1525. Name: opCopyImage,
  1526. HTTPMethod: "POST",
  1527. HTTPPath: "/",
  1528. }
  1529. if input == nil {
  1530. input = &CopyImageInput{}
  1531. }
  1532. req = c.newRequest(op, input, output)
  1533. output = &CopyImageOutput{}
  1534. req.Data = output
  1535. return
  1536. }
  1537. // CopyImage API operation for Amazon Elastic Compute Cloud.
  1538. //
  1539. // Initiates the copy of an AMI from the specified source region to the current
  1540. // region. You specify the destination region by using its endpoint when making
  1541. // the request.
  1542. //
  1543. // For more information, see Copying AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
  1544. // in the Amazon Elastic Compute Cloud User Guide.
  1545. //
  1546. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1547. // with awserr.Error's Code and Message methods to get detailed information about
  1548. // the error.
  1549. //
  1550. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1551. // API operation CopyImage for usage and error information.
  1552. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
  1553. req, out := c.CopyImageRequest(input)
  1554. err := req.Send()
  1555. return out, err
  1556. }
  1557. const opCopySnapshot = "CopySnapshot"
  1558. // CopySnapshotRequest generates a "aws/request.Request" representing the
  1559. // client's request for the CopySnapshot operation. The "output" return
  1560. // value can be used to capture response data after the request's "Send" method
  1561. // is called.
  1562. //
  1563. // See CopySnapshot for usage and error information.
  1564. //
  1565. // Creating a request object using this method should be used when you want to inject
  1566. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1567. // access properties on the request object before or after sending the request. If
  1568. // you just want the service response, call the CopySnapshot method directly
  1569. // instead.
  1570. //
  1571. // Note: You must call the "Send" method on the returned request object in order
  1572. // to execute the request.
  1573. //
  1574. // // Example sending a request using the CopySnapshotRequest method.
  1575. // req, resp := client.CopySnapshotRequest(params)
  1576. //
  1577. // err := req.Send()
  1578. // if err == nil { // resp is now filled
  1579. // fmt.Println(resp)
  1580. // }
  1581. //
  1582. func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  1583. op := &request.Operation{
  1584. Name: opCopySnapshot,
  1585. HTTPMethod: "POST",
  1586. HTTPPath: "/",
  1587. }
  1588. if input == nil {
  1589. input = &CopySnapshotInput{}
  1590. }
  1591. req = c.newRequest(op, input, output)
  1592. output = &CopySnapshotOutput{}
  1593. req.Data = output
  1594. return
  1595. }
  1596. // CopySnapshot API operation for Amazon Elastic Compute Cloud.
  1597. //
  1598. // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
  1599. // S3. You can copy the snapshot within the same region or from one region to
  1600. // another. You can use the snapshot to create EBS volumes or Amazon Machine
  1601. // Images (AMIs). The snapshot is copied to the regional endpoint that you send
  1602. // the HTTP request to.
  1603. //
  1604. // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
  1605. // snapshots remain unencrypted, unless the Encrypted flag is specified during
  1606. // the snapshot copy operation. By default, encrypted snapshot copies use the
  1607. // default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
  1608. // you can specify a non-default CMK with the KmsKeyId parameter.
  1609. //
  1610. // To copy an encrypted snapshot that has been shared from another account,
  1611. // you must have permissions for the CMK used to encrypt the snapshot.
  1612. //
  1613. // Snapshots created by the CopySnapshot action have an arbitrary volume ID
  1614. // that should not be used for any purpose.
  1615. //
  1616. // For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
  1617. // in the Amazon Elastic Compute Cloud User Guide.
  1618. //
  1619. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1620. // with awserr.Error's Code and Message methods to get detailed information about
  1621. // the error.
  1622. //
  1623. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1624. // API operation CopySnapshot for usage and error information.
  1625. func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  1626. req, out := c.CopySnapshotRequest(input)
  1627. err := req.Send()
  1628. return out, err
  1629. }
  1630. const opCreateCustomerGateway = "CreateCustomerGateway"
  1631. // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
  1632. // client's request for the CreateCustomerGateway operation. The "output" return
  1633. // value can be used to capture response data after the request's "Send" method
  1634. // is called.
  1635. //
  1636. // See CreateCustomerGateway for usage and error information.
  1637. //
  1638. // Creating a request object using this method should be used when you want to inject
  1639. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1640. // access properties on the request object before or after sending the request. If
  1641. // you just want the service response, call the CreateCustomerGateway method directly
  1642. // instead.
  1643. //
  1644. // Note: You must call the "Send" method on the returned request object in order
  1645. // to execute the request.
  1646. //
  1647. // // Example sending a request using the CreateCustomerGatewayRequest method.
  1648. // req, resp := client.CreateCustomerGatewayRequest(params)
  1649. //
  1650. // err := req.Send()
  1651. // if err == nil { // resp is now filled
  1652. // fmt.Println(resp)
  1653. // }
  1654. //
  1655. func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
  1656. op := &request.Operation{
  1657. Name: opCreateCustomerGateway,
  1658. HTTPMethod: "POST",
  1659. HTTPPath: "/",
  1660. }
  1661. if input == nil {
  1662. input = &CreateCustomerGatewayInput{}
  1663. }
  1664. req = c.newRequest(op, input, output)
  1665. output = &CreateCustomerGatewayOutput{}
  1666. req.Data = output
  1667. return
  1668. }
  1669. // CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
  1670. //
  1671. // Provides information to AWS about your VPN customer gateway device. The customer
  1672. // gateway is the appliance at your end of the VPN connection. (The device on
  1673. // the AWS side of the VPN connection is the virtual private gateway.) You must
  1674. // provide the Internet-routable IP address of the customer gateway's external
  1675. // interface. The IP address must be static and may be behind a device performing
  1676. // network address translation (NAT).
  1677. //
  1678. // For devices that use Border Gateway Protocol (BGP), you can also provide
  1679. // the device's BGP Autonomous System Number (ASN). You can use an existing
  1680. // ASN assigned to your network. If you don't have an ASN already, you can use
  1681. // a private ASN (in the 64512 - 65534 range).
  1682. //
  1683. // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
  1684. // the exception of 7224, which is reserved in the us-east-1 region, and 9059,
  1685. // which is reserved in the eu-west-1 region.
  1686. //
  1687. // For more information about VPN customer gateways, see Adding a Hardware Virtual
  1688. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1689. // in the Amazon Virtual Private Cloud User Guide.
  1690. //
  1691. // You cannot create more than one customer gateway with the same VPN type,
  1692. // IP address, and BGP ASN parameter values. If you run an identical request
  1693. // more than one time, the first request creates the customer gateway, and subsequent
  1694. // requests return information about the existing customer gateway. The subsequent
  1695. // requests do not create new customer gateway resources.
  1696. //
  1697. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1698. // with awserr.Error's Code and Message methods to get detailed information about
  1699. // the error.
  1700. //
  1701. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1702. // API operation CreateCustomerGateway for usage and error information.
  1703. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
  1704. req, out := c.CreateCustomerGatewayRequest(input)
  1705. err := req.Send()
  1706. return out, err
  1707. }
  1708. const opCreateDhcpOptions = "CreateDhcpOptions"
  1709. // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
  1710. // client's request for the CreateDhcpOptions operation. The "output" return
  1711. // value can be used to capture response data after the request's "Send" method
  1712. // is called.
  1713. //
  1714. // See CreateDhcpOptions for usage and error information.
  1715. //
  1716. // Creating a request object using this method should be used when you want to inject
  1717. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1718. // access properties on the request object before or after sending the request. If
  1719. // you just want the service response, call the CreateDhcpOptions method directly
  1720. // instead.
  1721. //
  1722. // Note: You must call the "Send" method on the returned request object in order
  1723. // to execute the request.
  1724. //
  1725. // // Example sending a request using the CreateDhcpOptionsRequest method.
  1726. // req, resp := client.CreateDhcpOptionsRequest(params)
  1727. //
  1728. // err := req.Send()
  1729. // if err == nil { // resp is now filled
  1730. // fmt.Println(resp)
  1731. // }
  1732. //
  1733. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  1734. op := &request.Operation{
  1735. Name: opCreateDhcpOptions,
  1736. HTTPMethod: "POST",
  1737. HTTPPath: "/",
  1738. }
  1739. if input == nil {
  1740. input = &CreateDhcpOptionsInput{}
  1741. }
  1742. req = c.newRequest(op, input, output)
  1743. output = &CreateDhcpOptionsOutput{}
  1744. req.Data = output
  1745. return
  1746. }
  1747. // CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  1748. //
  1749. // Creates a set of DHCP options for your VPC. After creating the set, you must
  1750. // associate it with the VPC, causing all existing and new instances that you
  1751. // launch in the VPC to use this set of DHCP options. The following are the
  1752. // individual DHCP options you can specify. For more information about the options,
  1753. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  1754. //
  1755. // * domain-name-servers - The IP addresses of up to four domain name servers,
  1756. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  1757. // If specifying more than one domain name server, specify the IP addresses
  1758. // in a single parameter, separated by commas. If you want your instance
  1759. // to receive a custom DNS hostname as specified in domain-name, you must
  1760. // set domain-name-servers to a custom DNS server.
  1761. //
  1762. // * domain-name - If you're using AmazonProvidedDNS in "us-east-1", specify
  1763. // "ec2.internal". If you're using AmazonProvidedDNS in another region, specify
  1764. // "region.compute.internal" (for example, "ap-northeast-1.compute.internal").
  1765. // Otherwise, specify a domain name (for example, "MyCompany.com"). This
  1766. // value is used to complete unqualified DNS hostnames. Important: Some Linux
  1767. // operating systems accept multiple domain names separated by spaces. However,
  1768. // Windows and other Linux operating systems treat the value as a single
  1769. // domain, which results in unexpected behavior. If your DHCP options set
  1770. // is associated with a VPC that has instances with multiple operating systems,
  1771. // specify only one domain name.
  1772. //
  1773. // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
  1774. // servers.
  1775. //
  1776. // * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
  1777. //
  1778. // * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
  1779. // that you specify 2 (broadcast and multicast are not currently supported).
  1780. // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  1781. //
  1782. // Your VPC automatically starts out with a set of DHCP options that includes
  1783. // only a DNS server that we provide (AmazonProvidedDNS). If you create a set
  1784. // of options, and if your VPC has an Internet gateway, make sure to set the
  1785. // domain-name-servers option either to AmazonProvidedDNS or to a domain name
  1786. // server of your choice. For more information about DHCP options, see DHCP
  1787. // Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  1788. // in the Amazon Virtual Private Cloud User Guide.
  1789. //
  1790. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1791. // with awserr.Error's Code and Message methods to get detailed information about
  1792. // the error.
  1793. //
  1794. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1795. // API operation CreateDhcpOptions for usage and error information.
  1796. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  1797. req, out := c.CreateDhcpOptionsRequest(input)
  1798. err := req.Send()
  1799. return out, err
  1800. }
  1801. const opCreateFlowLogs = "CreateFlowLogs"
  1802. // CreateFlowLogsRequest generates a "aws/request.Request" representing the
  1803. // client's request for the CreateFlowLogs operation. The "output" return
  1804. // value can be used to capture response data after the request's "Send" method
  1805. // is called.
  1806. //
  1807. // See CreateFlowLogs for usage and error information.
  1808. //
  1809. // Creating a request object using this method should be used when you want to inject
  1810. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1811. // access properties on the request object before or after sending the request. If
  1812. // you just want the service response, call the CreateFlowLogs method directly
  1813. // instead.
  1814. //
  1815. // Note: You must call the "Send" method on the returned request object in order
  1816. // to execute the request.
  1817. //
  1818. // // Example sending a request using the CreateFlowLogsRequest method.
  1819. // req, resp := client.CreateFlowLogsRequest(params)
  1820. //
  1821. // err := req.Send()
  1822. // if err == nil { // resp is now filled
  1823. // fmt.Println(resp)
  1824. // }
  1825. //
  1826. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  1827. op := &request.Operation{
  1828. Name: opCreateFlowLogs,
  1829. HTTPMethod: "POST",
  1830. HTTPPath: "/",
  1831. }
  1832. if input == nil {
  1833. input = &CreateFlowLogsInput{}
  1834. }
  1835. req = c.newRequest(op, input, output)
  1836. output = &CreateFlowLogsOutput{}
  1837. req.Data = output
  1838. return
  1839. }
  1840. // CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
  1841. //
  1842. // Creates one or more flow logs to capture IP traffic for a specific network
  1843. // interface, subnet, or VPC. Flow logs are delivered to a specified log group
  1844. // in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
  1845. // a log stream is created in CloudWatch Logs for each network interface in
  1846. // the subnet or VPC. Log streams can include information about accepted and
  1847. // rejected traffic to a network interface. You can view the data in your log
  1848. // streams using Amazon CloudWatch Logs.
  1849. //
  1850. // In your request, you must also specify an IAM role that has permission to
  1851. // publish logs to CloudWatch Logs.
  1852. //
  1853. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1854. // with awserr.Error's Code and Message methods to get detailed information about
  1855. // the error.
  1856. //
  1857. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1858. // API operation CreateFlowLogs for usage and error information.
  1859. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  1860. req, out := c.CreateFlowLogsRequest(input)
  1861. err := req.Send()
  1862. return out, err
  1863. }
  1864. const opCreateImage = "CreateImage"
  1865. // CreateImageRequest generates a "aws/request.Request" representing the
  1866. // client's request for the CreateImage operation. The "output" return
  1867. // value can be used to capture response data after the request's "Send" method
  1868. // is called.
  1869. //
  1870. // See CreateImage for usage and error information.
  1871. //
  1872. // Creating a request object using this method should be used when you want to inject
  1873. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1874. // access properties on the request object before or after sending the request. If
  1875. // you just want the service response, call the CreateImage method directly
  1876. // instead.
  1877. //
  1878. // Note: You must call the "Send" method on the returned request object in order
  1879. // to execute the request.
  1880. //
  1881. // // Example sending a request using the CreateImageRequest method.
  1882. // req, resp := client.CreateImageRequest(params)
  1883. //
  1884. // err := req.Send()
  1885. // if err == nil { // resp is now filled
  1886. // fmt.Println(resp)
  1887. // }
  1888. //
  1889. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  1890. op := &request.Operation{
  1891. Name: opCreateImage,
  1892. HTTPMethod: "POST",
  1893. HTTPPath: "/",
  1894. }
  1895. if input == nil {
  1896. input = &CreateImageInput{}
  1897. }
  1898. req = c.newRequest(op, input, output)
  1899. output = &CreateImageOutput{}
  1900. req.Data = output
  1901. return
  1902. }
  1903. // CreateImage API operation for Amazon Elastic Compute Cloud.
  1904. //
  1905. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  1906. // is either running or stopped.
  1907. //
  1908. // If you customized your instance with instance store volumes or EBS volumes
  1909. // in addition to the root device volume, the new AMI contains block device
  1910. // mapping information for those volumes. When you launch an instance from this
  1911. // new AMI, the instance automatically launches with those additional volumes.
  1912. //
  1913. // For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  1914. // in the Amazon Elastic Compute Cloud User Guide.
  1915. //
  1916. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1917. // with awserr.Error's Code and Message methods to get detailed information about
  1918. // the error.
  1919. //
  1920. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1921. // API operation CreateImage for usage and error information.
  1922. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  1923. req, out := c.CreateImageRequest(input)
  1924. err := req.Send()
  1925. return out, err
  1926. }
  1927. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  1928. // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
  1929. // client's request for the CreateInstanceExportTask operation. The "output" return
  1930. // value can be used to capture response data after the request's "Send" method
  1931. // is called.
  1932. //
  1933. // See CreateInstanceExportTask for usage and error information.
  1934. //
  1935. // Creating a request object using this method should be used when you want to inject
  1936. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1937. // access properties on the request object before or after sending the request. If
  1938. // you just want the service response, call the CreateInstanceExportTask method directly
  1939. // instead.
  1940. //
  1941. // Note: You must call the "Send" method on the returned request object in order
  1942. // to execute the request.
  1943. //
  1944. // // Example sending a request using the CreateInstanceExportTaskRequest method.
  1945. // req, resp := client.CreateInstanceExportTaskRequest(params)
  1946. //
  1947. // err := req.Send()
  1948. // if err == nil { // resp is now filled
  1949. // fmt.Println(resp)
  1950. // }
  1951. //
  1952. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  1953. op := &request.Operation{
  1954. Name: opCreateInstanceExportTask,
  1955. HTTPMethod: "POST",
  1956. HTTPPath: "/",
  1957. }
  1958. if input == nil {
  1959. input = &CreateInstanceExportTaskInput{}
  1960. }
  1961. req = c.newRequest(op, input, output)
  1962. output = &CreateInstanceExportTaskOutput{}
  1963. req.Data = output
  1964. return
  1965. }
  1966. // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
  1967. //
  1968. // Exports a running or stopped instance to an S3 bucket.
  1969. //
  1970. // For information about the supported operating systems, image formats, and
  1971. // known limitations for the types of instances you can export, see Exporting
  1972. // an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
  1973. // in the VM Import/Export User Guide.
  1974. //
  1975. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1976. // with awserr.Error's Code and Message methods to get detailed information about
  1977. // the error.
  1978. //
  1979. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1980. // API operation CreateInstanceExportTask for usage and error information.
  1981. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  1982. req, out := c.CreateInstanceExportTaskRequest(input)
  1983. err := req.Send()
  1984. return out, err
  1985. }
  1986. const opCreateInternetGateway = "CreateInternetGateway"
  1987. // CreateInternetGatewayRequest generates a "aws/request.Request" representing the
  1988. // client's request for the CreateInternetGateway operation. The "output" return
  1989. // value can be used to capture response data after the request's "Send" method
  1990. // is called.
  1991. //
  1992. // See CreateInternetGateway for usage and error information.
  1993. //
  1994. // Creating a request object using this method should be used when you want to inject
  1995. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1996. // access properties on the request object before or after sending the request. If
  1997. // you just want the service response, call the CreateInternetGateway method directly
  1998. // instead.
  1999. //
  2000. // Note: You must call the "Send" method on the returned request object in order
  2001. // to execute the request.
  2002. //
  2003. // // Example sending a request using the CreateInternetGatewayRequest method.
  2004. // req, resp := client.CreateInternetGatewayRequest(params)
  2005. //
  2006. // err := req.Send()
  2007. // if err == nil { // resp is now filled
  2008. // fmt.Println(resp)
  2009. // }
  2010. //
  2011. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  2012. op := &request.Operation{
  2013. Name: opCreateInternetGateway,
  2014. HTTPMethod: "POST",
  2015. HTTPPath: "/",
  2016. }
  2017. if input == nil {
  2018. input = &CreateInternetGatewayInput{}
  2019. }
  2020. req = c.newRequest(op, input, output)
  2021. output = &CreateInternetGatewayOutput{}
  2022. req.Data = output
  2023. return
  2024. }
  2025. // CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
  2026. //
  2027. // Creates an Internet gateway for use with a VPC. After creating the Internet
  2028. // gateway, you attach it to a VPC using AttachInternetGateway.
  2029. //
  2030. // For more information about your VPC and Internet gateway, see the Amazon
  2031. // Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  2032. //
  2033. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2034. // with awserr.Error's Code and Message methods to get detailed information about
  2035. // the error.
  2036. //
  2037. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2038. // API operation CreateInternetGateway for usage and error information.
  2039. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  2040. req, out := c.CreateInternetGatewayRequest(input)
  2041. err := req.Send()
  2042. return out, err
  2043. }
  2044. const opCreateKeyPair = "CreateKeyPair"
  2045. // CreateKeyPairRequest generates a "aws/request.Request" representing the
  2046. // client's request for the CreateKeyPair operation. The "output" return
  2047. // value can be used to capture response data after the request's "Send" method
  2048. // is called.
  2049. //
  2050. // See CreateKeyPair for usage and error information.
  2051. //
  2052. // Creating a request object using this method should be used when you want to inject
  2053. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2054. // access properties on the request object before or after sending the request. If
  2055. // you just want the service response, call the CreateKeyPair method directly
  2056. // instead.
  2057. //
  2058. // Note: You must call the "Send" method on the returned request object in order
  2059. // to execute the request.
  2060. //
  2061. // // Example sending a request using the CreateKeyPairRequest method.
  2062. // req, resp := client.CreateKeyPairRequest(params)
  2063. //
  2064. // err := req.Send()
  2065. // if err == nil { // resp is now filled
  2066. // fmt.Println(resp)
  2067. // }
  2068. //
  2069. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  2070. op := &request.Operation{
  2071. Name: opCreateKeyPair,
  2072. HTTPMethod: "POST",
  2073. HTTPPath: "/",
  2074. }
  2075. if input == nil {
  2076. input = &CreateKeyPairInput{}
  2077. }
  2078. req = c.newRequest(op, input, output)
  2079. output = &CreateKeyPairOutput{}
  2080. req.Data = output
  2081. return
  2082. }
  2083. // CreateKeyPair API operation for Amazon Elastic Compute Cloud.
  2084. //
  2085. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  2086. // the public key and displays the private key for you to save to a file. The
  2087. // private key is returned as an unencrypted PEM encoded PKCS#8 private key.
  2088. // If a key with the specified name already exists, Amazon EC2 returns an error.
  2089. //
  2090. // You can have up to five thousand key pairs per region.
  2091. //
  2092. // The key pair returned to you is available only in the region in which you
  2093. // create it. To create a key pair that is available in all regions, use ImportKeyPair.
  2094. //
  2095. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  2096. // in the Amazon Elastic Compute Cloud User Guide.
  2097. //
  2098. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2099. // with awserr.Error's Code and Message methods to get detailed information about
  2100. // the error.
  2101. //
  2102. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2103. // API operation CreateKeyPair for usage and error information.
  2104. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  2105. req, out := c.CreateKeyPairRequest(input)
  2106. err := req.Send()
  2107. return out, err
  2108. }
  2109. const opCreateNatGateway = "CreateNatGateway"
  2110. // CreateNatGatewayRequest generates a "aws/request.Request" representing the
  2111. // client's request for the CreateNatGateway operation. The "output" return
  2112. // value can be used to capture response data after the request's "Send" method
  2113. // is called.
  2114. //
  2115. // See CreateNatGateway for usage and error information.
  2116. //
  2117. // Creating a request object using this method should be used when you want to inject
  2118. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2119. // access properties on the request object before or after sending the request. If
  2120. // you just want the service response, call the CreateNatGateway method directly
  2121. // instead.
  2122. //
  2123. // Note: You must call the "Send" method on the returned request object in order
  2124. // to execute the request.
  2125. //
  2126. // // Example sending a request using the CreateNatGatewayRequest method.
  2127. // req, resp := client.CreateNatGatewayRequest(params)
  2128. //
  2129. // err := req.Send()
  2130. // if err == nil { // resp is now filled
  2131. // fmt.Println(resp)
  2132. // }
  2133. //
  2134. func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
  2135. op := &request.Operation{
  2136. Name: opCreateNatGateway,
  2137. HTTPMethod: "POST",
  2138. HTTPPath: "/",
  2139. }
  2140. if input == nil {
  2141. input = &CreateNatGatewayInput{}
  2142. }
  2143. req = c.newRequest(op, input, output)
  2144. output = &CreateNatGatewayOutput{}
  2145. req.Data = output
  2146. return
  2147. }
  2148. // CreateNatGateway API operation for Amazon Elastic Compute Cloud.
  2149. //
  2150. // Creates a NAT gateway in the specified subnet. A NAT gateway can be used
  2151. // to enable instances in a private subnet to connect to the Internet. This
  2152. // action creates a network interface in the specified subnet with a private
  2153. // IP address from the IP address range of the subnet. For more information,
  2154. // see NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
  2155. // in the Amazon Virtual Private Cloud User Guide.
  2156. //
  2157. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2158. // with awserr.Error's Code and Message methods to get detailed information about
  2159. // the error.
  2160. //
  2161. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2162. // API operation CreateNatGateway for usage and error information.
  2163. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
  2164. req, out := c.CreateNatGatewayRequest(input)
  2165. err := req.Send()
  2166. return out, err
  2167. }
  2168. const opCreateNetworkAcl = "CreateNetworkAcl"
  2169. // CreateNetworkAclRequest generates a "aws/request.Request" representing the
  2170. // client's request for the CreateNetworkAcl operation. The "output" return
  2171. // value can be used to capture response data after the request's "Send" method
  2172. // is called.
  2173. //
  2174. // See CreateNetworkAcl for usage and error information.
  2175. //
  2176. // Creating a request object using this method should be used when you want to inject
  2177. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2178. // access properties on the request object before or after sending the request. If
  2179. // you just want the service response, call the CreateNetworkAcl method directly
  2180. // instead.
  2181. //
  2182. // Note: You must call the "Send" method on the returned request object in order
  2183. // to execute the request.
  2184. //
  2185. // // Example sending a request using the CreateNetworkAclRequest method.
  2186. // req, resp := client.CreateNetworkAclRequest(params)
  2187. //
  2188. // err := req.Send()
  2189. // if err == nil { // resp is now filled
  2190. // fmt.Println(resp)
  2191. // }
  2192. //
  2193. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  2194. op := &request.Operation{
  2195. Name: opCreateNetworkAcl,
  2196. HTTPMethod: "POST",
  2197. HTTPPath: "/",
  2198. }
  2199. if input == nil {
  2200. input = &CreateNetworkAclInput{}
  2201. }
  2202. req = c.newRequest(op, input, output)
  2203. output = &CreateNetworkAclOutput{}
  2204. req.Data = output
  2205. return
  2206. }
  2207. // CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
  2208. //
  2209. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  2210. // security (in addition to security groups) for the instances in your VPC.
  2211. //
  2212. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  2213. // in the Amazon Virtual Private Cloud User Guide.
  2214. //
  2215. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2216. // with awserr.Error's Code and Message methods to get detailed information about
  2217. // the error.
  2218. //
  2219. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2220. // API operation CreateNetworkAcl for usage and error information.
  2221. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  2222. req, out := c.CreateNetworkAclRequest(input)
  2223. err := req.Send()
  2224. return out, err
  2225. }
  2226. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  2227. // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
  2228. // client's request for the CreateNetworkAclEntry operation. The "output" return
  2229. // value can be used to capture response data after the request's "Send" method
  2230. // is called.
  2231. //
  2232. // See CreateNetworkAclEntry for usage and error information.
  2233. //
  2234. // Creating a request object using this method should be used when you want to inject
  2235. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2236. // access properties on the request object before or after sending the request. If
  2237. // you just want the service response, call the CreateNetworkAclEntry method directly
  2238. // instead.
  2239. //
  2240. // Note: You must call the "Send" method on the returned request object in order
  2241. // to execute the request.
  2242. //
  2243. // // Example sending a request using the CreateNetworkAclEntryRequest method.
  2244. // req, resp := client.CreateNetworkAclEntryRequest(params)
  2245. //
  2246. // err := req.Send()
  2247. // if err == nil { // resp is now filled
  2248. // fmt.Println(resp)
  2249. // }
  2250. //
  2251. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  2252. op := &request.Operation{
  2253. Name: opCreateNetworkAclEntry,
  2254. HTTPMethod: "POST",
  2255. HTTPPath: "/",
  2256. }
  2257. if input == nil {
  2258. input = &CreateNetworkAclEntryInput{}
  2259. }
  2260. req = c.newRequest(op, input, output)
  2261. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  2262. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2263. output = &CreateNetworkAclEntryOutput{}
  2264. req.Data = output
  2265. return
  2266. }
  2267. // CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  2268. //
  2269. // Creates an entry (a rule) in a network ACL with the specified rule number.
  2270. // Each network ACL has a set of numbered ingress rules and a separate set of
  2271. // numbered egress rules. When determining whether a packet should be allowed
  2272. // in or out of a subnet associated with the ACL, we process the entries in
  2273. // the ACL according to the rule numbers, in ascending order. Each network ACL
  2274. // has a set of ingress rules and a separate set of egress rules.
  2275. //
  2276. // We recommend that you leave room between the rule numbers (for example, 100,
  2277. // 110, 120, ...), and not number them one right after the other (for example,
  2278. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  2279. // ones without having to renumber the rules.
  2280. //
  2281. // After you add an entry, you can't modify it; you must either replace it,
  2282. // or create an entry and delete the old one.
  2283. //
  2284. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  2285. // in the Amazon Virtual Private Cloud User Guide.
  2286. //
  2287. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2288. // with awserr.Error's Code and Message methods to get detailed information about
  2289. // the error.
  2290. //
  2291. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2292. // API operation CreateNetworkAclEntry for usage and error information.
  2293. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  2294. req, out := c.CreateNetworkAclEntryRequest(input)
  2295. err := req.Send()
  2296. return out, err
  2297. }
  2298. const opCreateNetworkInterface = "CreateNetworkInterface"
  2299. // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
  2300. // client's request for the CreateNetworkInterface operation. The "output" return
  2301. // value can be used to capture response data after the request's "Send" method
  2302. // is called.
  2303. //
  2304. // See CreateNetworkInterface for usage and error information.
  2305. //
  2306. // Creating a request object using this method should be used when you want to inject
  2307. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2308. // access properties on the request object before or after sending the request. If
  2309. // you just want the service response, call the CreateNetworkInterface method directly
  2310. // instead.
  2311. //
  2312. // Note: You must call the "Send" method on the returned request object in order
  2313. // to execute the request.
  2314. //
  2315. // // Example sending a request using the CreateNetworkInterfaceRequest method.
  2316. // req, resp := client.CreateNetworkInterfaceRequest(params)
  2317. //
  2318. // err := req.Send()
  2319. // if err == nil { // resp is now filled
  2320. // fmt.Println(resp)
  2321. // }
  2322. //
  2323. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  2324. op := &request.Operation{
  2325. Name: opCreateNetworkInterface,
  2326. HTTPMethod: "POST",
  2327. HTTPPath: "/",
  2328. }
  2329. if input == nil {
  2330. input = &CreateNetworkInterfaceInput{}
  2331. }
  2332. req = c.newRequest(op, input, output)
  2333. output = &CreateNetworkInterfaceOutput{}
  2334. req.Data = output
  2335. return
  2336. }
  2337. // CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
  2338. //
  2339. // Creates a network interface in the specified subnet.
  2340. //
  2341. // For more information about network interfaces, see Elastic Network Interfaces
  2342. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  2343. // Amazon Elastic Compute Cloud User Guide.
  2344. //
  2345. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2346. // with awserr.Error's Code and Message methods to get detailed information about
  2347. // the error.
  2348. //
  2349. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2350. // API operation CreateNetworkInterface for usage and error information.
  2351. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  2352. req, out := c.CreateNetworkInterfaceRequest(input)
  2353. err := req.Send()
  2354. return out, err
  2355. }
  2356. const opCreatePlacementGroup = "CreatePlacementGroup"
  2357. // CreatePlacementGroupRequest generates a "aws/request.Request" representing the
  2358. // client's request for the CreatePlacementGroup operation. The "output" return
  2359. // value can be used to capture response data after the request's "Send" method
  2360. // is called.
  2361. //
  2362. // See CreatePlacementGroup for usage and error information.
  2363. //
  2364. // Creating a request object using this method should be used when you want to inject
  2365. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2366. // access properties on the request object before or after sending the request. If
  2367. // you just want the service response, call the CreatePlacementGroup method directly
  2368. // instead.
  2369. //
  2370. // Note: You must call the "Send" method on the returned request object in order
  2371. // to execute the request.
  2372. //
  2373. // // Example sending a request using the CreatePlacementGroupRequest method.
  2374. // req, resp := client.CreatePlacementGroupRequest(params)
  2375. //
  2376. // err := req.Send()
  2377. // if err == nil { // resp is now filled
  2378. // fmt.Println(resp)
  2379. // }
  2380. //
  2381. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  2382. op := &request.Operation{
  2383. Name: opCreatePlacementGroup,
  2384. HTTPMethod: "POST",
  2385. HTTPPath: "/",
  2386. }
  2387. if input == nil {
  2388. input = &CreatePlacementGroupInput{}
  2389. }
  2390. req = c.newRequest(op, input, output)
  2391. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  2392. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2393. output = &CreatePlacementGroupOutput{}
  2394. req.Data = output
  2395. return
  2396. }
  2397. // CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
  2398. //
  2399. // Creates a placement group that you launch cluster instances into. You must
  2400. // give the group a name that's unique within the scope of your account.
  2401. //
  2402. // For more information about placement groups and cluster instances, see Cluster
  2403. // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  2404. // in the Amazon Elastic Compute Cloud User Guide.
  2405. //
  2406. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2407. // with awserr.Error's Code and Message methods to get detailed information about
  2408. // the error.
  2409. //
  2410. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2411. // API operation CreatePlacementGroup for usage and error information.
  2412. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  2413. req, out := c.CreatePlacementGroupRequest(input)
  2414. err := req.Send()
  2415. return out, err
  2416. }
  2417. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  2418. // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
  2419. // client's request for the CreateReservedInstancesListing operation. The "output" return
  2420. // value can be used to capture response data after the request's "Send" method
  2421. // is called.
  2422. //
  2423. // See CreateReservedInstancesListing for usage and error information.
  2424. //
  2425. // Creating a request object using this method should be used when you want to inject
  2426. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2427. // access properties on the request object before or after sending the request. If
  2428. // you just want the service response, call the CreateReservedInstancesListing method directly
  2429. // instead.
  2430. //
  2431. // Note: You must call the "Send" method on the returned request object in order
  2432. // to execute the request.
  2433. //
  2434. // // Example sending a request using the CreateReservedInstancesListingRequest method.
  2435. // req, resp := client.CreateReservedInstancesListingRequest(params)
  2436. //
  2437. // err := req.Send()
  2438. // if err == nil { // resp is now filled
  2439. // fmt.Println(resp)
  2440. // }
  2441. //
  2442. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  2443. op := &request.Operation{
  2444. Name: opCreateReservedInstancesListing,
  2445. HTTPMethod: "POST",
  2446. HTTPPath: "/",
  2447. }
  2448. if input == nil {
  2449. input = &CreateReservedInstancesListingInput{}
  2450. }
  2451. req = c.newRequest(op, input, output)
  2452. output = &CreateReservedInstancesListingOutput{}
  2453. req.Data = output
  2454. return
  2455. }
  2456. // CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  2457. //
  2458. // Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
  2459. // the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
  2460. // listing at a time. To get a list of your Standard Reserved Instances, you
  2461. // can use the DescribeReservedInstances operation.
  2462. //
  2463. // The Reserved Instance Marketplace matches sellers who want to resell Standard
  2464. // Reserved Instance capacity that they no longer need with buyers who want
  2465. // to purchase additional capacity. Reserved Instances bought and sold through
  2466. // the Reserved Instance Marketplace work like any other Reserved Instances.
  2467. //
  2468. // To sell your Standard Reserved Instances, you must first register as a seller
  2469. // in the Reserved Instance Marketplace. After completing the registration process,
  2470. // you can create a Reserved Instance Marketplace listing of some or all of
  2471. // your Standard Reserved Instances, and specify the upfront price to receive
  2472. // for them. Your Standard Reserved Instance listings then become available
  2473. // for purchase. To view the details of your Standard Reserved Instance listing,
  2474. // you can use the DescribeReservedInstancesListings operation.
  2475. //
  2476. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  2477. // in the Amazon Elastic Compute Cloud User Guide.
  2478. //
  2479. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2480. // with awserr.Error's Code and Message methods to get detailed information about
  2481. // the error.
  2482. //
  2483. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2484. // API operation CreateReservedInstancesListing for usage and error information.
  2485. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  2486. req, out := c.CreateReservedInstancesListingRequest(input)
  2487. err := req.Send()
  2488. return out, err
  2489. }
  2490. const opCreateRoute = "CreateRoute"
  2491. // CreateRouteRequest generates a "aws/request.Request" representing the
  2492. // client's request for the CreateRoute operation. The "output" return
  2493. // value can be used to capture response data after the request's "Send" method
  2494. // is called.
  2495. //
  2496. // See CreateRoute for usage and error information.
  2497. //
  2498. // Creating a request object using this method should be used when you want to inject
  2499. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2500. // access properties on the request object before or after sending the request. If
  2501. // you just want the service response, call the CreateRoute method directly
  2502. // instead.
  2503. //
  2504. // Note: You must call the "Send" method on the returned request object in order
  2505. // to execute the request.
  2506. //
  2507. // // Example sending a request using the CreateRouteRequest method.
  2508. // req, resp := client.CreateRouteRequest(params)
  2509. //
  2510. // err := req.Send()
  2511. // if err == nil { // resp is now filled
  2512. // fmt.Println(resp)
  2513. // }
  2514. //
  2515. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  2516. op := &request.Operation{
  2517. Name: opCreateRoute,
  2518. HTTPMethod: "POST",
  2519. HTTPPath: "/",
  2520. }
  2521. if input == nil {
  2522. input = &CreateRouteInput{}
  2523. }
  2524. req = c.newRequest(op, input, output)
  2525. output = &CreateRouteOutput{}
  2526. req.Data = output
  2527. return
  2528. }
  2529. // CreateRoute API operation for Amazon Elastic Compute Cloud.
  2530. //
  2531. // Creates a route in a route table within a VPC.
  2532. //
  2533. // You must specify one of the following targets: Internet gateway or virtual
  2534. // private gateway, NAT instance, NAT gateway, VPC peering connection, or network
  2535. // interface.
  2536. //
  2537. // When determining how to route traffic, we use the route with the most specific
  2538. // match. For example, let's say the traffic is destined for 192.0.2.3, and
  2539. // the route table includes the following two routes:
  2540. //
  2541. // * 192.0.2.0/24 (goes to some target A)
  2542. //
  2543. // * 192.0.2.0/28 (goes to some target B)
  2544. //
  2545. // Both routes apply to the traffic destined for 192.0.2.3. However, the second
  2546. // route in the list covers a smaller number of IP addresses and is therefore
  2547. // more specific, so we use that route to determine where to target the traffic.
  2548. //
  2549. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  2550. // in the Amazon Virtual Private Cloud User Guide.
  2551. //
  2552. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2553. // with awserr.Error's Code and Message methods to get detailed information about
  2554. // the error.
  2555. //
  2556. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2557. // API operation CreateRoute for usage and error information.
  2558. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  2559. req, out := c.CreateRouteRequest(input)
  2560. err := req.Send()
  2561. return out, err
  2562. }
  2563. const opCreateRouteTable = "CreateRouteTable"
  2564. // CreateRouteTableRequest generates a "aws/request.Request" representing the
  2565. // client's request for the CreateRouteTable operation. The "output" return
  2566. // value can be used to capture response data after the request's "Send" method
  2567. // is called.
  2568. //
  2569. // See CreateRouteTable for usage and error information.
  2570. //
  2571. // Creating a request object using this method should be used when you want to inject
  2572. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2573. // access properties on the request object before or after sending the request. If
  2574. // you just want the service response, call the CreateRouteTable method directly
  2575. // instead.
  2576. //
  2577. // Note: You must call the "Send" method on the returned request object in order
  2578. // to execute the request.
  2579. //
  2580. // // Example sending a request using the CreateRouteTableRequest method.
  2581. // req, resp := client.CreateRouteTableRequest(params)
  2582. //
  2583. // err := req.Send()
  2584. // if err == nil { // resp is now filled
  2585. // fmt.Println(resp)
  2586. // }
  2587. //
  2588. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  2589. op := &request.Operation{
  2590. Name: opCreateRouteTable,
  2591. HTTPMethod: "POST",
  2592. HTTPPath: "/",
  2593. }
  2594. if input == nil {
  2595. input = &CreateRouteTableInput{}
  2596. }
  2597. req = c.newRequest(op, input, output)
  2598. output = &CreateRouteTableOutput{}
  2599. req.Data = output
  2600. return
  2601. }
  2602. // CreateRouteTable API operation for Amazon Elastic Compute Cloud.
  2603. //
  2604. // Creates a route table for the specified VPC. After you create a route table,
  2605. // you can add routes and associate the table with a subnet.
  2606. //
  2607. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  2608. // in the Amazon Virtual Private Cloud User Guide.
  2609. //
  2610. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2611. // with awserr.Error's Code and Message methods to get detailed information about
  2612. // the error.
  2613. //
  2614. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2615. // API operation CreateRouteTable for usage and error information.
  2616. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  2617. req, out := c.CreateRouteTableRequest(input)
  2618. err := req.Send()
  2619. return out, err
  2620. }
  2621. const opCreateSecurityGroup = "CreateSecurityGroup"
  2622. // CreateSecurityGroupRequest generates a "aws/request.Request" representing the
  2623. // client's request for the CreateSecurityGroup operation. The "output" return
  2624. // value can be used to capture response data after the request's "Send" method
  2625. // is called.
  2626. //
  2627. // See CreateSecurityGroup for usage and error information.
  2628. //
  2629. // Creating a request object using this method should be used when you want to inject
  2630. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2631. // access properties on the request object before or after sending the request. If
  2632. // you just want the service response, call the CreateSecurityGroup method directly
  2633. // instead.
  2634. //
  2635. // Note: You must call the "Send" method on the returned request object in order
  2636. // to execute the request.
  2637. //
  2638. // // Example sending a request using the CreateSecurityGroupRequest method.
  2639. // req, resp := client.CreateSecurityGroupRequest(params)
  2640. //
  2641. // err := req.Send()
  2642. // if err == nil { // resp is now filled
  2643. // fmt.Println(resp)
  2644. // }
  2645. //
  2646. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  2647. op := &request.Operation{
  2648. Name: opCreateSecurityGroup,
  2649. HTTPMethod: "POST",
  2650. HTTPPath: "/",
  2651. }
  2652. if input == nil {
  2653. input = &CreateSecurityGroupInput{}
  2654. }
  2655. req = c.newRequest(op, input, output)
  2656. output = &CreateSecurityGroupOutput{}
  2657. req.Data = output
  2658. return
  2659. }
  2660. // CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
  2661. //
  2662. // Creates a security group.
  2663. //
  2664. // A security group is for use with instances either in the EC2-Classic platform
  2665. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  2666. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  2667. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  2668. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  2669. // in the Amazon Virtual Private Cloud User Guide.
  2670. //
  2671. // EC2-Classic: You can have up to 500 security groups.
  2672. //
  2673. // EC2-VPC: You can create up to 500 security groups per VPC.
  2674. //
  2675. // When you create a security group, you specify a friendly name of your choice.
  2676. // You can have a security group for use in EC2-Classic with the same name as
  2677. // a security group for use in a VPC. However, you can't have two security groups
  2678. // for use in EC2-Classic with the same name or two security groups for use
  2679. // in a VPC with the same name.
  2680. //
  2681. // You have a default security group for use in EC2-Classic and a default security
  2682. // group for use in your VPC. If you don't specify a security group when you
  2683. // launch an instance, the instance is launched into the appropriate default
  2684. // security group. A default security group includes a default rule that grants
  2685. // instances unrestricted network access to each other.
  2686. //
  2687. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  2688. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  2689. //
  2690. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2691. // with awserr.Error's Code and Message methods to get detailed information about
  2692. // the error.
  2693. //
  2694. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2695. // API operation CreateSecurityGroup for usage and error information.
  2696. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  2697. req, out := c.CreateSecurityGroupRequest(input)
  2698. err := req.Send()
  2699. return out, err
  2700. }
  2701. const opCreateSnapshot = "CreateSnapshot"
  2702. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  2703. // client's request for the CreateSnapshot operation. The "output" return
  2704. // value can be used to capture response data after the request's "Send" method
  2705. // is called.
  2706. //
  2707. // See CreateSnapshot for usage and error information.
  2708. //
  2709. // Creating a request object using this method should be used when you want to inject
  2710. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2711. // access properties on the request object before or after sending the request. If
  2712. // you just want the service response, call the CreateSnapshot method directly
  2713. // instead.
  2714. //
  2715. // Note: You must call the "Send" method on the returned request object in order
  2716. // to execute the request.
  2717. //
  2718. // // Example sending a request using the CreateSnapshotRequest method.
  2719. // req, resp := client.CreateSnapshotRequest(params)
  2720. //
  2721. // err := req.Send()
  2722. // if err == nil { // resp is now filled
  2723. // fmt.Println(resp)
  2724. // }
  2725. //
  2726. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  2727. op := &request.Operation{
  2728. Name: opCreateSnapshot,
  2729. HTTPMethod: "POST",
  2730. HTTPPath: "/",
  2731. }
  2732. if input == nil {
  2733. input = &CreateSnapshotInput{}
  2734. }
  2735. req = c.newRequest(op, input, output)
  2736. output = &Snapshot{}
  2737. req.Data = output
  2738. return
  2739. }
  2740. // CreateSnapshot API operation for Amazon Elastic Compute Cloud.
  2741. //
  2742. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  2743. // snapshots for backups, to make copies of EBS volumes, and to save data before
  2744. // shutting down an instance.
  2745. //
  2746. // When a snapshot is created, any AWS Marketplace product codes that are associated
  2747. // with the source volume are propagated to the snapshot.
  2748. //
  2749. // You can take a snapshot of an attached volume that is in use. However, snapshots
  2750. // only capture data that has been written to your EBS volume at the time the
  2751. // snapshot command is issued; this may exclude any data that has been cached
  2752. // by any applications or the operating system. If you can pause any file systems
  2753. // on the volume long enough to take a snapshot, your snapshot should be complete.
  2754. // However, if you cannot pause all file writes to the volume, you should unmount
  2755. // the volume from within the instance, issue the snapshot command, and then
  2756. // remount the volume to ensure a consistent and complete snapshot. You may
  2757. // remount and use your volume while the snapshot status is pending.
  2758. //
  2759. // To create a snapshot for EBS volumes that serve as root devices, you should
  2760. // stop the instance before taking the snapshot.
  2761. //
  2762. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  2763. // Volumes that are created from encrypted snapshots are also automatically
  2764. // encrypted. Your encrypted volumes and any associated snapshots always remain
  2765. // protected.
  2766. //
  2767. // For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  2768. // and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  2769. // in the Amazon Elastic Compute Cloud User Guide.
  2770. //
  2771. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2772. // with awserr.Error's Code and Message methods to get detailed information about
  2773. // the error.
  2774. //
  2775. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2776. // API operation CreateSnapshot for usage and error information.
  2777. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  2778. req, out := c.CreateSnapshotRequest(input)
  2779. err := req.Send()
  2780. return out, err
  2781. }
  2782. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  2783. // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  2784. // client's request for the CreateSpotDatafeedSubscription operation. The "output" return
  2785. // value can be used to capture response data after the request's "Send" method
  2786. // is called.
  2787. //
  2788. // See CreateSpotDatafeedSubscription for usage and error information.
  2789. //
  2790. // Creating a request object using this method should be used when you want to inject
  2791. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2792. // access properties on the request object before or after sending the request. If
  2793. // you just want the service response, call the CreateSpotDatafeedSubscription method directly
  2794. // instead.
  2795. //
  2796. // Note: You must call the "Send" method on the returned request object in order
  2797. // to execute the request.
  2798. //
  2799. // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
  2800. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
  2801. //
  2802. // err := req.Send()
  2803. // if err == nil { // resp is now filled
  2804. // fmt.Println(resp)
  2805. // }
  2806. //
  2807. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  2808. op := &request.Operation{
  2809. Name: opCreateSpotDatafeedSubscription,
  2810. HTTPMethod: "POST",
  2811. HTTPPath: "/",
  2812. }
  2813. if input == nil {
  2814. input = &CreateSpotDatafeedSubscriptionInput{}
  2815. }
  2816. req = c.newRequest(op, input, output)
  2817. output = &CreateSpotDatafeedSubscriptionOutput{}
  2818. req.Data = output
  2819. return
  2820. }
  2821. // CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  2822. //
  2823. // Creates a data feed for Spot instances, enabling you to view Spot instance
  2824. // usage logs. You can create one data feed per AWS account. For more information,
  2825. // see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  2826. // in the Amazon Elastic Compute Cloud User Guide.
  2827. //
  2828. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2829. // with awserr.Error's Code and Message methods to get detailed information about
  2830. // the error.
  2831. //
  2832. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2833. // API operation CreateSpotDatafeedSubscription for usage and error information.
  2834. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  2835. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  2836. err := req.Send()
  2837. return out, err
  2838. }
  2839. const opCreateSubnet = "CreateSubnet"
  2840. // CreateSubnetRequest generates a "aws/request.Request" representing the
  2841. // client's request for the CreateSubnet operation. The "output" return
  2842. // value can be used to capture response data after the request's "Send" method
  2843. // is called.
  2844. //
  2845. // See CreateSubnet for usage and error information.
  2846. //
  2847. // Creating a request object using this method should be used when you want to inject
  2848. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2849. // access properties on the request object before or after sending the request. If
  2850. // you just want the service response, call the CreateSubnet method directly
  2851. // instead.
  2852. //
  2853. // Note: You must call the "Send" method on the returned request object in order
  2854. // to execute the request.
  2855. //
  2856. // // Example sending a request using the CreateSubnetRequest method.
  2857. // req, resp := client.CreateSubnetRequest(params)
  2858. //
  2859. // err := req.Send()
  2860. // if err == nil { // resp is now filled
  2861. // fmt.Println(resp)
  2862. // }
  2863. //
  2864. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  2865. op := &request.Operation{
  2866. Name: opCreateSubnet,
  2867. HTTPMethod: "POST",
  2868. HTTPPath: "/",
  2869. }
  2870. if input == nil {
  2871. input = &CreateSubnetInput{}
  2872. }
  2873. req = c.newRequest(op, input, output)
  2874. output = &CreateSubnetOutput{}
  2875. req.Data = output
  2876. return
  2877. }
  2878. // CreateSubnet API operation for Amazon Elastic Compute Cloud.
  2879. //
  2880. // Creates a subnet in an existing VPC.
  2881. //
  2882. // When you create each subnet, you provide the VPC ID and the CIDR block you
  2883. // want for the subnet. After you create a subnet, you can't change its CIDR
  2884. // block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming
  2885. // you want only a single subnet in the VPC), or a subset of the VPC's CIDR
  2886. // block. If you create more than one subnet in a VPC, the subnets' CIDR blocks
  2887. // must not overlap. The smallest subnet (and VPC) you can create uses a /28
  2888. // netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP
  2889. // addresses).
  2890. //
  2891. // AWS reserves both the first four and the last IP address in each subnet's
  2892. // CIDR block. They're not available for use.
  2893. //
  2894. // If you add more than one subnet to a VPC, they're set up in a star topology
  2895. // with a logical router in the middle.
  2896. //
  2897. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  2898. // address doesn't change if you stop and restart the instance (unlike a similar
  2899. // instance launched outside a VPC, which gets a new IP address when restarted).
  2900. // It's therefore possible to have a subnet with no running instances (they're
  2901. // all stopped), but no remaining IP addresses available.
  2902. //
  2903. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  2904. // in the Amazon Virtual Private Cloud User Guide.
  2905. //
  2906. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2907. // with awserr.Error's Code and Message methods to get detailed information about
  2908. // the error.
  2909. //
  2910. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2911. // API operation CreateSubnet for usage and error information.
  2912. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  2913. req, out := c.CreateSubnetRequest(input)
  2914. err := req.Send()
  2915. return out, err
  2916. }
  2917. const opCreateTags = "CreateTags"
  2918. // CreateTagsRequest generates a "aws/request.Request" representing the
  2919. // client's request for the CreateTags operation. The "output" return
  2920. // value can be used to capture response data after the request's "Send" method
  2921. // is called.
  2922. //
  2923. // See CreateTags for usage and error information.
  2924. //
  2925. // Creating a request object using this method should be used when you want to inject
  2926. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2927. // access properties on the request object before or after sending the request. If
  2928. // you just want the service response, call the CreateTags method directly
  2929. // instead.
  2930. //
  2931. // Note: You must call the "Send" method on the returned request object in order
  2932. // to execute the request.
  2933. //
  2934. // // Example sending a request using the CreateTagsRequest method.
  2935. // req, resp := client.CreateTagsRequest(params)
  2936. //
  2937. // err := req.Send()
  2938. // if err == nil { // resp is now filled
  2939. // fmt.Println(resp)
  2940. // }
  2941. //
  2942. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  2943. op := &request.Operation{
  2944. Name: opCreateTags,
  2945. HTTPMethod: "POST",
  2946. HTTPPath: "/",
  2947. }
  2948. if input == nil {
  2949. input = &CreateTagsInput{}
  2950. }
  2951. req = c.newRequest(op, input, output)
  2952. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  2953. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2954. output = &CreateTagsOutput{}
  2955. req.Data = output
  2956. return
  2957. }
  2958. // CreateTags API operation for Amazon Elastic Compute Cloud.
  2959. //
  2960. // Adds or overwrites one or more tags for the specified Amazon EC2 resource
  2961. // or resources. Each resource can have a maximum of 50 tags. Each tag consists
  2962. // of a key and optional value. Tag keys must be unique per resource.
  2963. //
  2964. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  2965. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  2966. // creating IAM policies that control users' access to resources based on tags,
  2967. // see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
  2968. // in the Amazon Elastic Compute Cloud User Guide.
  2969. //
  2970. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2971. // with awserr.Error's Code and Message methods to get detailed information about
  2972. // the error.
  2973. //
  2974. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2975. // API operation CreateTags for usage and error information.
  2976. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  2977. req, out := c.CreateTagsRequest(input)
  2978. err := req.Send()
  2979. return out, err
  2980. }
  2981. const opCreateVolume = "CreateVolume"
  2982. // CreateVolumeRequest generates a "aws/request.Request" representing the
  2983. // client's request for the CreateVolume operation. The "output" return
  2984. // value can be used to capture response data after the request's "Send" method
  2985. // is called.
  2986. //
  2987. // See CreateVolume for usage and error information.
  2988. //
  2989. // Creating a request object using this method should be used when you want to inject
  2990. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2991. // access properties on the request object before or after sending the request. If
  2992. // you just want the service response, call the CreateVolume method directly
  2993. // instead.
  2994. //
  2995. // Note: You must call the "Send" method on the returned request object in order
  2996. // to execute the request.
  2997. //
  2998. // // Example sending a request using the CreateVolumeRequest method.
  2999. // req, resp := client.CreateVolumeRequest(params)
  3000. //
  3001. // err := req.Send()
  3002. // if err == nil { // resp is now filled
  3003. // fmt.Println(resp)
  3004. // }
  3005. //
  3006. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  3007. op := &request.Operation{
  3008. Name: opCreateVolume,
  3009. HTTPMethod: "POST",
  3010. HTTPPath: "/",
  3011. }
  3012. if input == nil {
  3013. input = &CreateVolumeInput{}
  3014. }
  3015. req = c.newRequest(op, input, output)
  3016. output = &Volume{}
  3017. req.Data = output
  3018. return
  3019. }
  3020. // CreateVolume API operation for Amazon Elastic Compute Cloud.
  3021. //
  3022. // Creates an EBS volume that can be attached to an instance in the same Availability
  3023. // Zone. The volume is created in the regional endpoint that you send the HTTP
  3024. // request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html).
  3025. //
  3026. // You can create a new empty volume or restore a volume from an EBS snapshot.
  3027. // Any AWS Marketplace product codes from the snapshot are propagated to the
  3028. // volume.
  3029. //
  3030. // You can create encrypted volumes with the Encrypted parameter. Encrypted
  3031. // volumes may only be attached to instances that support Amazon EBS encryption.
  3032. // Volumes that are created from encrypted snapshots are also automatically
  3033. // encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  3034. // in the Amazon Elastic Compute Cloud User Guide.
  3035. //
  3036. // For more information, see Creating or Restoring an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  3037. // in the Amazon Elastic Compute Cloud User Guide.
  3038. //
  3039. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3040. // with awserr.Error's Code and Message methods to get detailed information about
  3041. // the error.
  3042. //
  3043. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3044. // API operation CreateVolume for usage and error information.
  3045. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  3046. req, out := c.CreateVolumeRequest(input)
  3047. err := req.Send()
  3048. return out, err
  3049. }
  3050. const opCreateVpc = "CreateVpc"
  3051. // CreateVpcRequest generates a "aws/request.Request" representing the
  3052. // client's request for the CreateVpc operation. The "output" return
  3053. // value can be used to capture response data after the request's "Send" method
  3054. // is called.
  3055. //
  3056. // See CreateVpc for usage and error information.
  3057. //
  3058. // Creating a request object using this method should be used when you want to inject
  3059. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3060. // access properties on the request object before or after sending the request. If
  3061. // you just want the service response, call the CreateVpc method directly
  3062. // instead.
  3063. //
  3064. // Note: You must call the "Send" method on the returned request object in order
  3065. // to execute the request.
  3066. //
  3067. // // Example sending a request using the CreateVpcRequest method.
  3068. // req, resp := client.CreateVpcRequest(params)
  3069. //
  3070. // err := req.Send()
  3071. // if err == nil { // resp is now filled
  3072. // fmt.Println(resp)
  3073. // }
  3074. //
  3075. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  3076. op := &request.Operation{
  3077. Name: opCreateVpc,
  3078. HTTPMethod: "POST",
  3079. HTTPPath: "/",
  3080. }
  3081. if input == nil {
  3082. input = &CreateVpcInput{}
  3083. }
  3084. req = c.newRequest(op, input, output)
  3085. output = &CreateVpcOutput{}
  3086. req.Data = output
  3087. return
  3088. }
  3089. // CreateVpc API operation for Amazon Elastic Compute Cloud.
  3090. //
  3091. // Creates a VPC with the specified CIDR block.
  3092. //
  3093. // The smallest VPC you can create uses a /28 netmask (16 IP addresses), and
  3094. // the largest uses a /16 netmask (65,536 IP addresses). To help you decide
  3095. // how big to make your VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  3096. // in the Amazon Virtual Private Cloud User Guide.
  3097. //
  3098. // By default, each instance you launch in the VPC has the default DHCP options,
  3099. // which includes only a default DNS server that we provide (AmazonProvidedDNS).
  3100. // For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  3101. // in the Amazon Virtual Private Cloud User Guide.
  3102. //
  3103. // You can specify the instance tenancy value for the VPC when you create it.
  3104. // You can't change this value for the VPC after you create it. For more information,
  3105. // see Dedicated Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html.html)
  3106. // in the Amazon Virtual Private Cloud User Guide.
  3107. //
  3108. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3109. // with awserr.Error's Code and Message methods to get detailed information about
  3110. // the error.
  3111. //
  3112. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3113. // API operation CreateVpc for usage and error information.
  3114. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  3115. req, out := c.CreateVpcRequest(input)
  3116. err := req.Send()
  3117. return out, err
  3118. }
  3119. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  3120. // CreateVpcEndpointRequest generates a "aws/request.Request" representing the
  3121. // client's request for the CreateVpcEndpoint operation. The "output" return
  3122. // value can be used to capture response data after the request's "Send" method
  3123. // is called.
  3124. //
  3125. // See CreateVpcEndpoint for usage and error information.
  3126. //
  3127. // Creating a request object using this method should be used when you want to inject
  3128. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3129. // access properties on the request object before or after sending the request. If
  3130. // you just want the service response, call the CreateVpcEndpoint method directly
  3131. // instead.
  3132. //
  3133. // Note: You must call the "Send" method on the returned request object in order
  3134. // to execute the request.
  3135. //
  3136. // // Example sending a request using the CreateVpcEndpointRequest method.
  3137. // req, resp := client.CreateVpcEndpointRequest(params)
  3138. //
  3139. // err := req.Send()
  3140. // if err == nil { // resp is now filled
  3141. // fmt.Println(resp)
  3142. // }
  3143. //
  3144. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  3145. op := &request.Operation{
  3146. Name: opCreateVpcEndpoint,
  3147. HTTPMethod: "POST",
  3148. HTTPPath: "/",
  3149. }
  3150. if input == nil {
  3151. input = &CreateVpcEndpointInput{}
  3152. }
  3153. req = c.newRequest(op, input, output)
  3154. output = &CreateVpcEndpointOutput{}
  3155. req.Data = output
  3156. return
  3157. }
  3158. // CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  3159. //
  3160. // Creates a VPC endpoint for a specified AWS service. An endpoint enables you
  3161. // to create a private connection between your VPC and another AWS service in
  3162. // your account. You can specify an endpoint policy to attach to the endpoint
  3163. // that will control access to the service from your VPC. You can also specify
  3164. // the VPC route tables that use the endpoint.
  3165. //
  3166. // Currently, only endpoints to Amazon S3 are supported.
  3167. //
  3168. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3169. // with awserr.Error's Code and Message methods to get detailed information about
  3170. // the error.
  3171. //
  3172. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3173. // API operation CreateVpcEndpoint for usage and error information.
  3174. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  3175. req, out := c.CreateVpcEndpointRequest(input)
  3176. err := req.Send()
  3177. return out, err
  3178. }
  3179. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  3180. // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  3181. // client's request for the CreateVpcPeeringConnection operation. The "output" return
  3182. // value can be used to capture response data after the request's "Send" method
  3183. // is called.
  3184. //
  3185. // See CreateVpcPeeringConnection for usage and error information.
  3186. //
  3187. // Creating a request object using this method should be used when you want to inject
  3188. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3189. // access properties on the request object before or after sending the request. If
  3190. // you just want the service response, call the CreateVpcPeeringConnection method directly
  3191. // instead.
  3192. //
  3193. // Note: You must call the "Send" method on the returned request object in order
  3194. // to execute the request.
  3195. //
  3196. // // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  3197. // req, resp := client.CreateVpcPeeringConnectionRequest(params)
  3198. //
  3199. // err := req.Send()
  3200. // if err == nil { // resp is now filled
  3201. // fmt.Println(resp)
  3202. // }
  3203. //
  3204. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  3205. op := &request.Operation{
  3206. Name: opCreateVpcPeeringConnection,
  3207. HTTPMethod: "POST",
  3208. HTTPPath: "/",
  3209. }
  3210. if input == nil {
  3211. input = &CreateVpcPeeringConnectionInput{}
  3212. }
  3213. req = c.newRequest(op, input, output)
  3214. output = &CreateVpcPeeringConnectionOutput{}
  3215. req.Data = output
  3216. return
  3217. }
  3218. // CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  3219. //
  3220. // Requests a VPC peering connection between two VPCs: a requester VPC that
  3221. // you own and a peer VPC with which to create the connection. The peer VPC
  3222. // can belong to another AWS account. The requester VPC and peer VPC cannot
  3223. // have overlapping CIDR blocks.
  3224. //
  3225. // The owner of the peer VPC must accept the peering request to activate the
  3226. // peering connection. The VPC peering connection request expires after 7 days,
  3227. // after which it cannot be accepted or rejected.
  3228. //
  3229. // A CreateVpcPeeringConnection request between VPCs with overlapping CIDR blocks
  3230. // results in the VPC peering connection having a status of failed.
  3231. //
  3232. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3233. // with awserr.Error's Code and Message methods to get detailed information about
  3234. // the error.
  3235. //
  3236. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3237. // API operation CreateVpcPeeringConnection for usage and error information.
  3238. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  3239. req, out := c.CreateVpcPeeringConnectionRequest(input)
  3240. err := req.Send()
  3241. return out, err
  3242. }
  3243. const opCreateVpnConnection = "CreateVpnConnection"
  3244. // CreateVpnConnectionRequest generates a "aws/request.Request" representing the
  3245. // client's request for the CreateVpnConnection operation. The "output" return
  3246. // value can be used to capture response data after the request's "Send" method
  3247. // is called.
  3248. //
  3249. // See CreateVpnConnection for usage and error information.
  3250. //
  3251. // Creating a request object using this method should be used when you want to inject
  3252. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3253. // access properties on the request object before or after sending the request. If
  3254. // you just want the service response, call the CreateVpnConnection method directly
  3255. // instead.
  3256. //
  3257. // Note: You must call the "Send" method on the returned request object in order
  3258. // to execute the request.
  3259. //
  3260. // // Example sending a request using the CreateVpnConnectionRequest method.
  3261. // req, resp := client.CreateVpnConnectionRequest(params)
  3262. //
  3263. // err := req.Send()
  3264. // if err == nil { // resp is now filled
  3265. // fmt.Println(resp)
  3266. // }
  3267. //
  3268. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  3269. op := &request.Operation{
  3270. Name: opCreateVpnConnection,
  3271. HTTPMethod: "POST",
  3272. HTTPPath: "/",
  3273. }
  3274. if input == nil {
  3275. input = &CreateVpnConnectionInput{}
  3276. }
  3277. req = c.newRequest(op, input, output)
  3278. output = &CreateVpnConnectionOutput{}
  3279. req.Data = output
  3280. return
  3281. }
  3282. // CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
  3283. //
  3284. // Creates a VPN connection between an existing virtual private gateway and
  3285. // a VPN customer gateway. The only supported connection type is ipsec.1.
  3286. //
  3287. // The response includes information that you need to give to your network administrator
  3288. // to configure your customer gateway.
  3289. //
  3290. // We strongly recommend that you use HTTPS when calling this operation because
  3291. // the response contains sensitive cryptographic information for configuring
  3292. // your customer gateway.
  3293. //
  3294. // If you decide to shut down your VPN connection for any reason and later create
  3295. // a new VPN connection, you must reconfigure your customer gateway with the
  3296. // new information returned from this call.
  3297. //
  3298. // This is an idempotent operation. If you perform the operation more than once,
  3299. // Amazon EC2 doesn't return an error.
  3300. //
  3301. // For more information about VPN connections, see Adding a Hardware Virtual
  3302. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  3303. // in the Amazon Virtual Private Cloud User Guide.
  3304. //
  3305. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3306. // with awserr.Error's Code and Message methods to get detailed information about
  3307. // the error.
  3308. //
  3309. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3310. // API operation CreateVpnConnection for usage and error information.
  3311. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  3312. req, out := c.CreateVpnConnectionRequest(input)
  3313. err := req.Send()
  3314. return out, err
  3315. }
  3316. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  3317. // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  3318. // client's request for the CreateVpnConnectionRoute operation. The "output" return
  3319. // value can be used to capture response data after the request's "Send" method
  3320. // is called.
  3321. //
  3322. // See CreateVpnConnectionRoute for usage and error information.
  3323. //
  3324. // Creating a request object using this method should be used when you want to inject
  3325. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3326. // access properties on the request object before or after sending the request. If
  3327. // you just want the service response, call the CreateVpnConnectionRoute method directly
  3328. // instead.
  3329. //
  3330. // Note: You must call the "Send" method on the returned request object in order
  3331. // to execute the request.
  3332. //
  3333. // // Example sending a request using the CreateVpnConnectionRouteRequest method.
  3334. // req, resp := client.CreateVpnConnectionRouteRequest(params)
  3335. //
  3336. // err := req.Send()
  3337. // if err == nil { // resp is now filled
  3338. // fmt.Println(resp)
  3339. // }
  3340. //
  3341. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  3342. op := &request.Operation{
  3343. Name: opCreateVpnConnectionRoute,
  3344. HTTPMethod: "POST",
  3345. HTTPPath: "/",
  3346. }
  3347. if input == nil {
  3348. input = &CreateVpnConnectionRouteInput{}
  3349. }
  3350. req = c.newRequest(op, input, output)
  3351. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3352. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3353. output = &CreateVpnConnectionRouteOutput{}
  3354. req.Data = output
  3355. return
  3356. }
  3357. // CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  3358. //
  3359. // Creates a static route associated with a VPN connection between an existing
  3360. // virtual private gateway and a VPN customer gateway. The static route allows
  3361. // traffic to be routed from the virtual private gateway to the VPN customer
  3362. // gateway.
  3363. //
  3364. // For more information about VPN connections, see Adding a Hardware Virtual
  3365. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  3366. // in the Amazon Virtual Private Cloud User Guide.
  3367. //
  3368. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3369. // with awserr.Error's Code and Message methods to get detailed information about
  3370. // the error.
  3371. //
  3372. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3373. // API operation CreateVpnConnectionRoute for usage and error information.
  3374. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  3375. req, out := c.CreateVpnConnectionRouteRequest(input)
  3376. err := req.Send()
  3377. return out, err
  3378. }
  3379. const opCreateVpnGateway = "CreateVpnGateway"
  3380. // CreateVpnGatewayRequest generates a "aws/request.Request" representing the
  3381. // client's request for the CreateVpnGateway operation. The "output" return
  3382. // value can be used to capture response data after the request's "Send" method
  3383. // is called.
  3384. //
  3385. // See CreateVpnGateway for usage and error information.
  3386. //
  3387. // Creating a request object using this method should be used when you want to inject
  3388. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3389. // access properties on the request object before or after sending the request. If
  3390. // you just want the service response, call the CreateVpnGateway method directly
  3391. // instead.
  3392. //
  3393. // Note: You must call the "Send" method on the returned request object in order
  3394. // to execute the request.
  3395. //
  3396. // // Example sending a request using the CreateVpnGatewayRequest method.
  3397. // req, resp := client.CreateVpnGatewayRequest(params)
  3398. //
  3399. // err := req.Send()
  3400. // if err == nil { // resp is now filled
  3401. // fmt.Println(resp)
  3402. // }
  3403. //
  3404. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  3405. op := &request.Operation{
  3406. Name: opCreateVpnGateway,
  3407. HTTPMethod: "POST",
  3408. HTTPPath: "/",
  3409. }
  3410. if input == nil {
  3411. input = &CreateVpnGatewayInput{}
  3412. }
  3413. req = c.newRequest(op, input, output)
  3414. output = &CreateVpnGatewayOutput{}
  3415. req.Data = output
  3416. return
  3417. }
  3418. // CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
  3419. //
  3420. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  3421. // on the VPC side of your VPN connection. You can create a virtual private
  3422. // gateway before creating the VPC itself.
  3423. //
  3424. // For more information about virtual private gateways, see Adding a Hardware
  3425. // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  3426. // in the Amazon Virtual Private Cloud User Guide.
  3427. //
  3428. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3429. // with awserr.Error's Code and Message methods to get detailed information about
  3430. // the error.
  3431. //
  3432. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3433. // API operation CreateVpnGateway for usage and error information.
  3434. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  3435. req, out := c.CreateVpnGatewayRequest(input)
  3436. err := req.Send()
  3437. return out, err
  3438. }
  3439. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  3440. // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
  3441. // client's request for the DeleteCustomerGateway operation. The "output" return
  3442. // value can be used to capture response data after the request's "Send" method
  3443. // is called.
  3444. //
  3445. // See DeleteCustomerGateway for usage and error information.
  3446. //
  3447. // Creating a request object using this method should be used when you want to inject
  3448. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3449. // access properties on the request object before or after sending the request. If
  3450. // you just want the service response, call the DeleteCustomerGateway method directly
  3451. // instead.
  3452. //
  3453. // Note: You must call the "Send" method on the returned request object in order
  3454. // to execute the request.
  3455. //
  3456. // // Example sending a request using the DeleteCustomerGatewayRequest method.
  3457. // req, resp := client.DeleteCustomerGatewayRequest(params)
  3458. //
  3459. // err := req.Send()
  3460. // if err == nil { // resp is now filled
  3461. // fmt.Println(resp)
  3462. // }
  3463. //
  3464. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  3465. op := &request.Operation{
  3466. Name: opDeleteCustomerGateway,
  3467. HTTPMethod: "POST",
  3468. HTTPPath: "/",
  3469. }
  3470. if input == nil {
  3471. input = &DeleteCustomerGatewayInput{}
  3472. }
  3473. req = c.newRequest(op, input, output)
  3474. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3475. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3476. output = &DeleteCustomerGatewayOutput{}
  3477. req.Data = output
  3478. return
  3479. }
  3480. // DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
  3481. //
  3482. // Deletes the specified customer gateway. You must delete the VPN connection
  3483. // before you can delete the customer gateway.
  3484. //
  3485. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3486. // with awserr.Error's Code and Message methods to get detailed information about
  3487. // the error.
  3488. //
  3489. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3490. // API operation DeleteCustomerGateway for usage and error information.
  3491. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  3492. req, out := c.DeleteCustomerGatewayRequest(input)
  3493. err := req.Send()
  3494. return out, err
  3495. }
  3496. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  3497. // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
  3498. // client's request for the DeleteDhcpOptions operation. The "output" return
  3499. // value can be used to capture response data after the request's "Send" method
  3500. // is called.
  3501. //
  3502. // See DeleteDhcpOptions for usage and error information.
  3503. //
  3504. // Creating a request object using this method should be used when you want to inject
  3505. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3506. // access properties on the request object before or after sending the request. If
  3507. // you just want the service response, call the DeleteDhcpOptions method directly
  3508. // instead.
  3509. //
  3510. // Note: You must call the "Send" method on the returned request object in order
  3511. // to execute the request.
  3512. //
  3513. // // Example sending a request using the DeleteDhcpOptionsRequest method.
  3514. // req, resp := client.DeleteDhcpOptionsRequest(params)
  3515. //
  3516. // err := req.Send()
  3517. // if err == nil { // resp is now filled
  3518. // fmt.Println(resp)
  3519. // }
  3520. //
  3521. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  3522. op := &request.Operation{
  3523. Name: opDeleteDhcpOptions,
  3524. HTTPMethod: "POST",
  3525. HTTPPath: "/",
  3526. }
  3527. if input == nil {
  3528. input = &DeleteDhcpOptionsInput{}
  3529. }
  3530. req = c.newRequest(op, input, output)
  3531. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3532. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3533. output = &DeleteDhcpOptionsOutput{}
  3534. req.Data = output
  3535. return
  3536. }
  3537. // DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
  3538. //
  3539. // Deletes the specified set of DHCP options. You must disassociate the set
  3540. // of DHCP options before you can delete it. You can disassociate the set of
  3541. // DHCP options by associating either a new set of options or the default set
  3542. // of options with the VPC.
  3543. //
  3544. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3545. // with awserr.Error's Code and Message methods to get detailed information about
  3546. // the error.
  3547. //
  3548. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3549. // API operation DeleteDhcpOptions for usage and error information.
  3550. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  3551. req, out := c.DeleteDhcpOptionsRequest(input)
  3552. err := req.Send()
  3553. return out, err
  3554. }
  3555. const opDeleteFlowLogs = "DeleteFlowLogs"
  3556. // DeleteFlowLogsRequest generates a "aws/request.Request" representing the
  3557. // client's request for the DeleteFlowLogs operation. The "output" return
  3558. // value can be used to capture response data after the request's "Send" method
  3559. // is called.
  3560. //
  3561. // See DeleteFlowLogs for usage and error information.
  3562. //
  3563. // Creating a request object using this method should be used when you want to inject
  3564. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3565. // access properties on the request object before or after sending the request. If
  3566. // you just want the service response, call the DeleteFlowLogs method directly
  3567. // instead.
  3568. //
  3569. // Note: You must call the "Send" method on the returned request object in order
  3570. // to execute the request.
  3571. //
  3572. // // Example sending a request using the DeleteFlowLogsRequest method.
  3573. // req, resp := client.DeleteFlowLogsRequest(params)
  3574. //
  3575. // err := req.Send()
  3576. // if err == nil { // resp is now filled
  3577. // fmt.Println(resp)
  3578. // }
  3579. //
  3580. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  3581. op := &request.Operation{
  3582. Name: opDeleteFlowLogs,
  3583. HTTPMethod: "POST",
  3584. HTTPPath: "/",
  3585. }
  3586. if input == nil {
  3587. input = &DeleteFlowLogsInput{}
  3588. }
  3589. req = c.newRequest(op, input, output)
  3590. output = &DeleteFlowLogsOutput{}
  3591. req.Data = output
  3592. return
  3593. }
  3594. // DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
  3595. //
  3596. // Deletes one or more flow logs.
  3597. //
  3598. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3599. // with awserr.Error's Code and Message methods to get detailed information about
  3600. // the error.
  3601. //
  3602. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3603. // API operation DeleteFlowLogs for usage and error information.
  3604. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  3605. req, out := c.DeleteFlowLogsRequest(input)
  3606. err := req.Send()
  3607. return out, err
  3608. }
  3609. const opDeleteInternetGateway = "DeleteInternetGateway"
  3610. // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
  3611. // client's request for the DeleteInternetGateway operation. The "output" return
  3612. // value can be used to capture response data after the request's "Send" method
  3613. // is called.
  3614. //
  3615. // See DeleteInternetGateway for usage and error information.
  3616. //
  3617. // Creating a request object using this method should be used when you want to inject
  3618. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3619. // access properties on the request object before or after sending the request. If
  3620. // you just want the service response, call the DeleteInternetGateway method directly
  3621. // instead.
  3622. //
  3623. // Note: You must call the "Send" method on the returned request object in order
  3624. // to execute the request.
  3625. //
  3626. // // Example sending a request using the DeleteInternetGatewayRequest method.
  3627. // req, resp := client.DeleteInternetGatewayRequest(params)
  3628. //
  3629. // err := req.Send()
  3630. // if err == nil { // resp is now filled
  3631. // fmt.Println(resp)
  3632. // }
  3633. //
  3634. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  3635. op := &request.Operation{
  3636. Name: opDeleteInternetGateway,
  3637. HTTPMethod: "POST",
  3638. HTTPPath: "/",
  3639. }
  3640. if input == nil {
  3641. input = &DeleteInternetGatewayInput{}
  3642. }
  3643. req = c.newRequest(op, input, output)
  3644. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3645. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3646. output = &DeleteInternetGatewayOutput{}
  3647. req.Data = output
  3648. return
  3649. }
  3650. // DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
  3651. //
  3652. // Deletes the specified Internet gateway. You must detach the Internet gateway
  3653. // from the VPC before you can delete it.
  3654. //
  3655. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3656. // with awserr.Error's Code and Message methods to get detailed information about
  3657. // the error.
  3658. //
  3659. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3660. // API operation DeleteInternetGateway for usage and error information.
  3661. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  3662. req, out := c.DeleteInternetGatewayRequest(input)
  3663. err := req.Send()
  3664. return out, err
  3665. }
  3666. const opDeleteKeyPair = "DeleteKeyPair"
  3667. // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  3668. // client's request for the DeleteKeyPair operation. The "output" return
  3669. // value can be used to capture response data after the request's "Send" method
  3670. // is called.
  3671. //
  3672. // See DeleteKeyPair for usage and error information.
  3673. //
  3674. // Creating a request object using this method should be used when you want to inject
  3675. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3676. // access properties on the request object before or after sending the request. If
  3677. // you just want the service response, call the DeleteKeyPair method directly
  3678. // instead.
  3679. //
  3680. // Note: You must call the "Send" method on the returned request object in order
  3681. // to execute the request.
  3682. //
  3683. // // Example sending a request using the DeleteKeyPairRequest method.
  3684. // req, resp := client.DeleteKeyPairRequest(params)
  3685. //
  3686. // err := req.Send()
  3687. // if err == nil { // resp is now filled
  3688. // fmt.Println(resp)
  3689. // }
  3690. //
  3691. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  3692. op := &request.Operation{
  3693. Name: opDeleteKeyPair,
  3694. HTTPMethod: "POST",
  3695. HTTPPath: "/",
  3696. }
  3697. if input == nil {
  3698. input = &DeleteKeyPairInput{}
  3699. }
  3700. req = c.newRequest(op, input, output)
  3701. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3702. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3703. output = &DeleteKeyPairOutput{}
  3704. req.Data = output
  3705. return
  3706. }
  3707. // DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
  3708. //
  3709. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  3710. //
  3711. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3712. // with awserr.Error's Code and Message methods to get detailed information about
  3713. // the error.
  3714. //
  3715. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3716. // API operation DeleteKeyPair for usage and error information.
  3717. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  3718. req, out := c.DeleteKeyPairRequest(input)
  3719. err := req.Send()
  3720. return out, err
  3721. }
  3722. const opDeleteNatGateway = "DeleteNatGateway"
  3723. // DeleteNatGatewayRequest generates a "aws/request.Request" representing the
  3724. // client's request for the DeleteNatGateway operation. The "output" return
  3725. // value can be used to capture response data after the request's "Send" method
  3726. // is called.
  3727. //
  3728. // See DeleteNatGateway for usage and error information.
  3729. //
  3730. // Creating a request object using this method should be used when you want to inject
  3731. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3732. // access properties on the request object before or after sending the request. If
  3733. // you just want the service response, call the DeleteNatGateway method directly
  3734. // instead.
  3735. //
  3736. // Note: You must call the "Send" method on the returned request object in order
  3737. // to execute the request.
  3738. //
  3739. // // Example sending a request using the DeleteNatGatewayRequest method.
  3740. // req, resp := client.DeleteNatGatewayRequest(params)
  3741. //
  3742. // err := req.Send()
  3743. // if err == nil { // resp is now filled
  3744. // fmt.Println(resp)
  3745. // }
  3746. //
  3747. func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
  3748. op := &request.Operation{
  3749. Name: opDeleteNatGateway,
  3750. HTTPMethod: "POST",
  3751. HTTPPath: "/",
  3752. }
  3753. if input == nil {
  3754. input = &DeleteNatGatewayInput{}
  3755. }
  3756. req = c.newRequest(op, input, output)
  3757. output = &DeleteNatGatewayOutput{}
  3758. req.Data = output
  3759. return
  3760. }
  3761. // DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
  3762. //
  3763. // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
  3764. // Elastic IP address, but does not release the address from your account. Deleting
  3765. // a NAT gateway does not delete any NAT gateway routes in your route tables.
  3766. //
  3767. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3768. // with awserr.Error's Code and Message methods to get detailed information about
  3769. // the error.
  3770. //
  3771. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3772. // API operation DeleteNatGateway for usage and error information.
  3773. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
  3774. req, out := c.DeleteNatGatewayRequest(input)
  3775. err := req.Send()
  3776. return out, err
  3777. }
  3778. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  3779. // DeleteNetworkAclRequest generates a "aws/request.Request" representing the
  3780. // client's request for the DeleteNetworkAcl operation. The "output" return
  3781. // value can be used to capture response data after the request's "Send" method
  3782. // is called.
  3783. //
  3784. // See DeleteNetworkAcl for usage and error information.
  3785. //
  3786. // Creating a request object using this method should be used when you want to inject
  3787. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3788. // access properties on the request object before or after sending the request. If
  3789. // you just want the service response, call the DeleteNetworkAcl method directly
  3790. // instead.
  3791. //
  3792. // Note: You must call the "Send" method on the returned request object in order
  3793. // to execute the request.
  3794. //
  3795. // // Example sending a request using the DeleteNetworkAclRequest method.
  3796. // req, resp := client.DeleteNetworkAclRequest(params)
  3797. //
  3798. // err := req.Send()
  3799. // if err == nil { // resp is now filled
  3800. // fmt.Println(resp)
  3801. // }
  3802. //
  3803. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  3804. op := &request.Operation{
  3805. Name: opDeleteNetworkAcl,
  3806. HTTPMethod: "POST",
  3807. HTTPPath: "/",
  3808. }
  3809. if input == nil {
  3810. input = &DeleteNetworkAclInput{}
  3811. }
  3812. req = c.newRequest(op, input, output)
  3813. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3814. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3815. output = &DeleteNetworkAclOutput{}
  3816. req.Data = output
  3817. return
  3818. }
  3819. // DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
  3820. //
  3821. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  3822. // with any subnets. You can't delete the default network ACL.
  3823. //
  3824. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3825. // with awserr.Error's Code and Message methods to get detailed information about
  3826. // the error.
  3827. //
  3828. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3829. // API operation DeleteNetworkAcl for usage and error information.
  3830. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  3831. req, out := c.DeleteNetworkAclRequest(input)
  3832. err := req.Send()
  3833. return out, err
  3834. }
  3835. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  3836. // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
  3837. // client's request for the DeleteNetworkAclEntry operation. The "output" return
  3838. // value can be used to capture response data after the request's "Send" method
  3839. // is called.
  3840. //
  3841. // See DeleteNetworkAclEntry for usage and error information.
  3842. //
  3843. // Creating a request object using this method should be used when you want to inject
  3844. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3845. // access properties on the request object before or after sending the request. If
  3846. // you just want the service response, call the DeleteNetworkAclEntry method directly
  3847. // instead.
  3848. //
  3849. // Note: You must call the "Send" method on the returned request object in order
  3850. // to execute the request.
  3851. //
  3852. // // Example sending a request using the DeleteNetworkAclEntryRequest method.
  3853. // req, resp := client.DeleteNetworkAclEntryRequest(params)
  3854. //
  3855. // err := req.Send()
  3856. // if err == nil { // resp is now filled
  3857. // fmt.Println(resp)
  3858. // }
  3859. //
  3860. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  3861. op := &request.Operation{
  3862. Name: opDeleteNetworkAclEntry,
  3863. HTTPMethod: "POST",
  3864. HTTPPath: "/",
  3865. }
  3866. if input == nil {
  3867. input = &DeleteNetworkAclEntryInput{}
  3868. }
  3869. req = c.newRequest(op, input, output)
  3870. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3871. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3872. output = &DeleteNetworkAclEntryOutput{}
  3873. req.Data = output
  3874. return
  3875. }
  3876. // DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  3877. //
  3878. // Deletes the specified ingress or egress entry (rule) from the specified network
  3879. // ACL.
  3880. //
  3881. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3882. // with awserr.Error's Code and Message methods to get detailed information about
  3883. // the error.
  3884. //
  3885. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3886. // API operation DeleteNetworkAclEntry for usage and error information.
  3887. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  3888. req, out := c.DeleteNetworkAclEntryRequest(input)
  3889. err := req.Send()
  3890. return out, err
  3891. }
  3892. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  3893. // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
  3894. // client's request for the DeleteNetworkInterface operation. The "output" return
  3895. // value can be used to capture response data after the request's "Send" method
  3896. // is called.
  3897. //
  3898. // See DeleteNetworkInterface for usage and error information.
  3899. //
  3900. // Creating a request object using this method should be used when you want to inject
  3901. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3902. // access properties on the request object before or after sending the request. If
  3903. // you just want the service response, call the DeleteNetworkInterface method directly
  3904. // instead.
  3905. //
  3906. // Note: You must call the "Send" method on the returned request object in order
  3907. // to execute the request.
  3908. //
  3909. // // Example sending a request using the DeleteNetworkInterfaceRequest method.
  3910. // req, resp := client.DeleteNetworkInterfaceRequest(params)
  3911. //
  3912. // err := req.Send()
  3913. // if err == nil { // resp is now filled
  3914. // fmt.Println(resp)
  3915. // }
  3916. //
  3917. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  3918. op := &request.Operation{
  3919. Name: opDeleteNetworkInterface,
  3920. HTTPMethod: "POST",
  3921. HTTPPath: "/",
  3922. }
  3923. if input == nil {
  3924. input = &DeleteNetworkInterfaceInput{}
  3925. }
  3926. req = c.newRequest(op, input, output)
  3927. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3928. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3929. output = &DeleteNetworkInterfaceOutput{}
  3930. req.Data = output
  3931. return
  3932. }
  3933. // DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
  3934. //
  3935. // Deletes the specified network interface. You must detach the network interface
  3936. // before you can delete it.
  3937. //
  3938. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3939. // with awserr.Error's Code and Message methods to get detailed information about
  3940. // the error.
  3941. //
  3942. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3943. // API operation DeleteNetworkInterface for usage and error information.
  3944. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  3945. req, out := c.DeleteNetworkInterfaceRequest(input)
  3946. err := req.Send()
  3947. return out, err
  3948. }
  3949. const opDeletePlacementGroup = "DeletePlacementGroup"
  3950. // DeletePlacementGroupRequest generates a "aws/request.Request" representing the
  3951. // client's request for the DeletePlacementGroup operation. The "output" return
  3952. // value can be used to capture response data after the request's "Send" method
  3953. // is called.
  3954. //
  3955. // See DeletePlacementGroup for usage and error information.
  3956. //
  3957. // Creating a request object using this method should be used when you want to inject
  3958. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3959. // access properties on the request object before or after sending the request. If
  3960. // you just want the service response, call the DeletePlacementGroup method directly
  3961. // instead.
  3962. //
  3963. // Note: You must call the "Send" method on the returned request object in order
  3964. // to execute the request.
  3965. //
  3966. // // Example sending a request using the DeletePlacementGroupRequest method.
  3967. // req, resp := client.DeletePlacementGroupRequest(params)
  3968. //
  3969. // err := req.Send()
  3970. // if err == nil { // resp is now filled
  3971. // fmt.Println(resp)
  3972. // }
  3973. //
  3974. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  3975. op := &request.Operation{
  3976. Name: opDeletePlacementGroup,
  3977. HTTPMethod: "POST",
  3978. HTTPPath: "/",
  3979. }
  3980. if input == nil {
  3981. input = &DeletePlacementGroupInput{}
  3982. }
  3983. req = c.newRequest(op, input, output)
  3984. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3985. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3986. output = &DeletePlacementGroupOutput{}
  3987. req.Data = output
  3988. return
  3989. }
  3990. // DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
  3991. //
  3992. // Deletes the specified placement group. You must terminate all instances in
  3993. // the placement group before you can delete the placement group. For more information
  3994. // about placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  3995. // in the Amazon Elastic Compute Cloud User Guide.
  3996. //
  3997. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3998. // with awserr.Error's Code and Message methods to get detailed information about
  3999. // the error.
  4000. //
  4001. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4002. // API operation DeletePlacementGroup for usage and error information.
  4003. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  4004. req, out := c.DeletePlacementGroupRequest(input)
  4005. err := req.Send()
  4006. return out, err
  4007. }
  4008. const opDeleteRoute = "DeleteRoute"
  4009. // DeleteRouteRequest generates a "aws/request.Request" representing the
  4010. // client's request for the DeleteRoute operation. The "output" return
  4011. // value can be used to capture response data after the request's "Send" method
  4012. // is called.
  4013. //
  4014. // See DeleteRoute for usage and error information.
  4015. //
  4016. // Creating a request object using this method should be used when you want to inject
  4017. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4018. // access properties on the request object before or after sending the request. If
  4019. // you just want the service response, call the DeleteRoute method directly
  4020. // instead.
  4021. //
  4022. // Note: You must call the "Send" method on the returned request object in order
  4023. // to execute the request.
  4024. //
  4025. // // Example sending a request using the DeleteRouteRequest method.
  4026. // req, resp := client.DeleteRouteRequest(params)
  4027. //
  4028. // err := req.Send()
  4029. // if err == nil { // resp is now filled
  4030. // fmt.Println(resp)
  4031. // }
  4032. //
  4033. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  4034. op := &request.Operation{
  4035. Name: opDeleteRoute,
  4036. HTTPMethod: "POST",
  4037. HTTPPath: "/",
  4038. }
  4039. if input == nil {
  4040. input = &DeleteRouteInput{}
  4041. }
  4042. req = c.newRequest(op, input, output)
  4043. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4044. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4045. output = &DeleteRouteOutput{}
  4046. req.Data = output
  4047. return
  4048. }
  4049. // DeleteRoute API operation for Amazon Elastic Compute Cloud.
  4050. //
  4051. // Deletes the specified route from the specified route table.
  4052. //
  4053. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4054. // with awserr.Error's Code and Message methods to get detailed information about
  4055. // the error.
  4056. //
  4057. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4058. // API operation DeleteRoute for usage and error information.
  4059. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  4060. req, out := c.DeleteRouteRequest(input)
  4061. err := req.Send()
  4062. return out, err
  4063. }
  4064. const opDeleteRouteTable = "DeleteRouteTable"
  4065. // DeleteRouteTableRequest generates a "aws/request.Request" representing the
  4066. // client's request for the DeleteRouteTable operation. The "output" return
  4067. // value can be used to capture response data after the request's "Send" method
  4068. // is called.
  4069. //
  4070. // See DeleteRouteTable for usage and error information.
  4071. //
  4072. // Creating a request object using this method should be used when you want to inject
  4073. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4074. // access properties on the request object before or after sending the request. If
  4075. // you just want the service response, call the DeleteRouteTable method directly
  4076. // instead.
  4077. //
  4078. // Note: You must call the "Send" method on the returned request object in order
  4079. // to execute the request.
  4080. //
  4081. // // Example sending a request using the DeleteRouteTableRequest method.
  4082. // req, resp := client.DeleteRouteTableRequest(params)
  4083. //
  4084. // err := req.Send()
  4085. // if err == nil { // resp is now filled
  4086. // fmt.Println(resp)
  4087. // }
  4088. //
  4089. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  4090. op := &request.Operation{
  4091. Name: opDeleteRouteTable,
  4092. HTTPMethod: "POST",
  4093. HTTPPath: "/",
  4094. }
  4095. if input == nil {
  4096. input = &DeleteRouteTableInput{}
  4097. }
  4098. req = c.newRequest(op, input, output)
  4099. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4100. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4101. output = &DeleteRouteTableOutput{}
  4102. req.Data = output
  4103. return
  4104. }
  4105. // DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
  4106. //
  4107. // Deletes the specified route table. You must disassociate the route table
  4108. // from any subnets before you can delete it. You can't delete the main route
  4109. // table.
  4110. //
  4111. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4112. // with awserr.Error's Code and Message methods to get detailed information about
  4113. // the error.
  4114. //
  4115. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4116. // API operation DeleteRouteTable for usage and error information.
  4117. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  4118. req, out := c.DeleteRouteTableRequest(input)
  4119. err := req.Send()
  4120. return out, err
  4121. }
  4122. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  4123. // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
  4124. // client's request for the DeleteSecurityGroup operation. The "output" return
  4125. // value can be used to capture response data after the request's "Send" method
  4126. // is called.
  4127. //
  4128. // See DeleteSecurityGroup for usage and error information.
  4129. //
  4130. // Creating a request object using this method should be used when you want to inject
  4131. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4132. // access properties on the request object before or after sending the request. If
  4133. // you just want the service response, call the DeleteSecurityGroup method directly
  4134. // instead.
  4135. //
  4136. // Note: You must call the "Send" method on the returned request object in order
  4137. // to execute the request.
  4138. //
  4139. // // Example sending a request using the DeleteSecurityGroupRequest method.
  4140. // req, resp := client.DeleteSecurityGroupRequest(params)
  4141. //
  4142. // err := req.Send()
  4143. // if err == nil { // resp is now filled
  4144. // fmt.Println(resp)
  4145. // }
  4146. //
  4147. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  4148. op := &request.Operation{
  4149. Name: opDeleteSecurityGroup,
  4150. HTTPMethod: "POST",
  4151. HTTPPath: "/",
  4152. }
  4153. if input == nil {
  4154. input = &DeleteSecurityGroupInput{}
  4155. }
  4156. req = c.newRequest(op, input, output)
  4157. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4158. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4159. output = &DeleteSecurityGroupOutput{}
  4160. req.Data = output
  4161. return
  4162. }
  4163. // DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
  4164. //
  4165. // Deletes a security group.
  4166. //
  4167. // If you attempt to delete a security group that is associated with an instance,
  4168. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  4169. // in EC2-Classic or DependencyViolation in EC2-VPC.
  4170. //
  4171. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4172. // with awserr.Error's Code and Message methods to get detailed information about
  4173. // the error.
  4174. //
  4175. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4176. // API operation DeleteSecurityGroup for usage and error information.
  4177. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  4178. req, out := c.DeleteSecurityGroupRequest(input)
  4179. err := req.Send()
  4180. return out, err
  4181. }
  4182. const opDeleteSnapshot = "DeleteSnapshot"
  4183. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  4184. // client's request for the DeleteSnapshot operation. The "output" return
  4185. // value can be used to capture response data after the request's "Send" method
  4186. // is called.
  4187. //
  4188. // See DeleteSnapshot for usage and error information.
  4189. //
  4190. // Creating a request object using this method should be used when you want to inject
  4191. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4192. // access properties on the request object before or after sending the request. If
  4193. // you just want the service response, call the DeleteSnapshot method directly
  4194. // instead.
  4195. //
  4196. // Note: You must call the "Send" method on the returned request object in order
  4197. // to execute the request.
  4198. //
  4199. // // Example sending a request using the DeleteSnapshotRequest method.
  4200. // req, resp := client.DeleteSnapshotRequest(params)
  4201. //
  4202. // err := req.Send()
  4203. // if err == nil { // resp is now filled
  4204. // fmt.Println(resp)
  4205. // }
  4206. //
  4207. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  4208. op := &request.Operation{
  4209. Name: opDeleteSnapshot,
  4210. HTTPMethod: "POST",
  4211. HTTPPath: "/",
  4212. }
  4213. if input == nil {
  4214. input = &DeleteSnapshotInput{}
  4215. }
  4216. req = c.newRequest(op, input, output)
  4217. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4218. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4219. output = &DeleteSnapshotOutput{}
  4220. req.Data = output
  4221. return
  4222. }
  4223. // DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
  4224. //
  4225. // Deletes the specified snapshot.
  4226. //
  4227. // When you make periodic snapshots of a volume, the snapshots are incremental,
  4228. // and only the blocks on the device that have changed since your last snapshot
  4229. // are saved in the new snapshot. When you delete a snapshot, only the data
  4230. // not needed for any other snapshot is removed. So regardless of which prior
  4231. // snapshots have been deleted, all active snapshots will have access to all
  4232. // the information needed to restore the volume.
  4233. //
  4234. // You cannot delete a snapshot of the root device of an EBS volume used by
  4235. // a registered AMI. You must first de-register the AMI before you can delete
  4236. // the snapshot.
  4237. //
  4238. // For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  4239. // in the Amazon Elastic Compute Cloud User Guide.
  4240. //
  4241. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4242. // with awserr.Error's Code and Message methods to get detailed information about
  4243. // the error.
  4244. //
  4245. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4246. // API operation DeleteSnapshot for usage and error information.
  4247. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  4248. req, out := c.DeleteSnapshotRequest(input)
  4249. err := req.Send()
  4250. return out, err
  4251. }
  4252. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  4253. // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  4254. // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
  4255. // value can be used to capture response data after the request's "Send" method
  4256. // is called.
  4257. //
  4258. // See DeleteSpotDatafeedSubscription for usage and error information.
  4259. //
  4260. // Creating a request object using this method should be used when you want to inject
  4261. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4262. // access properties on the request object before or after sending the request. If
  4263. // you just want the service response, call the DeleteSpotDatafeedSubscription method directly
  4264. // instead.
  4265. //
  4266. // Note: You must call the "Send" method on the returned request object in order
  4267. // to execute the request.
  4268. //
  4269. // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
  4270. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
  4271. //
  4272. // err := req.Send()
  4273. // if err == nil { // resp is now filled
  4274. // fmt.Println(resp)
  4275. // }
  4276. //
  4277. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  4278. op := &request.Operation{
  4279. Name: opDeleteSpotDatafeedSubscription,
  4280. HTTPMethod: "POST",
  4281. HTTPPath: "/",
  4282. }
  4283. if input == nil {
  4284. input = &DeleteSpotDatafeedSubscriptionInput{}
  4285. }
  4286. req = c.newRequest(op, input, output)
  4287. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4288. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4289. output = &DeleteSpotDatafeedSubscriptionOutput{}
  4290. req.Data = output
  4291. return
  4292. }
  4293. // DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  4294. //
  4295. // Deletes the data feed for Spot instances.
  4296. //
  4297. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4298. // with awserr.Error's Code and Message methods to get detailed information about
  4299. // the error.
  4300. //
  4301. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4302. // API operation DeleteSpotDatafeedSubscription for usage and error information.
  4303. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  4304. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  4305. err := req.Send()
  4306. return out, err
  4307. }
  4308. const opDeleteSubnet = "DeleteSubnet"
  4309. // DeleteSubnetRequest generates a "aws/request.Request" representing the
  4310. // client's request for the DeleteSubnet operation. The "output" return
  4311. // value can be used to capture response data after the request's "Send" method
  4312. // is called.
  4313. //
  4314. // See DeleteSubnet for usage and error information.
  4315. //
  4316. // Creating a request object using this method should be used when you want to inject
  4317. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4318. // access properties on the request object before or after sending the request. If
  4319. // you just want the service response, call the DeleteSubnet method directly
  4320. // instead.
  4321. //
  4322. // Note: You must call the "Send" method on the returned request object in order
  4323. // to execute the request.
  4324. //
  4325. // // Example sending a request using the DeleteSubnetRequest method.
  4326. // req, resp := client.DeleteSubnetRequest(params)
  4327. //
  4328. // err := req.Send()
  4329. // if err == nil { // resp is now filled
  4330. // fmt.Println(resp)
  4331. // }
  4332. //
  4333. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  4334. op := &request.Operation{
  4335. Name: opDeleteSubnet,
  4336. HTTPMethod: "POST",
  4337. HTTPPath: "/",
  4338. }
  4339. if input == nil {
  4340. input = &DeleteSubnetInput{}
  4341. }
  4342. req = c.newRequest(op, input, output)
  4343. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4344. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4345. output = &DeleteSubnetOutput{}
  4346. req.Data = output
  4347. return
  4348. }
  4349. // DeleteSubnet API operation for Amazon Elastic Compute Cloud.
  4350. //
  4351. // Deletes the specified subnet. You must terminate all running instances in
  4352. // the subnet before you can delete the subnet.
  4353. //
  4354. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4355. // with awserr.Error's Code and Message methods to get detailed information about
  4356. // the error.
  4357. //
  4358. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4359. // API operation DeleteSubnet for usage and error information.
  4360. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  4361. req, out := c.DeleteSubnetRequest(input)
  4362. err := req.Send()
  4363. return out, err
  4364. }
  4365. const opDeleteTags = "DeleteTags"
  4366. // DeleteTagsRequest generates a "aws/request.Request" representing the
  4367. // client's request for the DeleteTags operation. The "output" return
  4368. // value can be used to capture response data after the request's "Send" method
  4369. // is called.
  4370. //
  4371. // See DeleteTags for usage and error information.
  4372. //
  4373. // Creating a request object using this method should be used when you want to inject
  4374. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4375. // access properties on the request object before or after sending the request. If
  4376. // you just want the service response, call the DeleteTags method directly
  4377. // instead.
  4378. //
  4379. // Note: You must call the "Send" method on the returned request object in order
  4380. // to execute the request.
  4381. //
  4382. // // Example sending a request using the DeleteTagsRequest method.
  4383. // req, resp := client.DeleteTagsRequest(params)
  4384. //
  4385. // err := req.Send()
  4386. // if err == nil { // resp is now filled
  4387. // fmt.Println(resp)
  4388. // }
  4389. //
  4390. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  4391. op := &request.Operation{
  4392. Name: opDeleteTags,
  4393. HTTPMethod: "POST",
  4394. HTTPPath: "/",
  4395. }
  4396. if input == nil {
  4397. input = &DeleteTagsInput{}
  4398. }
  4399. req = c.newRequest(op, input, output)
  4400. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4401. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4402. output = &DeleteTagsOutput{}
  4403. req.Data = output
  4404. return
  4405. }
  4406. // DeleteTags API operation for Amazon Elastic Compute Cloud.
  4407. //
  4408. // Deletes the specified set of tags from the specified set of resources. This
  4409. // call is designed to follow a DescribeTags request.
  4410. //
  4411. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  4412. // in the Amazon Elastic Compute Cloud User Guide.
  4413. //
  4414. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4415. // with awserr.Error's Code and Message methods to get detailed information about
  4416. // the error.
  4417. //
  4418. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4419. // API operation DeleteTags for usage and error information.
  4420. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  4421. req, out := c.DeleteTagsRequest(input)
  4422. err := req.Send()
  4423. return out, err
  4424. }
  4425. const opDeleteVolume = "DeleteVolume"
  4426. // DeleteVolumeRequest generates a "aws/request.Request" representing the
  4427. // client's request for the DeleteVolume operation. The "output" return
  4428. // value can be used to capture response data after the request's "Send" method
  4429. // is called.
  4430. //
  4431. // See DeleteVolume for usage and error information.
  4432. //
  4433. // Creating a request object using this method should be used when you want to inject
  4434. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4435. // access properties on the request object before or after sending the request. If
  4436. // you just want the service response, call the DeleteVolume method directly
  4437. // instead.
  4438. //
  4439. // Note: You must call the "Send" method on the returned request object in order
  4440. // to execute the request.
  4441. //
  4442. // // Example sending a request using the DeleteVolumeRequest method.
  4443. // req, resp := client.DeleteVolumeRequest(params)
  4444. //
  4445. // err := req.Send()
  4446. // if err == nil { // resp is now filled
  4447. // fmt.Println(resp)
  4448. // }
  4449. //
  4450. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  4451. op := &request.Operation{
  4452. Name: opDeleteVolume,
  4453. HTTPMethod: "POST",
  4454. HTTPPath: "/",
  4455. }
  4456. if input == nil {
  4457. input = &DeleteVolumeInput{}
  4458. }
  4459. req = c.newRequest(op, input, output)
  4460. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4461. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4462. output = &DeleteVolumeOutput{}
  4463. req.Data = output
  4464. return
  4465. }
  4466. // DeleteVolume API operation for Amazon Elastic Compute Cloud.
  4467. //
  4468. // Deletes the specified EBS volume. The volume must be in the available state
  4469. // (not attached to an instance).
  4470. //
  4471. // The volume may remain in the deleting state for several minutes.
  4472. //
  4473. // For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  4474. // in the Amazon Elastic Compute Cloud User Guide.
  4475. //
  4476. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4477. // with awserr.Error's Code and Message methods to get detailed information about
  4478. // the error.
  4479. //
  4480. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4481. // API operation DeleteVolume for usage and error information.
  4482. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  4483. req, out := c.DeleteVolumeRequest(input)
  4484. err := req.Send()
  4485. return out, err
  4486. }
  4487. const opDeleteVpc = "DeleteVpc"
  4488. // DeleteVpcRequest generates a "aws/request.Request" representing the
  4489. // client's request for the DeleteVpc operation. The "output" return
  4490. // value can be used to capture response data after the request's "Send" method
  4491. // is called.
  4492. //
  4493. // See DeleteVpc for usage and error information.
  4494. //
  4495. // Creating a request object using this method should be used when you want to inject
  4496. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4497. // access properties on the request object before or after sending the request. If
  4498. // you just want the service response, call the DeleteVpc method directly
  4499. // instead.
  4500. //
  4501. // Note: You must call the "Send" method on the returned request object in order
  4502. // to execute the request.
  4503. //
  4504. // // Example sending a request using the DeleteVpcRequest method.
  4505. // req, resp := client.DeleteVpcRequest(params)
  4506. //
  4507. // err := req.Send()
  4508. // if err == nil { // resp is now filled
  4509. // fmt.Println(resp)
  4510. // }
  4511. //
  4512. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  4513. op := &request.Operation{
  4514. Name: opDeleteVpc,
  4515. HTTPMethod: "POST",
  4516. HTTPPath: "/",
  4517. }
  4518. if input == nil {
  4519. input = &DeleteVpcInput{}
  4520. }
  4521. req = c.newRequest(op, input, output)
  4522. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4523. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4524. output = &DeleteVpcOutput{}
  4525. req.Data = output
  4526. return
  4527. }
  4528. // DeleteVpc API operation for Amazon Elastic Compute Cloud.
  4529. //
  4530. // Deletes the specified VPC. You must detach or delete all gateways and resources
  4531. // that are associated with the VPC before you can delete it. For example, you
  4532. // must terminate all instances running in the VPC, delete all security groups
  4533. // associated with the VPC (except the default one), delete all route tables
  4534. // associated with the VPC (except the default one), and so on.
  4535. //
  4536. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4537. // with awserr.Error's Code and Message methods to get detailed information about
  4538. // the error.
  4539. //
  4540. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4541. // API operation DeleteVpc for usage and error information.
  4542. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  4543. req, out := c.DeleteVpcRequest(input)
  4544. err := req.Send()
  4545. return out, err
  4546. }
  4547. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  4548. // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
  4549. // client's request for the DeleteVpcEndpoints operation. The "output" return
  4550. // value can be used to capture response data after the request's "Send" method
  4551. // is called.
  4552. //
  4553. // See DeleteVpcEndpoints for usage and error information.
  4554. //
  4555. // Creating a request object using this method should be used when you want to inject
  4556. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4557. // access properties on the request object before or after sending the request. If
  4558. // you just want the service response, call the DeleteVpcEndpoints method directly
  4559. // instead.
  4560. //
  4561. // Note: You must call the "Send" method on the returned request object in order
  4562. // to execute the request.
  4563. //
  4564. // // Example sending a request using the DeleteVpcEndpointsRequest method.
  4565. // req, resp := client.DeleteVpcEndpointsRequest(params)
  4566. //
  4567. // err := req.Send()
  4568. // if err == nil { // resp is now filled
  4569. // fmt.Println(resp)
  4570. // }
  4571. //
  4572. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  4573. op := &request.Operation{
  4574. Name: opDeleteVpcEndpoints,
  4575. HTTPMethod: "POST",
  4576. HTTPPath: "/",
  4577. }
  4578. if input == nil {
  4579. input = &DeleteVpcEndpointsInput{}
  4580. }
  4581. req = c.newRequest(op, input, output)
  4582. output = &DeleteVpcEndpointsOutput{}
  4583. req.Data = output
  4584. return
  4585. }
  4586. // DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  4587. //
  4588. // Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes
  4589. // the endpoint routes in the route tables that were associated with the endpoint.
  4590. //
  4591. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4592. // with awserr.Error's Code and Message methods to get detailed information about
  4593. // the error.
  4594. //
  4595. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4596. // API operation DeleteVpcEndpoints for usage and error information.
  4597. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  4598. req, out := c.DeleteVpcEndpointsRequest(input)
  4599. err := req.Send()
  4600. return out, err
  4601. }
  4602. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  4603. // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  4604. // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  4605. // value can be used to capture response data after the request's "Send" method
  4606. // is called.
  4607. //
  4608. // See DeleteVpcPeeringConnection for usage and error information.
  4609. //
  4610. // Creating a request object using this method should be used when you want to inject
  4611. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4612. // access properties on the request object before or after sending the request. If
  4613. // you just want the service response, call the DeleteVpcPeeringConnection method directly
  4614. // instead.
  4615. //
  4616. // Note: You must call the "Send" method on the returned request object in order
  4617. // to execute the request.
  4618. //
  4619. // // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  4620. // req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  4621. //
  4622. // err := req.Send()
  4623. // if err == nil { // resp is now filled
  4624. // fmt.Println(resp)
  4625. // }
  4626. //
  4627. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  4628. op := &request.Operation{
  4629. Name: opDeleteVpcPeeringConnection,
  4630. HTTPMethod: "POST",
  4631. HTTPPath: "/",
  4632. }
  4633. if input == nil {
  4634. input = &DeleteVpcPeeringConnectionInput{}
  4635. }
  4636. req = c.newRequest(op, input, output)
  4637. output = &DeleteVpcPeeringConnectionOutput{}
  4638. req.Data = output
  4639. return
  4640. }
  4641. // DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  4642. //
  4643. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  4644. // the owner of the peer VPC can delete the VPC peering connection if it's in
  4645. // the active state. The owner of the requester VPC can delete a VPC peering
  4646. // connection in the pending-acceptance state.
  4647. //
  4648. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4649. // with awserr.Error's Code and Message methods to get detailed information about
  4650. // the error.
  4651. //
  4652. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4653. // API operation DeleteVpcPeeringConnection for usage and error information.
  4654. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  4655. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  4656. err := req.Send()
  4657. return out, err
  4658. }
  4659. const opDeleteVpnConnection = "DeleteVpnConnection"
  4660. // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
  4661. // client's request for the DeleteVpnConnection operation. The "output" return
  4662. // value can be used to capture response data after the request's "Send" method
  4663. // is called.
  4664. //
  4665. // See DeleteVpnConnection for usage and error information.
  4666. //
  4667. // Creating a request object using this method should be used when you want to inject
  4668. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4669. // access properties on the request object before or after sending the request. If
  4670. // you just want the service response, call the DeleteVpnConnection method directly
  4671. // instead.
  4672. //
  4673. // Note: You must call the "Send" method on the returned request object in order
  4674. // to execute the request.
  4675. //
  4676. // // Example sending a request using the DeleteVpnConnectionRequest method.
  4677. // req, resp := client.DeleteVpnConnectionRequest(params)
  4678. //
  4679. // err := req.Send()
  4680. // if err == nil { // resp is now filled
  4681. // fmt.Println(resp)
  4682. // }
  4683. //
  4684. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  4685. op := &request.Operation{
  4686. Name: opDeleteVpnConnection,
  4687. HTTPMethod: "POST",
  4688. HTTPPath: "/",
  4689. }
  4690. if input == nil {
  4691. input = &DeleteVpnConnectionInput{}
  4692. }
  4693. req = c.newRequest(op, input, output)
  4694. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4695. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4696. output = &DeleteVpnConnectionOutput{}
  4697. req.Data = output
  4698. return
  4699. }
  4700. // DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
  4701. //
  4702. // Deletes the specified VPN connection.
  4703. //
  4704. // If you're deleting the VPC and its associated components, we recommend that
  4705. // you detach the virtual private gateway from the VPC and delete the VPC before
  4706. // deleting the VPN connection. If you believe that the tunnel credentials for
  4707. // your VPN connection have been compromised, you can delete the VPN connection
  4708. // and create a new one that has new keys, without needing to delete the VPC
  4709. // or virtual private gateway. If you create a new VPN connection, you must
  4710. // reconfigure the customer gateway using the new configuration information
  4711. // returned with the new VPN connection ID.
  4712. //
  4713. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4714. // with awserr.Error's Code and Message methods to get detailed information about
  4715. // the error.
  4716. //
  4717. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4718. // API operation DeleteVpnConnection for usage and error information.
  4719. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  4720. req, out := c.DeleteVpnConnectionRequest(input)
  4721. err := req.Send()
  4722. return out, err
  4723. }
  4724. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  4725. // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  4726. // client's request for the DeleteVpnConnectionRoute operation. The "output" return
  4727. // value can be used to capture response data after the request's "Send" method
  4728. // is called.
  4729. //
  4730. // See DeleteVpnConnectionRoute for usage and error information.
  4731. //
  4732. // Creating a request object using this method should be used when you want to inject
  4733. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4734. // access properties on the request object before or after sending the request. If
  4735. // you just want the service response, call the DeleteVpnConnectionRoute method directly
  4736. // instead.
  4737. //
  4738. // Note: You must call the "Send" method on the returned request object in order
  4739. // to execute the request.
  4740. //
  4741. // // Example sending a request using the DeleteVpnConnectionRouteRequest method.
  4742. // req, resp := client.DeleteVpnConnectionRouteRequest(params)
  4743. //
  4744. // err := req.Send()
  4745. // if err == nil { // resp is now filled
  4746. // fmt.Println(resp)
  4747. // }
  4748. //
  4749. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  4750. op := &request.Operation{
  4751. Name: opDeleteVpnConnectionRoute,
  4752. HTTPMethod: "POST",
  4753. HTTPPath: "/",
  4754. }
  4755. if input == nil {
  4756. input = &DeleteVpnConnectionRouteInput{}
  4757. }
  4758. req = c.newRequest(op, input, output)
  4759. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4760. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4761. output = &DeleteVpnConnectionRouteOutput{}
  4762. req.Data = output
  4763. return
  4764. }
  4765. // DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  4766. //
  4767. // Deletes the specified static route associated with a VPN connection between
  4768. // an existing virtual private gateway and a VPN customer gateway. The static
  4769. // route allows traffic to be routed from the virtual private gateway to the
  4770. // VPN customer gateway.
  4771. //
  4772. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4773. // with awserr.Error's Code and Message methods to get detailed information about
  4774. // the error.
  4775. //
  4776. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4777. // API operation DeleteVpnConnectionRoute for usage and error information.
  4778. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  4779. req, out := c.DeleteVpnConnectionRouteRequest(input)
  4780. err := req.Send()
  4781. return out, err
  4782. }
  4783. const opDeleteVpnGateway = "DeleteVpnGateway"
  4784. // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
  4785. // client's request for the DeleteVpnGateway operation. The "output" return
  4786. // value can be used to capture response data after the request's "Send" method
  4787. // is called.
  4788. //
  4789. // See DeleteVpnGateway for usage and error information.
  4790. //
  4791. // Creating a request object using this method should be used when you want to inject
  4792. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4793. // access properties on the request object before or after sending the request. If
  4794. // you just want the service response, call the DeleteVpnGateway method directly
  4795. // instead.
  4796. //
  4797. // Note: You must call the "Send" method on the returned request object in order
  4798. // to execute the request.
  4799. //
  4800. // // Example sending a request using the DeleteVpnGatewayRequest method.
  4801. // req, resp := client.DeleteVpnGatewayRequest(params)
  4802. //
  4803. // err := req.Send()
  4804. // if err == nil { // resp is now filled
  4805. // fmt.Println(resp)
  4806. // }
  4807. //
  4808. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  4809. op := &request.Operation{
  4810. Name: opDeleteVpnGateway,
  4811. HTTPMethod: "POST",
  4812. HTTPPath: "/",
  4813. }
  4814. if input == nil {
  4815. input = &DeleteVpnGatewayInput{}
  4816. }
  4817. req = c.newRequest(op, input, output)
  4818. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4819. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4820. output = &DeleteVpnGatewayOutput{}
  4821. req.Data = output
  4822. return
  4823. }
  4824. // DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
  4825. //
  4826. // Deletes the specified virtual private gateway. We recommend that before you
  4827. // delete a virtual private gateway, you detach it from the VPC and delete the
  4828. // VPN connection. Note that you don't need to delete the virtual private gateway
  4829. // if you plan to delete and recreate the VPN connection between your VPC and
  4830. // your network.
  4831. //
  4832. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4833. // with awserr.Error's Code and Message methods to get detailed information about
  4834. // the error.
  4835. //
  4836. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4837. // API operation DeleteVpnGateway for usage and error information.
  4838. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  4839. req, out := c.DeleteVpnGatewayRequest(input)
  4840. err := req.Send()
  4841. return out, err
  4842. }
  4843. const opDeregisterImage = "DeregisterImage"
  4844. // DeregisterImageRequest generates a "aws/request.Request" representing the
  4845. // client's request for the DeregisterImage operation. The "output" return
  4846. // value can be used to capture response data after the request's "Send" method
  4847. // is called.
  4848. //
  4849. // See DeregisterImage for usage and error information.
  4850. //
  4851. // Creating a request object using this method should be used when you want to inject
  4852. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4853. // access properties on the request object before or after sending the request. If
  4854. // you just want the service response, call the DeregisterImage method directly
  4855. // instead.
  4856. //
  4857. // Note: You must call the "Send" method on the returned request object in order
  4858. // to execute the request.
  4859. //
  4860. // // Example sending a request using the DeregisterImageRequest method.
  4861. // req, resp := client.DeregisterImageRequest(params)
  4862. //
  4863. // err := req.Send()
  4864. // if err == nil { // resp is now filled
  4865. // fmt.Println(resp)
  4866. // }
  4867. //
  4868. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  4869. op := &request.Operation{
  4870. Name: opDeregisterImage,
  4871. HTTPMethod: "POST",
  4872. HTTPPath: "/",
  4873. }
  4874. if input == nil {
  4875. input = &DeregisterImageInput{}
  4876. }
  4877. req = c.newRequest(op, input, output)
  4878. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4879. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4880. output = &DeregisterImageOutput{}
  4881. req.Data = output
  4882. return
  4883. }
  4884. // DeregisterImage API operation for Amazon Elastic Compute Cloud.
  4885. //
  4886. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  4887. // to launch new instances.
  4888. //
  4889. // This command does not delete the AMI.
  4890. //
  4891. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4892. // with awserr.Error's Code and Message methods to get detailed information about
  4893. // the error.
  4894. //
  4895. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4896. // API operation DeregisterImage for usage and error information.
  4897. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  4898. req, out := c.DeregisterImageRequest(input)
  4899. err := req.Send()
  4900. return out, err
  4901. }
  4902. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  4903. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  4904. // client's request for the DescribeAccountAttributes operation. The "output" return
  4905. // value can be used to capture response data after the request's "Send" method
  4906. // is called.
  4907. //
  4908. // See DescribeAccountAttributes for usage and error information.
  4909. //
  4910. // Creating a request object using this method should be used when you want to inject
  4911. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4912. // access properties on the request object before or after sending the request. If
  4913. // you just want the service response, call the DescribeAccountAttributes method directly
  4914. // instead.
  4915. //
  4916. // Note: You must call the "Send" method on the returned request object in order
  4917. // to execute the request.
  4918. //
  4919. // // Example sending a request using the DescribeAccountAttributesRequest method.
  4920. // req, resp := client.DescribeAccountAttributesRequest(params)
  4921. //
  4922. // err := req.Send()
  4923. // if err == nil { // resp is now filled
  4924. // fmt.Println(resp)
  4925. // }
  4926. //
  4927. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  4928. op := &request.Operation{
  4929. Name: opDescribeAccountAttributes,
  4930. HTTPMethod: "POST",
  4931. HTTPPath: "/",
  4932. }
  4933. if input == nil {
  4934. input = &DescribeAccountAttributesInput{}
  4935. }
  4936. req = c.newRequest(op, input, output)
  4937. output = &DescribeAccountAttributesOutput{}
  4938. req.Data = output
  4939. return
  4940. }
  4941. // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
  4942. //
  4943. // Describes attributes of your AWS account. The following are the supported
  4944. // account attributes:
  4945. //
  4946. // * supported-platforms: Indicates whether your account can launch instances
  4947. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  4948. //
  4949. // * default-vpc: The ID of the default VPC for your account, or none.
  4950. //
  4951. // * max-instances: The maximum number of On-Demand instances that you can
  4952. // run.
  4953. //
  4954. // * vpc-max-security-groups-per-interface: The maximum number of security
  4955. // groups that you can assign to a network interface.
  4956. //
  4957. // * max-elastic-ips: The maximum number of Elastic IP addresses that you
  4958. // can allocate for use with EC2-Classic.
  4959. //
  4960. // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
  4961. // you can allocate for use with EC2-VPC.
  4962. //
  4963. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4964. // with awserr.Error's Code and Message methods to get detailed information about
  4965. // the error.
  4966. //
  4967. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4968. // API operation DescribeAccountAttributes for usage and error information.
  4969. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  4970. req, out := c.DescribeAccountAttributesRequest(input)
  4971. err := req.Send()
  4972. return out, err
  4973. }
  4974. const opDescribeAddresses = "DescribeAddresses"
  4975. // DescribeAddressesRequest generates a "aws/request.Request" representing the
  4976. // client's request for the DescribeAddresses operation. The "output" return
  4977. // value can be used to capture response data after the request's "Send" method
  4978. // is called.
  4979. //
  4980. // See DescribeAddresses for usage and error information.
  4981. //
  4982. // Creating a request object using this method should be used when you want to inject
  4983. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4984. // access properties on the request object before or after sending the request. If
  4985. // you just want the service response, call the DescribeAddresses method directly
  4986. // instead.
  4987. //
  4988. // Note: You must call the "Send" method on the returned request object in order
  4989. // to execute the request.
  4990. //
  4991. // // Example sending a request using the DescribeAddressesRequest method.
  4992. // req, resp := client.DescribeAddressesRequest(params)
  4993. //
  4994. // err := req.Send()
  4995. // if err == nil { // resp is now filled
  4996. // fmt.Println(resp)
  4997. // }
  4998. //
  4999. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  5000. op := &request.Operation{
  5001. Name: opDescribeAddresses,
  5002. HTTPMethod: "POST",
  5003. HTTPPath: "/",
  5004. }
  5005. if input == nil {
  5006. input = &DescribeAddressesInput{}
  5007. }
  5008. req = c.newRequest(op, input, output)
  5009. output = &DescribeAddressesOutput{}
  5010. req.Data = output
  5011. return
  5012. }
  5013. // DescribeAddresses API operation for Amazon Elastic Compute Cloud.
  5014. //
  5015. // Describes one or more of your Elastic IP addresses.
  5016. //
  5017. // An Elastic IP address is for use in either the EC2-Classic platform or in
  5018. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  5019. // in the Amazon Elastic Compute Cloud User Guide.
  5020. //
  5021. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5022. // with awserr.Error's Code and Message methods to get detailed information about
  5023. // the error.
  5024. //
  5025. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5026. // API operation DescribeAddresses for usage and error information.
  5027. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  5028. req, out := c.DescribeAddressesRequest(input)
  5029. err := req.Send()
  5030. return out, err
  5031. }
  5032. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  5033. // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
  5034. // client's request for the DescribeAvailabilityZones operation. The "output" return
  5035. // value can be used to capture response data after the request's "Send" method
  5036. // is called.
  5037. //
  5038. // See DescribeAvailabilityZones for usage and error information.
  5039. //
  5040. // Creating a request object using this method should be used when you want to inject
  5041. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5042. // access properties on the request object before or after sending the request. If
  5043. // you just want the service response, call the DescribeAvailabilityZones method directly
  5044. // instead.
  5045. //
  5046. // Note: You must call the "Send" method on the returned request object in order
  5047. // to execute the request.
  5048. //
  5049. // // Example sending a request using the DescribeAvailabilityZonesRequest method.
  5050. // req, resp := client.DescribeAvailabilityZonesRequest(params)
  5051. //
  5052. // err := req.Send()
  5053. // if err == nil { // resp is now filled
  5054. // fmt.Println(resp)
  5055. // }
  5056. //
  5057. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  5058. op := &request.Operation{
  5059. Name: opDescribeAvailabilityZones,
  5060. HTTPMethod: "POST",
  5061. HTTPPath: "/",
  5062. }
  5063. if input == nil {
  5064. input = &DescribeAvailabilityZonesInput{}
  5065. }
  5066. req = c.newRequest(op, input, output)
  5067. output = &DescribeAvailabilityZonesOutput{}
  5068. req.Data = output
  5069. return
  5070. }
  5071. // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
  5072. //
  5073. // Describes one or more of the Availability Zones that are available to you.
  5074. // The results include zones only for the region you're currently using. If
  5075. // there is an event impacting an Availability Zone, you can use this request
  5076. // to view the state and any provided message for that Availability Zone.
  5077. //
  5078. // For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  5079. // in the Amazon Elastic Compute Cloud User Guide.
  5080. //
  5081. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5082. // with awserr.Error's Code and Message methods to get detailed information about
  5083. // the error.
  5084. //
  5085. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5086. // API operation DescribeAvailabilityZones for usage and error information.
  5087. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  5088. req, out := c.DescribeAvailabilityZonesRequest(input)
  5089. err := req.Send()
  5090. return out, err
  5091. }
  5092. const opDescribeBundleTasks = "DescribeBundleTasks"
  5093. // DescribeBundleTasksRequest generates a "aws/request.Request" representing the
  5094. // client's request for the DescribeBundleTasks operation. The "output" return
  5095. // value can be used to capture response data after the request's "Send" method
  5096. // is called.
  5097. //
  5098. // See DescribeBundleTasks for usage and error information.
  5099. //
  5100. // Creating a request object using this method should be used when you want to inject
  5101. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5102. // access properties on the request object before or after sending the request. If
  5103. // you just want the service response, call the DescribeBundleTasks method directly
  5104. // instead.
  5105. //
  5106. // Note: You must call the "Send" method on the returned request object in order
  5107. // to execute the request.
  5108. //
  5109. // // Example sending a request using the DescribeBundleTasksRequest method.
  5110. // req, resp := client.DescribeBundleTasksRequest(params)
  5111. //
  5112. // err := req.Send()
  5113. // if err == nil { // resp is now filled
  5114. // fmt.Println(resp)
  5115. // }
  5116. //
  5117. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  5118. op := &request.Operation{
  5119. Name: opDescribeBundleTasks,
  5120. HTTPMethod: "POST",
  5121. HTTPPath: "/",
  5122. }
  5123. if input == nil {
  5124. input = &DescribeBundleTasksInput{}
  5125. }
  5126. req = c.newRequest(op, input, output)
  5127. output = &DescribeBundleTasksOutput{}
  5128. req.Data = output
  5129. return
  5130. }
  5131. // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
  5132. //
  5133. // Describes one or more of your bundling tasks.
  5134. //
  5135. // Completed bundle tasks are listed for only a limited time. If your bundle
  5136. // task is no longer in the list, you can still register an AMI from it. Just
  5137. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  5138. // you provided to the bundle task.
  5139. //
  5140. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5141. // with awserr.Error's Code and Message methods to get detailed information about
  5142. // the error.
  5143. //
  5144. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5145. // API operation DescribeBundleTasks for usage and error information.
  5146. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  5147. req, out := c.DescribeBundleTasksRequest(input)
  5148. err := req.Send()
  5149. return out, err
  5150. }
  5151. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  5152. // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
  5153. // client's request for the DescribeClassicLinkInstances operation. The "output" return
  5154. // value can be used to capture response data after the request's "Send" method
  5155. // is called.
  5156. //
  5157. // See DescribeClassicLinkInstances for usage and error information.
  5158. //
  5159. // Creating a request object using this method should be used when you want to inject
  5160. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5161. // access properties on the request object before or after sending the request. If
  5162. // you just want the service response, call the DescribeClassicLinkInstances method directly
  5163. // instead.
  5164. //
  5165. // Note: You must call the "Send" method on the returned request object in order
  5166. // to execute the request.
  5167. //
  5168. // // Example sending a request using the DescribeClassicLinkInstancesRequest method.
  5169. // req, resp := client.DescribeClassicLinkInstancesRequest(params)
  5170. //
  5171. // err := req.Send()
  5172. // if err == nil { // resp is now filled
  5173. // fmt.Println(resp)
  5174. // }
  5175. //
  5176. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  5177. op := &request.Operation{
  5178. Name: opDescribeClassicLinkInstances,
  5179. HTTPMethod: "POST",
  5180. HTTPPath: "/",
  5181. }
  5182. if input == nil {
  5183. input = &DescribeClassicLinkInstancesInput{}
  5184. }
  5185. req = c.newRequest(op, input, output)
  5186. output = &DescribeClassicLinkInstancesOutput{}
  5187. req.Data = output
  5188. return
  5189. }
  5190. // DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
  5191. //
  5192. // Describes one or more of your linked EC2-Classic instances. This request
  5193. // only returns information about EC2-Classic instances linked to a VPC through
  5194. // ClassicLink; you cannot use this request to return information about other
  5195. // instances.
  5196. //
  5197. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5198. // with awserr.Error's Code and Message methods to get detailed information about
  5199. // the error.
  5200. //
  5201. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5202. // API operation DescribeClassicLinkInstances for usage and error information.
  5203. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  5204. req, out := c.DescribeClassicLinkInstancesRequest(input)
  5205. err := req.Send()
  5206. return out, err
  5207. }
  5208. const opDescribeConversionTasks = "DescribeConversionTasks"
  5209. // DescribeConversionTasksRequest generates a "aws/request.Request" representing the
  5210. // client's request for the DescribeConversionTasks operation. The "output" return
  5211. // value can be used to capture response data after the request's "Send" method
  5212. // is called.
  5213. //
  5214. // See DescribeConversionTasks for usage and error information.
  5215. //
  5216. // Creating a request object using this method should be used when you want to inject
  5217. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5218. // access properties on the request object before or after sending the request. If
  5219. // you just want the service response, call the DescribeConversionTasks method directly
  5220. // instead.
  5221. //
  5222. // Note: You must call the "Send" method on the returned request object in order
  5223. // to execute the request.
  5224. //
  5225. // // Example sending a request using the DescribeConversionTasksRequest method.
  5226. // req, resp := client.DescribeConversionTasksRequest(params)
  5227. //
  5228. // err := req.Send()
  5229. // if err == nil { // resp is now filled
  5230. // fmt.Println(resp)
  5231. // }
  5232. //
  5233. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  5234. op := &request.Operation{
  5235. Name: opDescribeConversionTasks,
  5236. HTTPMethod: "POST",
  5237. HTTPPath: "/",
  5238. }
  5239. if input == nil {
  5240. input = &DescribeConversionTasksInput{}
  5241. }
  5242. req = c.newRequest(op, input, output)
  5243. output = &DescribeConversionTasksOutput{}
  5244. req.Data = output
  5245. return
  5246. }
  5247. // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
  5248. //
  5249. // Describes one or more of your conversion tasks. For more information, see
  5250. // the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/).
  5251. //
  5252. // For information about the import manifest referenced by this API action,
  5253. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  5254. //
  5255. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5256. // with awserr.Error's Code and Message methods to get detailed information about
  5257. // the error.
  5258. //
  5259. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5260. // API operation DescribeConversionTasks for usage and error information.
  5261. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  5262. req, out := c.DescribeConversionTasksRequest(input)
  5263. err := req.Send()
  5264. return out, err
  5265. }
  5266. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  5267. // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
  5268. // client's request for the DescribeCustomerGateways operation. The "output" return
  5269. // value can be used to capture response data after the request's "Send" method
  5270. // is called.
  5271. //
  5272. // See DescribeCustomerGateways for usage and error information.
  5273. //
  5274. // Creating a request object using this method should be used when you want to inject
  5275. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5276. // access properties on the request object before or after sending the request. If
  5277. // you just want the service response, call the DescribeCustomerGateways method directly
  5278. // instead.
  5279. //
  5280. // Note: You must call the "Send" method on the returned request object in order
  5281. // to execute the request.
  5282. //
  5283. // // Example sending a request using the DescribeCustomerGatewaysRequest method.
  5284. // req, resp := client.DescribeCustomerGatewaysRequest(params)
  5285. //
  5286. // err := req.Send()
  5287. // if err == nil { // resp is now filled
  5288. // fmt.Println(resp)
  5289. // }
  5290. //
  5291. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  5292. op := &request.Operation{
  5293. Name: opDescribeCustomerGateways,
  5294. HTTPMethod: "POST",
  5295. HTTPPath: "/",
  5296. }
  5297. if input == nil {
  5298. input = &DescribeCustomerGatewaysInput{}
  5299. }
  5300. req = c.newRequest(op, input, output)
  5301. output = &DescribeCustomerGatewaysOutput{}
  5302. req.Data = output
  5303. return
  5304. }
  5305. // DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
  5306. //
  5307. // Describes one or more of your VPN customer gateways.
  5308. //
  5309. // For more information about VPN customer gateways, see Adding a Hardware Virtual
  5310. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  5311. // in the Amazon Virtual Private Cloud User Guide.
  5312. //
  5313. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5314. // with awserr.Error's Code and Message methods to get detailed information about
  5315. // the error.
  5316. //
  5317. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5318. // API operation DescribeCustomerGateways for usage and error information.
  5319. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  5320. req, out := c.DescribeCustomerGatewaysRequest(input)
  5321. err := req.Send()
  5322. return out, err
  5323. }
  5324. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  5325. // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
  5326. // client's request for the DescribeDhcpOptions operation. The "output" return
  5327. // value can be used to capture response data after the request's "Send" method
  5328. // is called.
  5329. //
  5330. // See DescribeDhcpOptions for usage and error information.
  5331. //
  5332. // Creating a request object using this method should be used when you want to inject
  5333. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5334. // access properties on the request object before or after sending the request. If
  5335. // you just want the service response, call the DescribeDhcpOptions method directly
  5336. // instead.
  5337. //
  5338. // Note: You must call the "Send" method on the returned request object in order
  5339. // to execute the request.
  5340. //
  5341. // // Example sending a request using the DescribeDhcpOptionsRequest method.
  5342. // req, resp := client.DescribeDhcpOptionsRequest(params)
  5343. //
  5344. // err := req.Send()
  5345. // if err == nil { // resp is now filled
  5346. // fmt.Println(resp)
  5347. // }
  5348. //
  5349. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  5350. op := &request.Operation{
  5351. Name: opDescribeDhcpOptions,
  5352. HTTPMethod: "POST",
  5353. HTTPPath: "/",
  5354. }
  5355. if input == nil {
  5356. input = &DescribeDhcpOptionsInput{}
  5357. }
  5358. req = c.newRequest(op, input, output)
  5359. output = &DescribeDhcpOptionsOutput{}
  5360. req.Data = output
  5361. return
  5362. }
  5363. // DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
  5364. //
  5365. // Describes one or more of your DHCP options sets.
  5366. //
  5367. // For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  5368. // in the Amazon Virtual Private Cloud User Guide.
  5369. //
  5370. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5371. // with awserr.Error's Code and Message methods to get detailed information about
  5372. // the error.
  5373. //
  5374. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5375. // API operation DescribeDhcpOptions for usage and error information.
  5376. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  5377. req, out := c.DescribeDhcpOptionsRequest(input)
  5378. err := req.Send()
  5379. return out, err
  5380. }
  5381. const opDescribeExportTasks = "DescribeExportTasks"
  5382. // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  5383. // client's request for the DescribeExportTasks operation. The "output" return
  5384. // value can be used to capture response data after the request's "Send" method
  5385. // is called.
  5386. //
  5387. // See DescribeExportTasks for usage and error information.
  5388. //
  5389. // Creating a request object using this method should be used when you want to inject
  5390. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5391. // access properties on the request object before or after sending the request. If
  5392. // you just want the service response, call the DescribeExportTasks method directly
  5393. // instead.
  5394. //
  5395. // Note: You must call the "Send" method on the returned request object in order
  5396. // to execute the request.
  5397. //
  5398. // // Example sending a request using the DescribeExportTasksRequest method.
  5399. // req, resp := client.DescribeExportTasksRequest(params)
  5400. //
  5401. // err := req.Send()
  5402. // if err == nil { // resp is now filled
  5403. // fmt.Println(resp)
  5404. // }
  5405. //
  5406. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  5407. op := &request.Operation{
  5408. Name: opDescribeExportTasks,
  5409. HTTPMethod: "POST",
  5410. HTTPPath: "/",
  5411. }
  5412. if input == nil {
  5413. input = &DescribeExportTasksInput{}
  5414. }
  5415. req = c.newRequest(op, input, output)
  5416. output = &DescribeExportTasksOutput{}
  5417. req.Data = output
  5418. return
  5419. }
  5420. // DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
  5421. //
  5422. // Describes one or more of your export tasks.
  5423. //
  5424. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5425. // with awserr.Error's Code and Message methods to get detailed information about
  5426. // the error.
  5427. //
  5428. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5429. // API operation DescribeExportTasks for usage and error information.
  5430. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  5431. req, out := c.DescribeExportTasksRequest(input)
  5432. err := req.Send()
  5433. return out, err
  5434. }
  5435. const opDescribeFlowLogs = "DescribeFlowLogs"
  5436. // DescribeFlowLogsRequest generates a "aws/request.Request" representing the
  5437. // client's request for the DescribeFlowLogs operation. The "output" return
  5438. // value can be used to capture response data after the request's "Send" method
  5439. // is called.
  5440. //
  5441. // See DescribeFlowLogs for usage and error information.
  5442. //
  5443. // Creating a request object using this method should be used when you want to inject
  5444. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5445. // access properties on the request object before or after sending the request. If
  5446. // you just want the service response, call the DescribeFlowLogs method directly
  5447. // instead.
  5448. //
  5449. // Note: You must call the "Send" method on the returned request object in order
  5450. // to execute the request.
  5451. //
  5452. // // Example sending a request using the DescribeFlowLogsRequest method.
  5453. // req, resp := client.DescribeFlowLogsRequest(params)
  5454. //
  5455. // err := req.Send()
  5456. // if err == nil { // resp is now filled
  5457. // fmt.Println(resp)
  5458. // }
  5459. //
  5460. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  5461. op := &request.Operation{
  5462. Name: opDescribeFlowLogs,
  5463. HTTPMethod: "POST",
  5464. HTTPPath: "/",
  5465. }
  5466. if input == nil {
  5467. input = &DescribeFlowLogsInput{}
  5468. }
  5469. req = c.newRequest(op, input, output)
  5470. output = &DescribeFlowLogsOutput{}
  5471. req.Data = output
  5472. return
  5473. }
  5474. // DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
  5475. //
  5476. // Describes one or more flow logs. To view the information in your flow logs
  5477. // (the log streams for the network interfaces), you must use the CloudWatch
  5478. // Logs console or the CloudWatch Logs API.
  5479. //
  5480. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5481. // with awserr.Error's Code and Message methods to get detailed information about
  5482. // the error.
  5483. //
  5484. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5485. // API operation DescribeFlowLogs for usage and error information.
  5486. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  5487. req, out := c.DescribeFlowLogsRequest(input)
  5488. err := req.Send()
  5489. return out, err
  5490. }
  5491. const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
  5492. // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
  5493. // client's request for the DescribeHostReservationOfferings operation. The "output" return
  5494. // value can be used to capture response data after the request's "Send" method
  5495. // is called.
  5496. //
  5497. // See DescribeHostReservationOfferings for usage and error information.
  5498. //
  5499. // Creating a request object using this method should be used when you want to inject
  5500. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5501. // access properties on the request object before or after sending the request. If
  5502. // you just want the service response, call the DescribeHostReservationOfferings method directly
  5503. // instead.
  5504. //
  5505. // Note: You must call the "Send" method on the returned request object in order
  5506. // to execute the request.
  5507. //
  5508. // // Example sending a request using the DescribeHostReservationOfferingsRequest method.
  5509. // req, resp := client.DescribeHostReservationOfferingsRequest(params)
  5510. //
  5511. // err := req.Send()
  5512. // if err == nil { // resp is now filled
  5513. // fmt.Println(resp)
  5514. // }
  5515. //
  5516. func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
  5517. op := &request.Operation{
  5518. Name: opDescribeHostReservationOfferings,
  5519. HTTPMethod: "POST",
  5520. HTTPPath: "/",
  5521. }
  5522. if input == nil {
  5523. input = &DescribeHostReservationOfferingsInput{}
  5524. }
  5525. req = c.newRequest(op, input, output)
  5526. output = &DescribeHostReservationOfferingsOutput{}
  5527. req.Data = output
  5528. return
  5529. }
  5530. // DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
  5531. //
  5532. // Describes the Dedicated Host Reservations that are available to purchase.
  5533. //
  5534. // The results describe all the Dedicated Host Reservation offerings, including
  5535. // offerings that may not match the instance family and region of your Dedicated
  5536. // Hosts. When purchasing an offering, ensure that the the instance family and
  5537. // region of the offering matches that of the Dedicated Host/s it will be associated
  5538. // with. For an overview of supported instance types, see Dedicated Hosts Overview
  5539. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
  5540. // in the Amazon Elastic Compute Cloud User Guide.
  5541. //
  5542. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5543. // with awserr.Error's Code and Message methods to get detailed information about
  5544. // the error.
  5545. //
  5546. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5547. // API operation DescribeHostReservationOfferings for usage and error information.
  5548. func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
  5549. req, out := c.DescribeHostReservationOfferingsRequest(input)
  5550. err := req.Send()
  5551. return out, err
  5552. }
  5553. const opDescribeHostReservations = "DescribeHostReservations"
  5554. // DescribeHostReservationsRequest generates a "aws/request.Request" representing the
  5555. // client's request for the DescribeHostReservations operation. The "output" return
  5556. // value can be used to capture response data after the request's "Send" method
  5557. // is called.
  5558. //
  5559. // See DescribeHostReservations for usage and error information.
  5560. //
  5561. // Creating a request object using this method should be used when you want to inject
  5562. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5563. // access properties on the request object before or after sending the request. If
  5564. // you just want the service response, call the DescribeHostReservations method directly
  5565. // instead.
  5566. //
  5567. // Note: You must call the "Send" method on the returned request object in order
  5568. // to execute the request.
  5569. //
  5570. // // Example sending a request using the DescribeHostReservationsRequest method.
  5571. // req, resp := client.DescribeHostReservationsRequest(params)
  5572. //
  5573. // err := req.Send()
  5574. // if err == nil { // resp is now filled
  5575. // fmt.Println(resp)
  5576. // }
  5577. //
  5578. func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
  5579. op := &request.Operation{
  5580. Name: opDescribeHostReservations,
  5581. HTTPMethod: "POST",
  5582. HTTPPath: "/",
  5583. }
  5584. if input == nil {
  5585. input = &DescribeHostReservationsInput{}
  5586. }
  5587. req = c.newRequest(op, input, output)
  5588. output = &DescribeHostReservationsOutput{}
  5589. req.Data = output
  5590. return
  5591. }
  5592. // DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
  5593. //
  5594. // Describes Dedicated Host Reservations which are associated with Dedicated
  5595. // Hosts in your account.
  5596. //
  5597. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5598. // with awserr.Error's Code and Message methods to get detailed information about
  5599. // the error.
  5600. //
  5601. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5602. // API operation DescribeHostReservations for usage and error information.
  5603. func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
  5604. req, out := c.DescribeHostReservationsRequest(input)
  5605. err := req.Send()
  5606. return out, err
  5607. }
  5608. const opDescribeHosts = "DescribeHosts"
  5609. // DescribeHostsRequest generates a "aws/request.Request" representing the
  5610. // client's request for the DescribeHosts operation. The "output" return
  5611. // value can be used to capture response data after the request's "Send" method
  5612. // is called.
  5613. //
  5614. // See DescribeHosts for usage and error information.
  5615. //
  5616. // Creating a request object using this method should be used when you want to inject
  5617. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5618. // access properties on the request object before or after sending the request. If
  5619. // you just want the service response, call the DescribeHosts method directly
  5620. // instead.
  5621. //
  5622. // Note: You must call the "Send" method on the returned request object in order
  5623. // to execute the request.
  5624. //
  5625. // // Example sending a request using the DescribeHostsRequest method.
  5626. // req, resp := client.DescribeHostsRequest(params)
  5627. //
  5628. // err := req.Send()
  5629. // if err == nil { // resp is now filled
  5630. // fmt.Println(resp)
  5631. // }
  5632. //
  5633. func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
  5634. op := &request.Operation{
  5635. Name: opDescribeHosts,
  5636. HTTPMethod: "POST",
  5637. HTTPPath: "/",
  5638. }
  5639. if input == nil {
  5640. input = &DescribeHostsInput{}
  5641. }
  5642. req = c.newRequest(op, input, output)
  5643. output = &DescribeHostsOutput{}
  5644. req.Data = output
  5645. return
  5646. }
  5647. // DescribeHosts API operation for Amazon Elastic Compute Cloud.
  5648. //
  5649. // Describes one or more of your Dedicated Hosts.
  5650. //
  5651. // The results describe only the Dedicated Hosts in the region you're currently
  5652. // using. All listed instances consume capacity on your Dedicated Host. Dedicated
  5653. // Hosts that have recently been released will be listed with the state released.
  5654. //
  5655. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5656. // with awserr.Error's Code and Message methods to get detailed information about
  5657. // the error.
  5658. //
  5659. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5660. // API operation DescribeHosts for usage and error information.
  5661. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
  5662. req, out := c.DescribeHostsRequest(input)
  5663. err := req.Send()
  5664. return out, err
  5665. }
  5666. const opDescribeIdFormat = "DescribeIdFormat"
  5667. // DescribeIdFormatRequest generates a "aws/request.Request" representing the
  5668. // client's request for the DescribeIdFormat operation. The "output" return
  5669. // value can be used to capture response data after the request's "Send" method
  5670. // is called.
  5671. //
  5672. // See DescribeIdFormat for usage and error information.
  5673. //
  5674. // Creating a request object using this method should be used when you want to inject
  5675. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5676. // access properties on the request object before or after sending the request. If
  5677. // you just want the service response, call the DescribeIdFormat method directly
  5678. // instead.
  5679. //
  5680. // Note: You must call the "Send" method on the returned request object in order
  5681. // to execute the request.
  5682. //
  5683. // // Example sending a request using the DescribeIdFormatRequest method.
  5684. // req, resp := client.DescribeIdFormatRequest(params)
  5685. //
  5686. // err := req.Send()
  5687. // if err == nil { // resp is now filled
  5688. // fmt.Println(resp)
  5689. // }
  5690. //
  5691. func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
  5692. op := &request.Operation{
  5693. Name: opDescribeIdFormat,
  5694. HTTPMethod: "POST",
  5695. HTTPPath: "/",
  5696. }
  5697. if input == nil {
  5698. input = &DescribeIdFormatInput{}
  5699. }
  5700. req = c.newRequest(op, input, output)
  5701. output = &DescribeIdFormatOutput{}
  5702. req.Data = output
  5703. return
  5704. }
  5705. // DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
  5706. //
  5707. // Describes the ID format settings for your resources on a per-region basis,
  5708. // for example, to view which resource types are enabled for longer IDs. This
  5709. // request only returns information about resource types whose ID formats can
  5710. // be modified; it does not return information about other resource types.
  5711. //
  5712. // The following resource types support longer IDs: instance | reservation |
  5713. // snapshot | volume.
  5714. //
  5715. // These settings apply to the IAM user who makes the request; they do not apply
  5716. // to the entire AWS account. By default, an IAM user defaults to the same settings
  5717. // as the root user, unless they explicitly override the settings by running
  5718. // the ModifyIdFormat command. Resources created with longer IDs are visible
  5719. // to all IAM users, regardless of these settings and provided that they have
  5720. // permission to use the relevant Describe command for the resource type.
  5721. //
  5722. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5723. // with awserr.Error's Code and Message methods to get detailed information about
  5724. // the error.
  5725. //
  5726. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5727. // API operation DescribeIdFormat for usage and error information.
  5728. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
  5729. req, out := c.DescribeIdFormatRequest(input)
  5730. err := req.Send()
  5731. return out, err
  5732. }
  5733. const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
  5734. // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
  5735. // client's request for the DescribeIdentityIdFormat operation. The "output" return
  5736. // value can be used to capture response data after the request's "Send" method
  5737. // is called.
  5738. //
  5739. // See DescribeIdentityIdFormat for usage and error information.
  5740. //
  5741. // Creating a request object using this method should be used when you want to inject
  5742. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5743. // access properties on the request object before or after sending the request. If
  5744. // you just want the service response, call the DescribeIdentityIdFormat method directly
  5745. // instead.
  5746. //
  5747. // Note: You must call the "Send" method on the returned request object in order
  5748. // to execute the request.
  5749. //
  5750. // // Example sending a request using the DescribeIdentityIdFormatRequest method.
  5751. // req, resp := client.DescribeIdentityIdFormatRequest(params)
  5752. //
  5753. // err := req.Send()
  5754. // if err == nil { // resp is now filled
  5755. // fmt.Println(resp)
  5756. // }
  5757. //
  5758. func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
  5759. op := &request.Operation{
  5760. Name: opDescribeIdentityIdFormat,
  5761. HTTPMethod: "POST",
  5762. HTTPPath: "/",
  5763. }
  5764. if input == nil {
  5765. input = &DescribeIdentityIdFormatInput{}
  5766. }
  5767. req = c.newRequest(op, input, output)
  5768. output = &DescribeIdentityIdFormatOutput{}
  5769. req.Data = output
  5770. return
  5771. }
  5772. // DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  5773. //
  5774. // Describes the ID format settings for resources for the specified IAM user,
  5775. // IAM role, or root user. For example, you can view the resource types that
  5776. // are enabled for longer IDs. This request only returns information about resource
  5777. // types whose ID formats can be modified; it does not return information about
  5778. // other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  5779. // in the Amazon Elastic Compute Cloud User Guide.
  5780. //
  5781. // The following resource types support longer IDs: instance | reservation |
  5782. // snapshot | volume.
  5783. //
  5784. // These settings apply to the principal specified in the request. They do not
  5785. // apply to the principal that makes the request.
  5786. //
  5787. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5788. // with awserr.Error's Code and Message methods to get detailed information about
  5789. // the error.
  5790. //
  5791. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5792. // API operation DescribeIdentityIdFormat for usage and error information.
  5793. func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
  5794. req, out := c.DescribeIdentityIdFormatRequest(input)
  5795. err := req.Send()
  5796. return out, err
  5797. }
  5798. const opDescribeImageAttribute = "DescribeImageAttribute"
  5799. // DescribeImageAttributeRequest generates a "aws/request.Request" representing the
  5800. // client's request for the DescribeImageAttribute operation. The "output" return
  5801. // value can be used to capture response data after the request's "Send" method
  5802. // is called.
  5803. //
  5804. // See DescribeImageAttribute for usage and error information.
  5805. //
  5806. // Creating a request object using this method should be used when you want to inject
  5807. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5808. // access properties on the request object before or after sending the request. If
  5809. // you just want the service response, call the DescribeImageAttribute method directly
  5810. // instead.
  5811. //
  5812. // Note: You must call the "Send" method on the returned request object in order
  5813. // to execute the request.
  5814. //
  5815. // // Example sending a request using the DescribeImageAttributeRequest method.
  5816. // req, resp := client.DescribeImageAttributeRequest(params)
  5817. //
  5818. // err := req.Send()
  5819. // if err == nil { // resp is now filled
  5820. // fmt.Println(resp)
  5821. // }
  5822. //
  5823. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  5824. op := &request.Operation{
  5825. Name: opDescribeImageAttribute,
  5826. HTTPMethod: "POST",
  5827. HTTPPath: "/",
  5828. }
  5829. if input == nil {
  5830. input = &DescribeImageAttributeInput{}
  5831. }
  5832. req = c.newRequest(op, input, output)
  5833. output = &DescribeImageAttributeOutput{}
  5834. req.Data = output
  5835. return
  5836. }
  5837. // DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
  5838. //
  5839. // Describes the specified attribute of the specified AMI. You can specify only
  5840. // one attribute at a time.
  5841. //
  5842. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5843. // with awserr.Error's Code and Message methods to get detailed information about
  5844. // the error.
  5845. //
  5846. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5847. // API operation DescribeImageAttribute for usage and error information.
  5848. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  5849. req, out := c.DescribeImageAttributeRequest(input)
  5850. err := req.Send()
  5851. return out, err
  5852. }
  5853. const opDescribeImages = "DescribeImages"
  5854. // DescribeImagesRequest generates a "aws/request.Request" representing the
  5855. // client's request for the DescribeImages operation. The "output" return
  5856. // value can be used to capture response data after the request's "Send" method
  5857. // is called.
  5858. //
  5859. // See DescribeImages for usage and error information.
  5860. //
  5861. // Creating a request object using this method should be used when you want to inject
  5862. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5863. // access properties on the request object before or after sending the request. If
  5864. // you just want the service response, call the DescribeImages method directly
  5865. // instead.
  5866. //
  5867. // Note: You must call the "Send" method on the returned request object in order
  5868. // to execute the request.
  5869. //
  5870. // // Example sending a request using the DescribeImagesRequest method.
  5871. // req, resp := client.DescribeImagesRequest(params)
  5872. //
  5873. // err := req.Send()
  5874. // if err == nil { // resp is now filled
  5875. // fmt.Println(resp)
  5876. // }
  5877. //
  5878. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  5879. op := &request.Operation{
  5880. Name: opDescribeImages,
  5881. HTTPMethod: "POST",
  5882. HTTPPath: "/",
  5883. }
  5884. if input == nil {
  5885. input = &DescribeImagesInput{}
  5886. }
  5887. req = c.newRequest(op, input, output)
  5888. output = &DescribeImagesOutput{}
  5889. req.Data = output
  5890. return
  5891. }
  5892. // DescribeImages API operation for Amazon Elastic Compute Cloud.
  5893. //
  5894. // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
  5895. // Images available to you include public images, private images that you own,
  5896. // and private images owned by other AWS accounts but for which you have explicit
  5897. // launch permissions.
  5898. //
  5899. // Deregistered images are included in the returned results for an unspecified
  5900. // interval after deregistration.
  5901. //
  5902. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5903. // with awserr.Error's Code and Message methods to get detailed information about
  5904. // the error.
  5905. //
  5906. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5907. // API operation DescribeImages for usage and error information.
  5908. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  5909. req, out := c.DescribeImagesRequest(input)
  5910. err := req.Send()
  5911. return out, err
  5912. }
  5913. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  5914. // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
  5915. // client's request for the DescribeImportImageTasks operation. The "output" return
  5916. // value can be used to capture response data after the request's "Send" method
  5917. // is called.
  5918. //
  5919. // See DescribeImportImageTasks for usage and error information.
  5920. //
  5921. // Creating a request object using this method should be used when you want to inject
  5922. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5923. // access properties on the request object before or after sending the request. If
  5924. // you just want the service response, call the DescribeImportImageTasks method directly
  5925. // instead.
  5926. //
  5927. // Note: You must call the "Send" method on the returned request object in order
  5928. // to execute the request.
  5929. //
  5930. // // Example sending a request using the DescribeImportImageTasksRequest method.
  5931. // req, resp := client.DescribeImportImageTasksRequest(params)
  5932. //
  5933. // err := req.Send()
  5934. // if err == nil { // resp is now filled
  5935. // fmt.Println(resp)
  5936. // }
  5937. //
  5938. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  5939. op := &request.Operation{
  5940. Name: opDescribeImportImageTasks,
  5941. HTTPMethod: "POST",
  5942. HTTPPath: "/",
  5943. }
  5944. if input == nil {
  5945. input = &DescribeImportImageTasksInput{}
  5946. }
  5947. req = c.newRequest(op, input, output)
  5948. output = &DescribeImportImageTasksOutput{}
  5949. req.Data = output
  5950. return
  5951. }
  5952. // DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
  5953. //
  5954. // Displays details about an import virtual machine or import snapshot tasks
  5955. // that are already created.
  5956. //
  5957. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5958. // with awserr.Error's Code and Message methods to get detailed information about
  5959. // the error.
  5960. //
  5961. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5962. // API operation DescribeImportImageTasks for usage and error information.
  5963. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  5964. req, out := c.DescribeImportImageTasksRequest(input)
  5965. err := req.Send()
  5966. return out, err
  5967. }
  5968. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  5969. // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
  5970. // client's request for the DescribeImportSnapshotTasks operation. The "output" return
  5971. // value can be used to capture response data after the request's "Send" method
  5972. // is called.
  5973. //
  5974. // See DescribeImportSnapshotTasks for usage and error information.
  5975. //
  5976. // Creating a request object using this method should be used when you want to inject
  5977. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5978. // access properties on the request object before or after sending the request. If
  5979. // you just want the service response, call the DescribeImportSnapshotTasks method directly
  5980. // instead.
  5981. //
  5982. // Note: You must call the "Send" method on the returned request object in order
  5983. // to execute the request.
  5984. //
  5985. // // Example sending a request using the DescribeImportSnapshotTasksRequest method.
  5986. // req, resp := client.DescribeImportSnapshotTasksRequest(params)
  5987. //
  5988. // err := req.Send()
  5989. // if err == nil { // resp is now filled
  5990. // fmt.Println(resp)
  5991. // }
  5992. //
  5993. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  5994. op := &request.Operation{
  5995. Name: opDescribeImportSnapshotTasks,
  5996. HTTPMethod: "POST",
  5997. HTTPPath: "/",
  5998. }
  5999. if input == nil {
  6000. input = &DescribeImportSnapshotTasksInput{}
  6001. }
  6002. req = c.newRequest(op, input, output)
  6003. output = &DescribeImportSnapshotTasksOutput{}
  6004. req.Data = output
  6005. return
  6006. }
  6007. // DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
  6008. //
  6009. // Describes your import snapshot tasks.
  6010. //
  6011. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6012. // with awserr.Error's Code and Message methods to get detailed information about
  6013. // the error.
  6014. //
  6015. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6016. // API operation DescribeImportSnapshotTasks for usage and error information.
  6017. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  6018. req, out := c.DescribeImportSnapshotTasksRequest(input)
  6019. err := req.Send()
  6020. return out, err
  6021. }
  6022. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  6023. // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  6024. // client's request for the DescribeInstanceAttribute operation. The "output" return
  6025. // value can be used to capture response data after the request's "Send" method
  6026. // is called.
  6027. //
  6028. // See DescribeInstanceAttribute for usage and error information.
  6029. //
  6030. // Creating a request object using this method should be used when you want to inject
  6031. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6032. // access properties on the request object before or after sending the request. If
  6033. // you just want the service response, call the DescribeInstanceAttribute method directly
  6034. // instead.
  6035. //
  6036. // Note: You must call the "Send" method on the returned request object in order
  6037. // to execute the request.
  6038. //
  6039. // // Example sending a request using the DescribeInstanceAttributeRequest method.
  6040. // req, resp := client.DescribeInstanceAttributeRequest(params)
  6041. //
  6042. // err := req.Send()
  6043. // if err == nil { // resp is now filled
  6044. // fmt.Println(resp)
  6045. // }
  6046. //
  6047. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  6048. op := &request.Operation{
  6049. Name: opDescribeInstanceAttribute,
  6050. HTTPMethod: "POST",
  6051. HTTPPath: "/",
  6052. }
  6053. if input == nil {
  6054. input = &DescribeInstanceAttributeInput{}
  6055. }
  6056. req = c.newRequest(op, input, output)
  6057. output = &DescribeInstanceAttributeOutput{}
  6058. req.Data = output
  6059. return
  6060. }
  6061. // DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  6062. //
  6063. // Describes the specified attribute of the specified instance. You can specify
  6064. // only one attribute at a time. Valid attribute values are: instanceType |
  6065. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  6066. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  6067. // groupSet | ebsOptimized | sriovNetSupport
  6068. //
  6069. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6070. // with awserr.Error's Code and Message methods to get detailed information about
  6071. // the error.
  6072. //
  6073. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6074. // API operation DescribeInstanceAttribute for usage and error information.
  6075. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  6076. req, out := c.DescribeInstanceAttributeRequest(input)
  6077. err := req.Send()
  6078. return out, err
  6079. }
  6080. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  6081. // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
  6082. // client's request for the DescribeInstanceStatus operation. The "output" return
  6083. // value can be used to capture response data after the request's "Send" method
  6084. // is called.
  6085. //
  6086. // See DescribeInstanceStatus for usage and error information.
  6087. //
  6088. // Creating a request object using this method should be used when you want to inject
  6089. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6090. // access properties on the request object before or after sending the request. If
  6091. // you just want the service response, call the DescribeInstanceStatus method directly
  6092. // instead.
  6093. //
  6094. // Note: You must call the "Send" method on the returned request object in order
  6095. // to execute the request.
  6096. //
  6097. // // Example sending a request using the DescribeInstanceStatusRequest method.
  6098. // req, resp := client.DescribeInstanceStatusRequest(params)
  6099. //
  6100. // err := req.Send()
  6101. // if err == nil { // resp is now filled
  6102. // fmt.Println(resp)
  6103. // }
  6104. //
  6105. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  6106. op := &request.Operation{
  6107. Name: opDescribeInstanceStatus,
  6108. HTTPMethod: "POST",
  6109. HTTPPath: "/",
  6110. Paginator: &request.Paginator{
  6111. InputTokens: []string{"NextToken"},
  6112. OutputTokens: []string{"NextToken"},
  6113. LimitToken: "MaxResults",
  6114. TruncationToken: "",
  6115. },
  6116. }
  6117. if input == nil {
  6118. input = &DescribeInstanceStatusInput{}
  6119. }
  6120. req = c.newRequest(op, input, output)
  6121. output = &DescribeInstanceStatusOutput{}
  6122. req.Data = output
  6123. return
  6124. }
  6125. // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
  6126. //
  6127. // Describes the status of one or more instances. By default, only running instances
  6128. // are described, unless specified otherwise.
  6129. //
  6130. // Instance status includes the following components:
  6131. //
  6132. // * Status checks - Amazon EC2 performs status checks on running EC2 instances
  6133. // to identify hardware and software issues. For more information, see Status
  6134. // Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  6135. // and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  6136. // in the Amazon Elastic Compute Cloud User Guide.
  6137. //
  6138. // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  6139. // or terminate) for your instances related to hardware issues, software
  6140. // updates, or system maintenance. For more information, see Scheduled Events
  6141. // for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  6142. // in the Amazon Elastic Compute Cloud User Guide.
  6143. //
  6144. // * Instance state - You can manage your instances from the moment you launch
  6145. // them through their termination. For more information, see Instance Lifecycle
  6146. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  6147. // in the Amazon Elastic Compute Cloud User Guide.
  6148. //
  6149. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6150. // with awserr.Error's Code and Message methods to get detailed information about
  6151. // the error.
  6152. //
  6153. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6154. // API operation DescribeInstanceStatus for usage and error information.
  6155. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  6156. req, out := c.DescribeInstanceStatusRequest(input)
  6157. err := req.Send()
  6158. return out, err
  6159. }
  6160. // DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
  6161. // calling the "fn" function with the response data for each page. To stop
  6162. // iterating, return false from the fn function.
  6163. //
  6164. // See DescribeInstanceStatus method for more information on how to use this operation.
  6165. //
  6166. // Note: This operation can generate multiple requests to a service.
  6167. //
  6168. // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
  6169. // pageNum := 0
  6170. // err := client.DescribeInstanceStatusPages(params,
  6171. // func(page *DescribeInstanceStatusOutput, lastPage bool) bool {
  6172. // pageNum++
  6173. // fmt.Println(page)
  6174. // return pageNum <= 3
  6175. // })
  6176. //
  6177. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(p *DescribeInstanceStatusOutput, lastPage bool) (shouldContinue bool)) error {
  6178. page, _ := c.DescribeInstanceStatusRequest(input)
  6179. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6180. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6181. return fn(p.(*DescribeInstanceStatusOutput), lastPage)
  6182. })
  6183. }
  6184. const opDescribeInstances = "DescribeInstances"
  6185. // DescribeInstancesRequest generates a "aws/request.Request" representing the
  6186. // client's request for the DescribeInstances operation. The "output" return
  6187. // value can be used to capture response data after the request's "Send" method
  6188. // is called.
  6189. //
  6190. // See DescribeInstances for usage and error information.
  6191. //
  6192. // Creating a request object using this method should be used when you want to inject
  6193. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6194. // access properties on the request object before or after sending the request. If
  6195. // you just want the service response, call the DescribeInstances method directly
  6196. // instead.
  6197. //
  6198. // Note: You must call the "Send" method on the returned request object in order
  6199. // to execute the request.
  6200. //
  6201. // // Example sending a request using the DescribeInstancesRequest method.
  6202. // req, resp := client.DescribeInstancesRequest(params)
  6203. //
  6204. // err := req.Send()
  6205. // if err == nil { // resp is now filled
  6206. // fmt.Println(resp)
  6207. // }
  6208. //
  6209. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  6210. op := &request.Operation{
  6211. Name: opDescribeInstances,
  6212. HTTPMethod: "POST",
  6213. HTTPPath: "/",
  6214. Paginator: &request.Paginator{
  6215. InputTokens: []string{"NextToken"},
  6216. OutputTokens: []string{"NextToken"},
  6217. LimitToken: "MaxResults",
  6218. TruncationToken: "",
  6219. },
  6220. }
  6221. if input == nil {
  6222. input = &DescribeInstancesInput{}
  6223. }
  6224. req = c.newRequest(op, input, output)
  6225. output = &DescribeInstancesOutput{}
  6226. req.Data = output
  6227. return
  6228. }
  6229. // DescribeInstances API operation for Amazon Elastic Compute Cloud.
  6230. //
  6231. // Describes one or more of your instances.
  6232. //
  6233. // If you specify one or more instance IDs, Amazon EC2 returns information for
  6234. // those instances. If you do not specify instance IDs, Amazon EC2 returns information
  6235. // for all relevant instances. If you specify an instance ID that is not valid,
  6236. // an error is returned. If you specify an instance that you do not own, it
  6237. // is not included in the returned results.
  6238. //
  6239. // Recently terminated instances might appear in the returned results. This
  6240. // interval is usually less than one hour.
  6241. //
  6242. // If you describe instances in the rare case where an Availability Zone is
  6243. // experiencing a service disruption and you specify instance IDs that are in
  6244. // the affected zone, or do not specify any instance IDs at all, the call fails.
  6245. // If you describe instances and specify only instance IDs that are in an unaffected
  6246. // zone, the call works normally.
  6247. //
  6248. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6249. // with awserr.Error's Code and Message methods to get detailed information about
  6250. // the error.
  6251. //
  6252. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6253. // API operation DescribeInstances for usage and error information.
  6254. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  6255. req, out := c.DescribeInstancesRequest(input)
  6256. err := req.Send()
  6257. return out, err
  6258. }
  6259. // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  6260. // calling the "fn" function with the response data for each page. To stop
  6261. // iterating, return false from the fn function.
  6262. //
  6263. // See DescribeInstances method for more information on how to use this operation.
  6264. //
  6265. // Note: This operation can generate multiple requests to a service.
  6266. //
  6267. // // Example iterating over at most 3 pages of a DescribeInstances operation.
  6268. // pageNum := 0
  6269. // err := client.DescribeInstancesPages(params,
  6270. // func(page *DescribeInstancesOutput, lastPage bool) bool {
  6271. // pageNum++
  6272. // fmt.Println(page)
  6273. // return pageNum <= 3
  6274. // })
  6275. //
  6276. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(p *DescribeInstancesOutput, lastPage bool) (shouldContinue bool)) error {
  6277. page, _ := c.DescribeInstancesRequest(input)
  6278. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6279. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6280. return fn(p.(*DescribeInstancesOutput), lastPage)
  6281. })
  6282. }
  6283. const opDescribeInternetGateways = "DescribeInternetGateways"
  6284. // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
  6285. // client's request for the DescribeInternetGateways operation. The "output" return
  6286. // value can be used to capture response data after the request's "Send" method
  6287. // is called.
  6288. //
  6289. // See DescribeInternetGateways for usage and error information.
  6290. //
  6291. // Creating a request object using this method should be used when you want to inject
  6292. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6293. // access properties on the request object before or after sending the request. If
  6294. // you just want the service response, call the DescribeInternetGateways method directly
  6295. // instead.
  6296. //
  6297. // Note: You must call the "Send" method on the returned request object in order
  6298. // to execute the request.
  6299. //
  6300. // // Example sending a request using the DescribeInternetGatewaysRequest method.
  6301. // req, resp := client.DescribeInternetGatewaysRequest(params)
  6302. //
  6303. // err := req.Send()
  6304. // if err == nil { // resp is now filled
  6305. // fmt.Println(resp)
  6306. // }
  6307. //
  6308. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  6309. op := &request.Operation{
  6310. Name: opDescribeInternetGateways,
  6311. HTTPMethod: "POST",
  6312. HTTPPath: "/",
  6313. }
  6314. if input == nil {
  6315. input = &DescribeInternetGatewaysInput{}
  6316. }
  6317. req = c.newRequest(op, input, output)
  6318. output = &DescribeInternetGatewaysOutput{}
  6319. req.Data = output
  6320. return
  6321. }
  6322. // DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
  6323. //
  6324. // Describes one or more of your Internet gateways.
  6325. //
  6326. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6327. // with awserr.Error's Code and Message methods to get detailed information about
  6328. // the error.
  6329. //
  6330. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6331. // API operation DescribeInternetGateways for usage and error information.
  6332. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  6333. req, out := c.DescribeInternetGatewaysRequest(input)
  6334. err := req.Send()
  6335. return out, err
  6336. }
  6337. const opDescribeKeyPairs = "DescribeKeyPairs"
  6338. // DescribeKeyPairsRequest generates a "aws/request.Request" representing the
  6339. // client's request for the DescribeKeyPairs operation. The "output" return
  6340. // value can be used to capture response data after the request's "Send" method
  6341. // is called.
  6342. //
  6343. // See DescribeKeyPairs for usage and error information.
  6344. //
  6345. // Creating a request object using this method should be used when you want to inject
  6346. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6347. // access properties on the request object before or after sending the request. If
  6348. // you just want the service response, call the DescribeKeyPairs method directly
  6349. // instead.
  6350. //
  6351. // Note: You must call the "Send" method on the returned request object in order
  6352. // to execute the request.
  6353. //
  6354. // // Example sending a request using the DescribeKeyPairsRequest method.
  6355. // req, resp := client.DescribeKeyPairsRequest(params)
  6356. //
  6357. // err := req.Send()
  6358. // if err == nil { // resp is now filled
  6359. // fmt.Println(resp)
  6360. // }
  6361. //
  6362. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  6363. op := &request.Operation{
  6364. Name: opDescribeKeyPairs,
  6365. HTTPMethod: "POST",
  6366. HTTPPath: "/",
  6367. }
  6368. if input == nil {
  6369. input = &DescribeKeyPairsInput{}
  6370. }
  6371. req = c.newRequest(op, input, output)
  6372. output = &DescribeKeyPairsOutput{}
  6373. req.Data = output
  6374. return
  6375. }
  6376. // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
  6377. //
  6378. // Describes one or more of your key pairs.
  6379. //
  6380. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  6381. // in the Amazon Elastic Compute Cloud User Guide.
  6382. //
  6383. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6384. // with awserr.Error's Code and Message methods to get detailed information about
  6385. // the error.
  6386. //
  6387. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6388. // API operation DescribeKeyPairs for usage and error information.
  6389. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  6390. req, out := c.DescribeKeyPairsRequest(input)
  6391. err := req.Send()
  6392. return out, err
  6393. }
  6394. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  6395. // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
  6396. // client's request for the DescribeMovingAddresses operation. The "output" return
  6397. // value can be used to capture response data after the request's "Send" method
  6398. // is called.
  6399. //
  6400. // See DescribeMovingAddresses for usage and error information.
  6401. //
  6402. // Creating a request object using this method should be used when you want to inject
  6403. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6404. // access properties on the request object before or after sending the request. If
  6405. // you just want the service response, call the DescribeMovingAddresses method directly
  6406. // instead.
  6407. //
  6408. // Note: You must call the "Send" method on the returned request object in order
  6409. // to execute the request.
  6410. //
  6411. // // Example sending a request using the DescribeMovingAddressesRequest method.
  6412. // req, resp := client.DescribeMovingAddressesRequest(params)
  6413. //
  6414. // err := req.Send()
  6415. // if err == nil { // resp is now filled
  6416. // fmt.Println(resp)
  6417. // }
  6418. //
  6419. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  6420. op := &request.Operation{
  6421. Name: opDescribeMovingAddresses,
  6422. HTTPMethod: "POST",
  6423. HTTPPath: "/",
  6424. }
  6425. if input == nil {
  6426. input = &DescribeMovingAddressesInput{}
  6427. }
  6428. req = c.newRequest(op, input, output)
  6429. output = &DescribeMovingAddressesOutput{}
  6430. req.Data = output
  6431. return
  6432. }
  6433. // DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
  6434. //
  6435. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  6436. // or that are being restored to the EC2-Classic platform. This request does
  6437. // not return information about any other Elastic IP addresses in your account.
  6438. //
  6439. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6440. // with awserr.Error's Code and Message methods to get detailed information about
  6441. // the error.
  6442. //
  6443. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6444. // API operation DescribeMovingAddresses for usage and error information.
  6445. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  6446. req, out := c.DescribeMovingAddressesRequest(input)
  6447. err := req.Send()
  6448. return out, err
  6449. }
  6450. const opDescribeNatGateways = "DescribeNatGateways"
  6451. // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
  6452. // client's request for the DescribeNatGateways operation. The "output" return
  6453. // value can be used to capture response data after the request's "Send" method
  6454. // is called.
  6455. //
  6456. // See DescribeNatGateways for usage and error information.
  6457. //
  6458. // Creating a request object using this method should be used when you want to inject
  6459. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6460. // access properties on the request object before or after sending the request. If
  6461. // you just want the service response, call the DescribeNatGateways method directly
  6462. // instead.
  6463. //
  6464. // Note: You must call the "Send" method on the returned request object in order
  6465. // to execute the request.
  6466. //
  6467. // // Example sending a request using the DescribeNatGatewaysRequest method.
  6468. // req, resp := client.DescribeNatGatewaysRequest(params)
  6469. //
  6470. // err := req.Send()
  6471. // if err == nil { // resp is now filled
  6472. // fmt.Println(resp)
  6473. // }
  6474. //
  6475. func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
  6476. op := &request.Operation{
  6477. Name: opDescribeNatGateways,
  6478. HTTPMethod: "POST",
  6479. HTTPPath: "/",
  6480. }
  6481. if input == nil {
  6482. input = &DescribeNatGatewaysInput{}
  6483. }
  6484. req = c.newRequest(op, input, output)
  6485. output = &DescribeNatGatewaysOutput{}
  6486. req.Data = output
  6487. return
  6488. }
  6489. // DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
  6490. //
  6491. // Describes one or more of the your NAT gateways.
  6492. //
  6493. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6494. // with awserr.Error's Code and Message methods to get detailed information about
  6495. // the error.
  6496. //
  6497. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6498. // API operation DescribeNatGateways for usage and error information.
  6499. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
  6500. req, out := c.DescribeNatGatewaysRequest(input)
  6501. err := req.Send()
  6502. return out, err
  6503. }
  6504. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  6505. // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
  6506. // client's request for the DescribeNetworkAcls operation. The "output" return
  6507. // value can be used to capture response data after the request's "Send" method
  6508. // is called.
  6509. //
  6510. // See DescribeNetworkAcls for usage and error information.
  6511. //
  6512. // Creating a request object using this method should be used when you want to inject
  6513. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6514. // access properties on the request object before or after sending the request. If
  6515. // you just want the service response, call the DescribeNetworkAcls method directly
  6516. // instead.
  6517. //
  6518. // Note: You must call the "Send" method on the returned request object in order
  6519. // to execute the request.
  6520. //
  6521. // // Example sending a request using the DescribeNetworkAclsRequest method.
  6522. // req, resp := client.DescribeNetworkAclsRequest(params)
  6523. //
  6524. // err := req.Send()
  6525. // if err == nil { // resp is now filled
  6526. // fmt.Println(resp)
  6527. // }
  6528. //
  6529. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  6530. op := &request.Operation{
  6531. Name: opDescribeNetworkAcls,
  6532. HTTPMethod: "POST",
  6533. HTTPPath: "/",
  6534. }
  6535. if input == nil {
  6536. input = &DescribeNetworkAclsInput{}
  6537. }
  6538. req = c.newRequest(op, input, output)
  6539. output = &DescribeNetworkAclsOutput{}
  6540. req.Data = output
  6541. return
  6542. }
  6543. // DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
  6544. //
  6545. // Describes one or more of your network ACLs.
  6546. //
  6547. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  6548. // in the Amazon Virtual Private Cloud User Guide.
  6549. //
  6550. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6551. // with awserr.Error's Code and Message methods to get detailed information about
  6552. // the error.
  6553. //
  6554. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6555. // API operation DescribeNetworkAcls for usage and error information.
  6556. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  6557. req, out := c.DescribeNetworkAclsRequest(input)
  6558. err := req.Send()
  6559. return out, err
  6560. }
  6561. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  6562. // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  6563. // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
  6564. // value can be used to capture response data after the request's "Send" method
  6565. // is called.
  6566. //
  6567. // See DescribeNetworkInterfaceAttribute for usage and error information.
  6568. //
  6569. // Creating a request object using this method should be used when you want to inject
  6570. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6571. // access properties on the request object before or after sending the request. If
  6572. // you just want the service response, call the DescribeNetworkInterfaceAttribute method directly
  6573. // instead.
  6574. //
  6575. // Note: You must call the "Send" method on the returned request object in order
  6576. // to execute the request.
  6577. //
  6578. // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
  6579. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
  6580. //
  6581. // err := req.Send()
  6582. // if err == nil { // resp is now filled
  6583. // fmt.Println(resp)
  6584. // }
  6585. //
  6586. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  6587. op := &request.Operation{
  6588. Name: opDescribeNetworkInterfaceAttribute,
  6589. HTTPMethod: "POST",
  6590. HTTPPath: "/",
  6591. }
  6592. if input == nil {
  6593. input = &DescribeNetworkInterfaceAttributeInput{}
  6594. }
  6595. req = c.newRequest(op, input, output)
  6596. output = &DescribeNetworkInterfaceAttributeOutput{}
  6597. req.Data = output
  6598. return
  6599. }
  6600. // DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  6601. //
  6602. // Describes a network interface attribute. You can specify only one attribute
  6603. // at a time.
  6604. //
  6605. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6606. // with awserr.Error's Code and Message methods to get detailed information about
  6607. // the error.
  6608. //
  6609. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6610. // API operation DescribeNetworkInterfaceAttribute for usage and error information.
  6611. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  6612. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  6613. err := req.Send()
  6614. return out, err
  6615. }
  6616. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  6617. // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
  6618. // client's request for the DescribeNetworkInterfaces operation. The "output" return
  6619. // value can be used to capture response data after the request's "Send" method
  6620. // is called.
  6621. //
  6622. // See DescribeNetworkInterfaces for usage and error information.
  6623. //
  6624. // Creating a request object using this method should be used when you want to inject
  6625. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6626. // access properties on the request object before or after sending the request. If
  6627. // you just want the service response, call the DescribeNetworkInterfaces method directly
  6628. // instead.
  6629. //
  6630. // Note: You must call the "Send" method on the returned request object in order
  6631. // to execute the request.
  6632. //
  6633. // // Example sending a request using the DescribeNetworkInterfacesRequest method.
  6634. // req, resp := client.DescribeNetworkInterfacesRequest(params)
  6635. //
  6636. // err := req.Send()
  6637. // if err == nil { // resp is now filled
  6638. // fmt.Println(resp)
  6639. // }
  6640. //
  6641. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  6642. op := &request.Operation{
  6643. Name: opDescribeNetworkInterfaces,
  6644. HTTPMethod: "POST",
  6645. HTTPPath: "/",
  6646. }
  6647. if input == nil {
  6648. input = &DescribeNetworkInterfacesInput{}
  6649. }
  6650. req = c.newRequest(op, input, output)
  6651. output = &DescribeNetworkInterfacesOutput{}
  6652. req.Data = output
  6653. return
  6654. }
  6655. // DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
  6656. //
  6657. // Describes one or more of your network interfaces.
  6658. //
  6659. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6660. // with awserr.Error's Code and Message methods to get detailed information about
  6661. // the error.
  6662. //
  6663. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6664. // API operation DescribeNetworkInterfaces for usage and error information.
  6665. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  6666. req, out := c.DescribeNetworkInterfacesRequest(input)
  6667. err := req.Send()
  6668. return out, err
  6669. }
  6670. const opDescribePlacementGroups = "DescribePlacementGroups"
  6671. // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
  6672. // client's request for the DescribePlacementGroups operation. The "output" return
  6673. // value can be used to capture response data after the request's "Send" method
  6674. // is called.
  6675. //
  6676. // See DescribePlacementGroups for usage and error information.
  6677. //
  6678. // Creating a request object using this method should be used when you want to inject
  6679. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6680. // access properties on the request object before or after sending the request. If
  6681. // you just want the service response, call the DescribePlacementGroups method directly
  6682. // instead.
  6683. //
  6684. // Note: You must call the "Send" method on the returned request object in order
  6685. // to execute the request.
  6686. //
  6687. // // Example sending a request using the DescribePlacementGroupsRequest method.
  6688. // req, resp := client.DescribePlacementGroupsRequest(params)
  6689. //
  6690. // err := req.Send()
  6691. // if err == nil { // resp is now filled
  6692. // fmt.Println(resp)
  6693. // }
  6694. //
  6695. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  6696. op := &request.Operation{
  6697. Name: opDescribePlacementGroups,
  6698. HTTPMethod: "POST",
  6699. HTTPPath: "/",
  6700. }
  6701. if input == nil {
  6702. input = &DescribePlacementGroupsInput{}
  6703. }
  6704. req = c.newRequest(op, input, output)
  6705. output = &DescribePlacementGroupsOutput{}
  6706. req.Data = output
  6707. return
  6708. }
  6709. // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
  6710. //
  6711. // Describes one or more of your placement groups. For more information about
  6712. // placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  6713. // in the Amazon Elastic Compute Cloud User Guide.
  6714. //
  6715. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6716. // with awserr.Error's Code and Message methods to get detailed information about
  6717. // the error.
  6718. //
  6719. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6720. // API operation DescribePlacementGroups for usage and error information.
  6721. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  6722. req, out := c.DescribePlacementGroupsRequest(input)
  6723. err := req.Send()
  6724. return out, err
  6725. }
  6726. const opDescribePrefixLists = "DescribePrefixLists"
  6727. // DescribePrefixListsRequest generates a "aws/request.Request" representing the
  6728. // client's request for the DescribePrefixLists operation. The "output" return
  6729. // value can be used to capture response data after the request's "Send" method
  6730. // is called.
  6731. //
  6732. // See DescribePrefixLists for usage and error information.
  6733. //
  6734. // Creating a request object using this method should be used when you want to inject
  6735. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6736. // access properties on the request object before or after sending the request. If
  6737. // you just want the service response, call the DescribePrefixLists method directly
  6738. // instead.
  6739. //
  6740. // Note: You must call the "Send" method on the returned request object in order
  6741. // to execute the request.
  6742. //
  6743. // // Example sending a request using the DescribePrefixListsRequest method.
  6744. // req, resp := client.DescribePrefixListsRequest(params)
  6745. //
  6746. // err := req.Send()
  6747. // if err == nil { // resp is now filled
  6748. // fmt.Println(resp)
  6749. // }
  6750. //
  6751. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  6752. op := &request.Operation{
  6753. Name: opDescribePrefixLists,
  6754. HTTPMethod: "POST",
  6755. HTTPPath: "/",
  6756. }
  6757. if input == nil {
  6758. input = &DescribePrefixListsInput{}
  6759. }
  6760. req = c.newRequest(op, input, output)
  6761. output = &DescribePrefixListsOutput{}
  6762. req.Data = output
  6763. return
  6764. }
  6765. // DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
  6766. //
  6767. // Describes available AWS services in a prefix list format, which includes
  6768. // the prefix list name and prefix list ID of the service and the IP address
  6769. // range for the service. A prefix list ID is required for creating an outbound
  6770. // security group rule that allows traffic from a VPC to access an AWS service
  6771. // through a VPC endpoint.
  6772. //
  6773. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6774. // with awserr.Error's Code and Message methods to get detailed information about
  6775. // the error.
  6776. //
  6777. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6778. // API operation DescribePrefixLists for usage and error information.
  6779. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  6780. req, out := c.DescribePrefixListsRequest(input)
  6781. err := req.Send()
  6782. return out, err
  6783. }
  6784. const opDescribeRegions = "DescribeRegions"
  6785. // DescribeRegionsRequest generates a "aws/request.Request" representing the
  6786. // client's request for the DescribeRegions operation. The "output" return
  6787. // value can be used to capture response data after the request's "Send" method
  6788. // is called.
  6789. //
  6790. // See DescribeRegions for usage and error information.
  6791. //
  6792. // Creating a request object using this method should be used when you want to inject
  6793. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6794. // access properties on the request object before or after sending the request. If
  6795. // you just want the service response, call the DescribeRegions method directly
  6796. // instead.
  6797. //
  6798. // Note: You must call the "Send" method on the returned request object in order
  6799. // to execute the request.
  6800. //
  6801. // // Example sending a request using the DescribeRegionsRequest method.
  6802. // req, resp := client.DescribeRegionsRequest(params)
  6803. //
  6804. // err := req.Send()
  6805. // if err == nil { // resp is now filled
  6806. // fmt.Println(resp)
  6807. // }
  6808. //
  6809. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  6810. op := &request.Operation{
  6811. Name: opDescribeRegions,
  6812. HTTPMethod: "POST",
  6813. HTTPPath: "/",
  6814. }
  6815. if input == nil {
  6816. input = &DescribeRegionsInput{}
  6817. }
  6818. req = c.newRequest(op, input, output)
  6819. output = &DescribeRegionsOutput{}
  6820. req.Data = output
  6821. return
  6822. }
  6823. // DescribeRegions API operation for Amazon Elastic Compute Cloud.
  6824. //
  6825. // Describes one or more regions that are currently available to you.
  6826. //
  6827. // For a list of the regions supported by Amazon EC2, see Regions and Endpoints
  6828. // (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  6829. //
  6830. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6831. // with awserr.Error's Code and Message methods to get detailed information about
  6832. // the error.
  6833. //
  6834. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6835. // API operation DescribeRegions for usage and error information.
  6836. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  6837. req, out := c.DescribeRegionsRequest(input)
  6838. err := req.Send()
  6839. return out, err
  6840. }
  6841. const opDescribeReservedInstances = "DescribeReservedInstances"
  6842. // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  6843. // client's request for the DescribeReservedInstances operation. The "output" return
  6844. // value can be used to capture response data after the request's "Send" method
  6845. // is called.
  6846. //
  6847. // See DescribeReservedInstances for usage and error information.
  6848. //
  6849. // Creating a request object using this method should be used when you want to inject
  6850. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6851. // access properties on the request object before or after sending the request. If
  6852. // you just want the service response, call the DescribeReservedInstances method directly
  6853. // instead.
  6854. //
  6855. // Note: You must call the "Send" method on the returned request object in order
  6856. // to execute the request.
  6857. //
  6858. // // Example sending a request using the DescribeReservedInstancesRequest method.
  6859. // req, resp := client.DescribeReservedInstancesRequest(params)
  6860. //
  6861. // err := req.Send()
  6862. // if err == nil { // resp is now filled
  6863. // fmt.Println(resp)
  6864. // }
  6865. //
  6866. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  6867. op := &request.Operation{
  6868. Name: opDescribeReservedInstances,
  6869. HTTPMethod: "POST",
  6870. HTTPPath: "/",
  6871. }
  6872. if input == nil {
  6873. input = &DescribeReservedInstancesInput{}
  6874. }
  6875. req = c.newRequest(op, input, output)
  6876. output = &DescribeReservedInstancesOutput{}
  6877. req.Data = output
  6878. return
  6879. }
  6880. // DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
  6881. //
  6882. // Describes one or more of the Reserved Instances that you purchased.
  6883. //
  6884. // For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  6885. // in the Amazon Elastic Compute Cloud User Guide.
  6886. //
  6887. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6888. // with awserr.Error's Code and Message methods to get detailed information about
  6889. // the error.
  6890. //
  6891. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6892. // API operation DescribeReservedInstances for usage and error information.
  6893. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  6894. req, out := c.DescribeReservedInstancesRequest(input)
  6895. err := req.Send()
  6896. return out, err
  6897. }
  6898. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  6899. // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
  6900. // client's request for the DescribeReservedInstancesListings operation. The "output" return
  6901. // value can be used to capture response data after the request's "Send" method
  6902. // is called.
  6903. //
  6904. // See DescribeReservedInstancesListings for usage and error information.
  6905. //
  6906. // Creating a request object using this method should be used when you want to inject
  6907. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6908. // access properties on the request object before or after sending the request. If
  6909. // you just want the service response, call the DescribeReservedInstancesListings method directly
  6910. // instead.
  6911. //
  6912. // Note: You must call the "Send" method on the returned request object in order
  6913. // to execute the request.
  6914. //
  6915. // // Example sending a request using the DescribeReservedInstancesListingsRequest method.
  6916. // req, resp := client.DescribeReservedInstancesListingsRequest(params)
  6917. //
  6918. // err := req.Send()
  6919. // if err == nil { // resp is now filled
  6920. // fmt.Println(resp)
  6921. // }
  6922. //
  6923. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  6924. op := &request.Operation{
  6925. Name: opDescribeReservedInstancesListings,
  6926. HTTPMethod: "POST",
  6927. HTTPPath: "/",
  6928. }
  6929. if input == nil {
  6930. input = &DescribeReservedInstancesListingsInput{}
  6931. }
  6932. req = c.newRequest(op, input, output)
  6933. output = &DescribeReservedInstancesListingsOutput{}
  6934. req.Data = output
  6935. return
  6936. }
  6937. // DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
  6938. //
  6939. // Describes your account's Reserved Instance listings in the Reserved Instance
  6940. // Marketplace.
  6941. //
  6942. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  6943. // Instance capacity that they no longer need with buyers who want to purchase
  6944. // additional capacity. Reserved Instances bought and sold through the Reserved
  6945. // Instance Marketplace work like any other Reserved Instances.
  6946. //
  6947. // As a seller, you choose to list some or all of your Reserved Instances, and
  6948. // you specify the upfront price to receive for them. Your Reserved Instances
  6949. // are then listed in the Reserved Instance Marketplace and are available for
  6950. // purchase.
  6951. //
  6952. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  6953. // and the Marketplace matches what you're searching for with what's available.
  6954. // The Marketplace first sells the lowest priced Reserved Instances to you,
  6955. // and continues to sell available Reserved Instance listings to you until your
  6956. // demand is met. You are charged based on the total price of all of the listings
  6957. // that you purchase.
  6958. //
  6959. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  6960. // in the Amazon Elastic Compute Cloud User Guide.
  6961. //
  6962. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6963. // with awserr.Error's Code and Message methods to get detailed information about
  6964. // the error.
  6965. //
  6966. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6967. // API operation DescribeReservedInstancesListings for usage and error information.
  6968. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  6969. req, out := c.DescribeReservedInstancesListingsRequest(input)
  6970. err := req.Send()
  6971. return out, err
  6972. }
  6973. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  6974. // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
  6975. // client's request for the DescribeReservedInstancesModifications operation. The "output" return
  6976. // value can be used to capture response data after the request's "Send" method
  6977. // is called.
  6978. //
  6979. // See DescribeReservedInstancesModifications for usage and error information.
  6980. //
  6981. // Creating a request object using this method should be used when you want to inject
  6982. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6983. // access properties on the request object before or after sending the request. If
  6984. // you just want the service response, call the DescribeReservedInstancesModifications method directly
  6985. // instead.
  6986. //
  6987. // Note: You must call the "Send" method on the returned request object in order
  6988. // to execute the request.
  6989. //
  6990. // // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
  6991. // req, resp := client.DescribeReservedInstancesModificationsRequest(params)
  6992. //
  6993. // err := req.Send()
  6994. // if err == nil { // resp is now filled
  6995. // fmt.Println(resp)
  6996. // }
  6997. //
  6998. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  6999. op := &request.Operation{
  7000. Name: opDescribeReservedInstancesModifications,
  7001. HTTPMethod: "POST",
  7002. HTTPPath: "/",
  7003. Paginator: &request.Paginator{
  7004. InputTokens: []string{"NextToken"},
  7005. OutputTokens: []string{"NextToken"},
  7006. LimitToken: "",
  7007. TruncationToken: "",
  7008. },
  7009. }
  7010. if input == nil {
  7011. input = &DescribeReservedInstancesModificationsInput{}
  7012. }
  7013. req = c.newRequest(op, input, output)
  7014. output = &DescribeReservedInstancesModificationsOutput{}
  7015. req.Data = output
  7016. return
  7017. }
  7018. // DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
  7019. //
  7020. // Describes the modifications made to your Reserved Instances. If no parameter
  7021. // is specified, information about all your Reserved Instances modification
  7022. // requests is returned. If a modification ID is specified, only information
  7023. // about the specific modification is returned.
  7024. //
  7025. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  7026. // in the Amazon Elastic Compute Cloud User Guide.
  7027. //
  7028. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7029. // with awserr.Error's Code and Message methods to get detailed information about
  7030. // the error.
  7031. //
  7032. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7033. // API operation DescribeReservedInstancesModifications for usage and error information.
  7034. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  7035. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  7036. err := req.Send()
  7037. return out, err
  7038. }
  7039. // DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
  7040. // calling the "fn" function with the response data for each page. To stop
  7041. // iterating, return false from the fn function.
  7042. //
  7043. // See DescribeReservedInstancesModifications method for more information on how to use this operation.
  7044. //
  7045. // Note: This operation can generate multiple requests to a service.
  7046. //
  7047. // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
  7048. // pageNum := 0
  7049. // err := client.DescribeReservedInstancesModificationsPages(params,
  7050. // func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
  7051. // pageNum++
  7052. // fmt.Println(page)
  7053. // return pageNum <= 3
  7054. // })
  7055. //
  7056. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(p *DescribeReservedInstancesModificationsOutput, lastPage bool) (shouldContinue bool)) error {
  7057. page, _ := c.DescribeReservedInstancesModificationsRequest(input)
  7058. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7059. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7060. return fn(p.(*DescribeReservedInstancesModificationsOutput), lastPage)
  7061. })
  7062. }
  7063. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  7064. // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
  7065. // client's request for the DescribeReservedInstancesOfferings operation. The "output" return
  7066. // value can be used to capture response data after the request's "Send" method
  7067. // is called.
  7068. //
  7069. // See DescribeReservedInstancesOfferings for usage and error information.
  7070. //
  7071. // Creating a request object using this method should be used when you want to inject
  7072. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7073. // access properties on the request object before or after sending the request. If
  7074. // you just want the service response, call the DescribeReservedInstancesOfferings method directly
  7075. // instead.
  7076. //
  7077. // Note: You must call the "Send" method on the returned request object in order
  7078. // to execute the request.
  7079. //
  7080. // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
  7081. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
  7082. //
  7083. // err := req.Send()
  7084. // if err == nil { // resp is now filled
  7085. // fmt.Println(resp)
  7086. // }
  7087. //
  7088. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  7089. op := &request.Operation{
  7090. Name: opDescribeReservedInstancesOfferings,
  7091. HTTPMethod: "POST",
  7092. HTTPPath: "/",
  7093. Paginator: &request.Paginator{
  7094. InputTokens: []string{"NextToken"},
  7095. OutputTokens: []string{"NextToken"},
  7096. LimitToken: "MaxResults",
  7097. TruncationToken: "",
  7098. },
  7099. }
  7100. if input == nil {
  7101. input = &DescribeReservedInstancesOfferingsInput{}
  7102. }
  7103. req = c.newRequest(op, input, output)
  7104. output = &DescribeReservedInstancesOfferingsOutput{}
  7105. req.Data = output
  7106. return
  7107. }
  7108. // DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
  7109. //
  7110. // Describes Reserved Instance offerings that are available for purchase. With
  7111. // Reserved Instances, you purchase the right to launch instances for a period
  7112. // of time. During that time period, you do not receive insufficient capacity
  7113. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  7114. // instances for the actual time used.
  7115. //
  7116. // If you have listed your own Reserved Instances for sale in the Reserved Instance
  7117. // Marketplace, they will be excluded from these results. This is to ensure
  7118. // that you do not purchase your own Reserved Instances.
  7119. //
  7120. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  7121. // in the Amazon Elastic Compute Cloud User Guide.
  7122. //
  7123. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7124. // with awserr.Error's Code and Message methods to get detailed information about
  7125. // the error.
  7126. //
  7127. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7128. // API operation DescribeReservedInstancesOfferings for usage and error information.
  7129. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  7130. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  7131. err := req.Send()
  7132. return out, err
  7133. }
  7134. // DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
  7135. // calling the "fn" function with the response data for each page. To stop
  7136. // iterating, return false from the fn function.
  7137. //
  7138. // See DescribeReservedInstancesOfferings method for more information on how to use this operation.
  7139. //
  7140. // Note: This operation can generate multiple requests to a service.
  7141. //
  7142. // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
  7143. // pageNum := 0
  7144. // err := client.DescribeReservedInstancesOfferingsPages(params,
  7145. // func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
  7146. // pageNum++
  7147. // fmt.Println(page)
  7148. // return pageNum <= 3
  7149. // })
  7150. //
  7151. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(p *DescribeReservedInstancesOfferingsOutput, lastPage bool) (shouldContinue bool)) error {
  7152. page, _ := c.DescribeReservedInstancesOfferingsRequest(input)
  7153. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7154. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7155. return fn(p.(*DescribeReservedInstancesOfferingsOutput), lastPage)
  7156. })
  7157. }
  7158. const opDescribeRouteTables = "DescribeRouteTables"
  7159. // DescribeRouteTablesRequest generates a "aws/request.Request" representing the
  7160. // client's request for the DescribeRouteTables operation. The "output" return
  7161. // value can be used to capture response data after the request's "Send" method
  7162. // is called.
  7163. //
  7164. // See DescribeRouteTables for usage and error information.
  7165. //
  7166. // Creating a request object using this method should be used when you want to inject
  7167. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7168. // access properties on the request object before or after sending the request. If
  7169. // you just want the service response, call the DescribeRouteTables method directly
  7170. // instead.
  7171. //
  7172. // Note: You must call the "Send" method on the returned request object in order
  7173. // to execute the request.
  7174. //
  7175. // // Example sending a request using the DescribeRouteTablesRequest method.
  7176. // req, resp := client.DescribeRouteTablesRequest(params)
  7177. //
  7178. // err := req.Send()
  7179. // if err == nil { // resp is now filled
  7180. // fmt.Println(resp)
  7181. // }
  7182. //
  7183. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  7184. op := &request.Operation{
  7185. Name: opDescribeRouteTables,
  7186. HTTPMethod: "POST",
  7187. HTTPPath: "/",
  7188. }
  7189. if input == nil {
  7190. input = &DescribeRouteTablesInput{}
  7191. }
  7192. req = c.newRequest(op, input, output)
  7193. output = &DescribeRouteTablesOutput{}
  7194. req.Data = output
  7195. return
  7196. }
  7197. // DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
  7198. //
  7199. // Describes one or more of your route tables.
  7200. //
  7201. // Each subnet in your VPC must be associated with a route table. If a subnet
  7202. // is not explicitly associated with any route table, it is implicitly associated
  7203. // with the main route table. This command does not return the subnet ID for
  7204. // implicit associations.
  7205. //
  7206. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  7207. // in the Amazon Virtual Private Cloud User Guide.
  7208. //
  7209. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7210. // with awserr.Error's Code and Message methods to get detailed information about
  7211. // the error.
  7212. //
  7213. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7214. // API operation DescribeRouteTables for usage and error information.
  7215. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  7216. req, out := c.DescribeRouteTablesRequest(input)
  7217. err := req.Send()
  7218. return out, err
  7219. }
  7220. const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
  7221. // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
  7222. // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
  7223. // value can be used to capture response data after the request's "Send" method
  7224. // is called.
  7225. //
  7226. // See DescribeScheduledInstanceAvailability for usage and error information.
  7227. //
  7228. // Creating a request object using this method should be used when you want to inject
  7229. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7230. // access properties on the request object before or after sending the request. If
  7231. // you just want the service response, call the DescribeScheduledInstanceAvailability method directly
  7232. // instead.
  7233. //
  7234. // Note: You must call the "Send" method on the returned request object in order
  7235. // to execute the request.
  7236. //
  7237. // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
  7238. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
  7239. //
  7240. // err := req.Send()
  7241. // if err == nil { // resp is now filled
  7242. // fmt.Println(resp)
  7243. // }
  7244. //
  7245. func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
  7246. op := &request.Operation{
  7247. Name: opDescribeScheduledInstanceAvailability,
  7248. HTTPMethod: "POST",
  7249. HTTPPath: "/",
  7250. }
  7251. if input == nil {
  7252. input = &DescribeScheduledInstanceAvailabilityInput{}
  7253. }
  7254. req = c.newRequest(op, input, output)
  7255. output = &DescribeScheduledInstanceAvailabilityOutput{}
  7256. req.Data = output
  7257. return
  7258. }
  7259. // DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
  7260. //
  7261. // Finds available schedules that meet the specified criteria.
  7262. //
  7263. // You can search for an available schedule no more than 3 months in advance.
  7264. // You must meet the minimum required duration of 1,200 hours per year. For
  7265. // example, the minimum daily schedule is 4 hours, the minimum weekly schedule
  7266. // is 24 hours, and the minimum monthly schedule is 100 hours.
  7267. //
  7268. // After you find a schedule that meets your needs, call PurchaseScheduledInstances
  7269. // to purchase Scheduled Instances with that schedule.
  7270. //
  7271. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7272. // with awserr.Error's Code and Message methods to get detailed information about
  7273. // the error.
  7274. //
  7275. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7276. // API operation DescribeScheduledInstanceAvailability for usage and error information.
  7277. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  7278. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  7279. err := req.Send()
  7280. return out, err
  7281. }
  7282. const opDescribeScheduledInstances = "DescribeScheduledInstances"
  7283. // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
  7284. // client's request for the DescribeScheduledInstances operation. The "output" return
  7285. // value can be used to capture response data after the request's "Send" method
  7286. // is called.
  7287. //
  7288. // See DescribeScheduledInstances for usage and error information.
  7289. //
  7290. // Creating a request object using this method should be used when you want to inject
  7291. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7292. // access properties on the request object before or after sending the request. If
  7293. // you just want the service response, call the DescribeScheduledInstances method directly
  7294. // instead.
  7295. //
  7296. // Note: You must call the "Send" method on the returned request object in order
  7297. // to execute the request.
  7298. //
  7299. // // Example sending a request using the DescribeScheduledInstancesRequest method.
  7300. // req, resp := client.DescribeScheduledInstancesRequest(params)
  7301. //
  7302. // err := req.Send()
  7303. // if err == nil { // resp is now filled
  7304. // fmt.Println(resp)
  7305. // }
  7306. //
  7307. func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
  7308. op := &request.Operation{
  7309. Name: opDescribeScheduledInstances,
  7310. HTTPMethod: "POST",
  7311. HTTPPath: "/",
  7312. }
  7313. if input == nil {
  7314. input = &DescribeScheduledInstancesInput{}
  7315. }
  7316. req = c.newRequest(op, input, output)
  7317. output = &DescribeScheduledInstancesOutput{}
  7318. req.Data = output
  7319. return
  7320. }
  7321. // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
  7322. //
  7323. // Describes one or more of your Scheduled Instances.
  7324. //
  7325. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7326. // with awserr.Error's Code and Message methods to get detailed information about
  7327. // the error.
  7328. //
  7329. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7330. // API operation DescribeScheduledInstances for usage and error information.
  7331. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
  7332. req, out := c.DescribeScheduledInstancesRequest(input)
  7333. err := req.Send()
  7334. return out, err
  7335. }
  7336. const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
  7337. // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
  7338. // client's request for the DescribeSecurityGroupReferences operation. The "output" return
  7339. // value can be used to capture response data after the request's "Send" method
  7340. // is called.
  7341. //
  7342. // See DescribeSecurityGroupReferences for usage and error information.
  7343. //
  7344. // Creating a request object using this method should be used when you want to inject
  7345. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7346. // access properties on the request object before or after sending the request. If
  7347. // you just want the service response, call the DescribeSecurityGroupReferences method directly
  7348. // instead.
  7349. //
  7350. // Note: You must call the "Send" method on the returned request object in order
  7351. // to execute the request.
  7352. //
  7353. // // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
  7354. // req, resp := client.DescribeSecurityGroupReferencesRequest(params)
  7355. //
  7356. // err := req.Send()
  7357. // if err == nil { // resp is now filled
  7358. // fmt.Println(resp)
  7359. // }
  7360. //
  7361. func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
  7362. op := &request.Operation{
  7363. Name: opDescribeSecurityGroupReferences,
  7364. HTTPMethod: "POST",
  7365. HTTPPath: "/",
  7366. }
  7367. if input == nil {
  7368. input = &DescribeSecurityGroupReferencesInput{}
  7369. }
  7370. req = c.newRequest(op, input, output)
  7371. output = &DescribeSecurityGroupReferencesOutput{}
  7372. req.Data = output
  7373. return
  7374. }
  7375. // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
  7376. //
  7377. // [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection
  7378. // that are referencing the security groups you've specified in this request.
  7379. //
  7380. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7381. // with awserr.Error's Code and Message methods to get detailed information about
  7382. // the error.
  7383. //
  7384. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7385. // API operation DescribeSecurityGroupReferences for usage and error information.
  7386. func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
  7387. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  7388. err := req.Send()
  7389. return out, err
  7390. }
  7391. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  7392. // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
  7393. // client's request for the DescribeSecurityGroups operation. The "output" return
  7394. // value can be used to capture response data after the request's "Send" method
  7395. // is called.
  7396. //
  7397. // See DescribeSecurityGroups for usage and error information.
  7398. //
  7399. // Creating a request object using this method should be used when you want to inject
  7400. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7401. // access properties on the request object before or after sending the request. If
  7402. // you just want the service response, call the DescribeSecurityGroups method directly
  7403. // instead.
  7404. //
  7405. // Note: You must call the "Send" method on the returned request object in order
  7406. // to execute the request.
  7407. //
  7408. // // Example sending a request using the DescribeSecurityGroupsRequest method.
  7409. // req, resp := client.DescribeSecurityGroupsRequest(params)
  7410. //
  7411. // err := req.Send()
  7412. // if err == nil { // resp is now filled
  7413. // fmt.Println(resp)
  7414. // }
  7415. //
  7416. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  7417. op := &request.Operation{
  7418. Name: opDescribeSecurityGroups,
  7419. HTTPMethod: "POST",
  7420. HTTPPath: "/",
  7421. }
  7422. if input == nil {
  7423. input = &DescribeSecurityGroupsInput{}
  7424. }
  7425. req = c.newRequest(op, input, output)
  7426. output = &DescribeSecurityGroupsOutput{}
  7427. req.Data = output
  7428. return
  7429. }
  7430. // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
  7431. //
  7432. // Describes one or more of your security groups.
  7433. //
  7434. // A security group is for use with instances either in the EC2-Classic platform
  7435. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  7436. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  7437. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  7438. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  7439. // in the Amazon Virtual Private Cloud User Guide.
  7440. //
  7441. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7442. // with awserr.Error's Code and Message methods to get detailed information about
  7443. // the error.
  7444. //
  7445. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7446. // API operation DescribeSecurityGroups for usage and error information.
  7447. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  7448. req, out := c.DescribeSecurityGroupsRequest(input)
  7449. err := req.Send()
  7450. return out, err
  7451. }
  7452. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  7453. // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
  7454. // client's request for the DescribeSnapshotAttribute operation. The "output" return
  7455. // value can be used to capture response data after the request's "Send" method
  7456. // is called.
  7457. //
  7458. // See DescribeSnapshotAttribute for usage and error information.
  7459. //
  7460. // Creating a request object using this method should be used when you want to inject
  7461. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7462. // access properties on the request object before or after sending the request. If
  7463. // you just want the service response, call the DescribeSnapshotAttribute method directly
  7464. // instead.
  7465. //
  7466. // Note: You must call the "Send" method on the returned request object in order
  7467. // to execute the request.
  7468. //
  7469. // // Example sending a request using the DescribeSnapshotAttributeRequest method.
  7470. // req, resp := client.DescribeSnapshotAttributeRequest(params)
  7471. //
  7472. // err := req.Send()
  7473. // if err == nil { // resp is now filled
  7474. // fmt.Println(resp)
  7475. // }
  7476. //
  7477. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  7478. op := &request.Operation{
  7479. Name: opDescribeSnapshotAttribute,
  7480. HTTPMethod: "POST",
  7481. HTTPPath: "/",
  7482. }
  7483. if input == nil {
  7484. input = &DescribeSnapshotAttributeInput{}
  7485. }
  7486. req = c.newRequest(op, input, output)
  7487. output = &DescribeSnapshotAttributeOutput{}
  7488. req.Data = output
  7489. return
  7490. }
  7491. // DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  7492. //
  7493. // Describes the specified attribute of the specified snapshot. You can specify
  7494. // only one attribute at a time.
  7495. //
  7496. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  7497. // in the Amazon Elastic Compute Cloud User Guide.
  7498. //
  7499. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7500. // with awserr.Error's Code and Message methods to get detailed information about
  7501. // the error.
  7502. //
  7503. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7504. // API operation DescribeSnapshotAttribute for usage and error information.
  7505. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  7506. req, out := c.DescribeSnapshotAttributeRequest(input)
  7507. err := req.Send()
  7508. return out, err
  7509. }
  7510. const opDescribeSnapshots = "DescribeSnapshots"
  7511. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  7512. // client's request for the DescribeSnapshots operation. The "output" return
  7513. // value can be used to capture response data after the request's "Send" method
  7514. // is called.
  7515. //
  7516. // See DescribeSnapshots for usage and error information.
  7517. //
  7518. // Creating a request object using this method should be used when you want to inject
  7519. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7520. // access properties on the request object before or after sending the request. If
  7521. // you just want the service response, call the DescribeSnapshots method directly
  7522. // instead.
  7523. //
  7524. // Note: You must call the "Send" method on the returned request object in order
  7525. // to execute the request.
  7526. //
  7527. // // Example sending a request using the DescribeSnapshotsRequest method.
  7528. // req, resp := client.DescribeSnapshotsRequest(params)
  7529. //
  7530. // err := req.Send()
  7531. // if err == nil { // resp is now filled
  7532. // fmt.Println(resp)
  7533. // }
  7534. //
  7535. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  7536. op := &request.Operation{
  7537. Name: opDescribeSnapshots,
  7538. HTTPMethod: "POST",
  7539. HTTPPath: "/",
  7540. Paginator: &request.Paginator{
  7541. InputTokens: []string{"NextToken"},
  7542. OutputTokens: []string{"NextToken"},
  7543. LimitToken: "MaxResults",
  7544. TruncationToken: "",
  7545. },
  7546. }
  7547. if input == nil {
  7548. input = &DescribeSnapshotsInput{}
  7549. }
  7550. req = c.newRequest(op, input, output)
  7551. output = &DescribeSnapshotsOutput{}
  7552. req.Data = output
  7553. return
  7554. }
  7555. // DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
  7556. //
  7557. // Describes one or more of the EBS snapshots available to you. Available snapshots
  7558. // include public snapshots available for any AWS account to launch, private
  7559. // snapshots that you own, and private snapshots owned by another AWS account
  7560. // but for which you've been given explicit create volume permissions.
  7561. //
  7562. // The create volume permissions fall into the following categories:
  7563. //
  7564. // * public: The owner of the snapshot granted create volume permissions
  7565. // for the snapshot to the all group. All AWS accounts have create volume
  7566. // permissions for these snapshots.
  7567. //
  7568. // * explicit: The owner of the snapshot granted create volume permissions
  7569. // to a specific AWS account.
  7570. //
  7571. // * implicit: An AWS account has implicit create volume permissions for
  7572. // all snapshots it owns.
  7573. //
  7574. // The list of snapshots returned can be modified by specifying snapshot IDs,
  7575. // snapshot owners, or AWS accounts with create volume permissions. If no options
  7576. // are specified, Amazon EC2 returns all snapshots for which you have create
  7577. // volume permissions.
  7578. //
  7579. // If you specify one or more snapshot IDs, only snapshots that have the specified
  7580. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  7581. // If you specify a snapshot ID for which you do not have access, it is not
  7582. // included in the returned results.
  7583. //
  7584. // If you specify one or more snapshot owners using the OwnerIds option, only
  7585. // snapshots from the specified owners and for which you have access are returned.
  7586. // The results can include the AWS account IDs of the specified owners, amazon
  7587. // for snapshots owned by Amazon, or self for snapshots that you own.
  7588. //
  7589. // If you specify a list of restorable users, only snapshots with create snapshot
  7590. // permissions for those users are returned. You can specify AWS account IDs
  7591. // (if you own the snapshots), self for snapshots for which you own or have
  7592. // explicit permissions, or all for public snapshots.
  7593. //
  7594. // If you are describing a long list of snapshots, you can paginate the output
  7595. // to make the list more manageable. The MaxResults parameter sets the maximum
  7596. // number of results returned in a single page. If the list of results exceeds
  7597. // your MaxResults value, then that number of results is returned along with
  7598. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  7599. // to retrieve the remaining results.
  7600. //
  7601. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  7602. // in the Amazon Elastic Compute Cloud User Guide.
  7603. //
  7604. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7605. // with awserr.Error's Code and Message methods to get detailed information about
  7606. // the error.
  7607. //
  7608. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7609. // API operation DescribeSnapshots for usage and error information.
  7610. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  7611. req, out := c.DescribeSnapshotsRequest(input)
  7612. err := req.Send()
  7613. return out, err
  7614. }
  7615. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  7616. // calling the "fn" function with the response data for each page. To stop
  7617. // iterating, return false from the fn function.
  7618. //
  7619. // See DescribeSnapshots method for more information on how to use this operation.
  7620. //
  7621. // Note: This operation can generate multiple requests to a service.
  7622. //
  7623. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  7624. // pageNum := 0
  7625. // err := client.DescribeSnapshotsPages(params,
  7626. // func(page *DescribeSnapshotsOutput, lastPage bool) bool {
  7627. // pageNum++
  7628. // fmt.Println(page)
  7629. // return pageNum <= 3
  7630. // })
  7631. //
  7632. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error {
  7633. page, _ := c.DescribeSnapshotsRequest(input)
  7634. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7635. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7636. return fn(p.(*DescribeSnapshotsOutput), lastPage)
  7637. })
  7638. }
  7639. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  7640. // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  7641. // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
  7642. // value can be used to capture response data after the request's "Send" method
  7643. // is called.
  7644. //
  7645. // See DescribeSpotDatafeedSubscription for usage and error information.
  7646. //
  7647. // Creating a request object using this method should be used when you want to inject
  7648. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7649. // access properties on the request object before or after sending the request. If
  7650. // you just want the service response, call the DescribeSpotDatafeedSubscription method directly
  7651. // instead.
  7652. //
  7653. // Note: You must call the "Send" method on the returned request object in order
  7654. // to execute the request.
  7655. //
  7656. // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
  7657. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
  7658. //
  7659. // err := req.Send()
  7660. // if err == nil { // resp is now filled
  7661. // fmt.Println(resp)
  7662. // }
  7663. //
  7664. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  7665. op := &request.Operation{
  7666. Name: opDescribeSpotDatafeedSubscription,
  7667. HTTPMethod: "POST",
  7668. HTTPPath: "/",
  7669. }
  7670. if input == nil {
  7671. input = &DescribeSpotDatafeedSubscriptionInput{}
  7672. }
  7673. req = c.newRequest(op, input, output)
  7674. output = &DescribeSpotDatafeedSubscriptionOutput{}
  7675. req.Data = output
  7676. return
  7677. }
  7678. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  7679. //
  7680. // Describes the data feed for Spot instances. For more information, see Spot
  7681. // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  7682. // in the Amazon Elastic Compute Cloud User Guide.
  7683. //
  7684. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7685. // with awserr.Error's Code and Message methods to get detailed information about
  7686. // the error.
  7687. //
  7688. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7689. // API operation DescribeSpotDatafeedSubscription for usage and error information.
  7690. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  7691. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  7692. err := req.Send()
  7693. return out, err
  7694. }
  7695. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  7696. // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
  7697. // client's request for the DescribeSpotFleetInstances operation. The "output" return
  7698. // value can be used to capture response data after the request's "Send" method
  7699. // is called.
  7700. //
  7701. // See DescribeSpotFleetInstances for usage and error information.
  7702. //
  7703. // Creating a request object using this method should be used when you want to inject
  7704. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7705. // access properties on the request object before or after sending the request. If
  7706. // you just want the service response, call the DescribeSpotFleetInstances method directly
  7707. // instead.
  7708. //
  7709. // Note: You must call the "Send" method on the returned request object in order
  7710. // to execute the request.
  7711. //
  7712. // // Example sending a request using the DescribeSpotFleetInstancesRequest method.
  7713. // req, resp := client.DescribeSpotFleetInstancesRequest(params)
  7714. //
  7715. // err := req.Send()
  7716. // if err == nil { // resp is now filled
  7717. // fmt.Println(resp)
  7718. // }
  7719. //
  7720. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  7721. op := &request.Operation{
  7722. Name: opDescribeSpotFleetInstances,
  7723. HTTPMethod: "POST",
  7724. HTTPPath: "/",
  7725. }
  7726. if input == nil {
  7727. input = &DescribeSpotFleetInstancesInput{}
  7728. }
  7729. req = c.newRequest(op, input, output)
  7730. output = &DescribeSpotFleetInstancesOutput{}
  7731. req.Data = output
  7732. return
  7733. }
  7734. // DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
  7735. //
  7736. // Describes the running instances for the specified Spot fleet.
  7737. //
  7738. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7739. // with awserr.Error's Code and Message methods to get detailed information about
  7740. // the error.
  7741. //
  7742. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7743. // API operation DescribeSpotFleetInstances for usage and error information.
  7744. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  7745. req, out := c.DescribeSpotFleetInstancesRequest(input)
  7746. err := req.Send()
  7747. return out, err
  7748. }
  7749. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  7750. // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
  7751. // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
  7752. // value can be used to capture response data after the request's "Send" method
  7753. // is called.
  7754. //
  7755. // See DescribeSpotFleetRequestHistory for usage and error information.
  7756. //
  7757. // Creating a request object using this method should be used when you want to inject
  7758. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7759. // access properties on the request object before or after sending the request. If
  7760. // you just want the service response, call the DescribeSpotFleetRequestHistory method directly
  7761. // instead.
  7762. //
  7763. // Note: You must call the "Send" method on the returned request object in order
  7764. // to execute the request.
  7765. //
  7766. // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
  7767. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
  7768. //
  7769. // err := req.Send()
  7770. // if err == nil { // resp is now filled
  7771. // fmt.Println(resp)
  7772. // }
  7773. //
  7774. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  7775. op := &request.Operation{
  7776. Name: opDescribeSpotFleetRequestHistory,
  7777. HTTPMethod: "POST",
  7778. HTTPPath: "/",
  7779. }
  7780. if input == nil {
  7781. input = &DescribeSpotFleetRequestHistoryInput{}
  7782. }
  7783. req = c.newRequest(op, input, output)
  7784. output = &DescribeSpotFleetRequestHistoryOutput{}
  7785. req.Data = output
  7786. return
  7787. }
  7788. // DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
  7789. //
  7790. // Describes the events for the specified Spot fleet request during the specified
  7791. // time.
  7792. //
  7793. // Spot fleet events are delayed by up to 30 seconds before they can be described.
  7794. // This ensures that you can query by the last evaluated time and not miss a
  7795. // recorded event.
  7796. //
  7797. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7798. // with awserr.Error's Code and Message methods to get detailed information about
  7799. // the error.
  7800. //
  7801. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7802. // API operation DescribeSpotFleetRequestHistory for usage and error information.
  7803. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  7804. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  7805. err := req.Send()
  7806. return out, err
  7807. }
  7808. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  7809. // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  7810. // client's request for the DescribeSpotFleetRequests operation. The "output" return
  7811. // value can be used to capture response data after the request's "Send" method
  7812. // is called.
  7813. //
  7814. // See DescribeSpotFleetRequests for usage and error information.
  7815. //
  7816. // Creating a request object using this method should be used when you want to inject
  7817. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7818. // access properties on the request object before or after sending the request. If
  7819. // you just want the service response, call the DescribeSpotFleetRequests method directly
  7820. // instead.
  7821. //
  7822. // Note: You must call the "Send" method on the returned request object in order
  7823. // to execute the request.
  7824. //
  7825. // // Example sending a request using the DescribeSpotFleetRequestsRequest method.
  7826. // req, resp := client.DescribeSpotFleetRequestsRequest(params)
  7827. //
  7828. // err := req.Send()
  7829. // if err == nil { // resp is now filled
  7830. // fmt.Println(resp)
  7831. // }
  7832. //
  7833. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  7834. op := &request.Operation{
  7835. Name: opDescribeSpotFleetRequests,
  7836. HTTPMethod: "POST",
  7837. HTTPPath: "/",
  7838. Paginator: &request.Paginator{
  7839. InputTokens: []string{"NextToken"},
  7840. OutputTokens: []string{"NextToken"},
  7841. LimitToken: "MaxResults",
  7842. TruncationToken: "",
  7843. },
  7844. }
  7845. if input == nil {
  7846. input = &DescribeSpotFleetRequestsInput{}
  7847. }
  7848. req = c.newRequest(op, input, output)
  7849. output = &DescribeSpotFleetRequestsOutput{}
  7850. req.Data = output
  7851. return
  7852. }
  7853. // DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  7854. //
  7855. // Describes your Spot fleet requests.
  7856. //
  7857. // Spot fleet requests are deleted 48 hours after they are canceled and their
  7858. // instances are terminated.
  7859. //
  7860. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7861. // with awserr.Error's Code and Message methods to get detailed information about
  7862. // the error.
  7863. //
  7864. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7865. // API operation DescribeSpotFleetRequests for usage and error information.
  7866. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  7867. req, out := c.DescribeSpotFleetRequestsRequest(input)
  7868. err := req.Send()
  7869. return out, err
  7870. }
  7871. // DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
  7872. // calling the "fn" function with the response data for each page. To stop
  7873. // iterating, return false from the fn function.
  7874. //
  7875. // See DescribeSpotFleetRequests method for more information on how to use this operation.
  7876. //
  7877. // Note: This operation can generate multiple requests to a service.
  7878. //
  7879. // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
  7880. // pageNum := 0
  7881. // err := client.DescribeSpotFleetRequestsPages(params,
  7882. // func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool {
  7883. // pageNum++
  7884. // fmt.Println(page)
  7885. // return pageNum <= 3
  7886. // })
  7887. //
  7888. func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(p *DescribeSpotFleetRequestsOutput, lastPage bool) (shouldContinue bool)) error {
  7889. page, _ := c.DescribeSpotFleetRequestsRequest(input)
  7890. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7891. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7892. return fn(p.(*DescribeSpotFleetRequestsOutput), lastPage)
  7893. })
  7894. }
  7895. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  7896. // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  7897. // client's request for the DescribeSpotInstanceRequests operation. The "output" return
  7898. // value can be used to capture response data after the request's "Send" method
  7899. // is called.
  7900. //
  7901. // See DescribeSpotInstanceRequests for usage and error information.
  7902. //
  7903. // Creating a request object using this method should be used when you want to inject
  7904. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7905. // access properties on the request object before or after sending the request. If
  7906. // you just want the service response, call the DescribeSpotInstanceRequests method directly
  7907. // instead.
  7908. //
  7909. // Note: You must call the "Send" method on the returned request object in order
  7910. // to execute the request.
  7911. //
  7912. // // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
  7913. // req, resp := client.DescribeSpotInstanceRequestsRequest(params)
  7914. //
  7915. // err := req.Send()
  7916. // if err == nil { // resp is now filled
  7917. // fmt.Println(resp)
  7918. // }
  7919. //
  7920. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  7921. op := &request.Operation{
  7922. Name: opDescribeSpotInstanceRequests,
  7923. HTTPMethod: "POST",
  7924. HTTPPath: "/",
  7925. }
  7926. if input == nil {
  7927. input = &DescribeSpotInstanceRequestsInput{}
  7928. }
  7929. req = c.newRequest(op, input, output)
  7930. output = &DescribeSpotInstanceRequestsOutput{}
  7931. req.Data = output
  7932. return
  7933. }
  7934. // DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  7935. //
  7936. // Describes the Spot instance requests that belong to your account. Spot instances
  7937. // are instances that Amazon EC2 launches when the bid price that you specify
  7938. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  7939. // based on available Spot instance capacity and current Spot instance requests.
  7940. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  7941. // in the Amazon Elastic Compute Cloud User Guide.
  7942. //
  7943. // You can use DescribeSpotInstanceRequests to find a running Spot instance
  7944. // by examining the response. If the status of the Spot instance is fulfilled,
  7945. // the instance ID appears in the response and contains the identifier of the
  7946. // instance. Alternatively, you can use DescribeInstances with a filter to look
  7947. // for instances where the instance lifecycle is spot.
  7948. //
  7949. // Spot instance requests are deleted 4 hours after they are canceled and their
  7950. // instances are terminated.
  7951. //
  7952. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7953. // with awserr.Error's Code and Message methods to get detailed information about
  7954. // the error.
  7955. //
  7956. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7957. // API operation DescribeSpotInstanceRequests for usage and error information.
  7958. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  7959. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  7960. err := req.Send()
  7961. return out, err
  7962. }
  7963. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  7964. // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
  7965. // client's request for the DescribeSpotPriceHistory operation. The "output" return
  7966. // value can be used to capture response data after the request's "Send" method
  7967. // is called.
  7968. //
  7969. // See DescribeSpotPriceHistory for usage and error information.
  7970. //
  7971. // Creating a request object using this method should be used when you want to inject
  7972. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7973. // access properties on the request object before or after sending the request. If
  7974. // you just want the service response, call the DescribeSpotPriceHistory method directly
  7975. // instead.
  7976. //
  7977. // Note: You must call the "Send" method on the returned request object in order
  7978. // to execute the request.
  7979. //
  7980. // // Example sending a request using the DescribeSpotPriceHistoryRequest method.
  7981. // req, resp := client.DescribeSpotPriceHistoryRequest(params)
  7982. //
  7983. // err := req.Send()
  7984. // if err == nil { // resp is now filled
  7985. // fmt.Println(resp)
  7986. // }
  7987. //
  7988. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  7989. op := &request.Operation{
  7990. Name: opDescribeSpotPriceHistory,
  7991. HTTPMethod: "POST",
  7992. HTTPPath: "/",
  7993. Paginator: &request.Paginator{
  7994. InputTokens: []string{"NextToken"},
  7995. OutputTokens: []string{"NextToken"},
  7996. LimitToken: "MaxResults",
  7997. TruncationToken: "",
  7998. },
  7999. }
  8000. if input == nil {
  8001. input = &DescribeSpotPriceHistoryInput{}
  8002. }
  8003. req = c.newRequest(op, input, output)
  8004. output = &DescribeSpotPriceHistoryOutput{}
  8005. req.Data = output
  8006. return
  8007. }
  8008. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
  8009. //
  8010. // Describes the Spot price history. The prices returned are listed in chronological
  8011. // order, from the oldest to the most recent, for up to the past 90 days. For
  8012. // more information, see Spot Instance Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  8013. // in the Amazon Elastic Compute Cloud User Guide.
  8014. //
  8015. // When you specify a start and end time, this operation returns the prices
  8016. // of the instance types within the time range that you specified and the time
  8017. // when the price changed. The price is valid within the time period that you
  8018. // specified; the response merely indicates the last time that the price changed.
  8019. //
  8020. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8021. // with awserr.Error's Code and Message methods to get detailed information about
  8022. // the error.
  8023. //
  8024. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8025. // API operation DescribeSpotPriceHistory for usage and error information.
  8026. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  8027. req, out := c.DescribeSpotPriceHistoryRequest(input)
  8028. err := req.Send()
  8029. return out, err
  8030. }
  8031. // DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
  8032. // calling the "fn" function with the response data for each page. To stop
  8033. // iterating, return false from the fn function.
  8034. //
  8035. // See DescribeSpotPriceHistory method for more information on how to use this operation.
  8036. //
  8037. // Note: This operation can generate multiple requests to a service.
  8038. //
  8039. // // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
  8040. // pageNum := 0
  8041. // err := client.DescribeSpotPriceHistoryPages(params,
  8042. // func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool {
  8043. // pageNum++
  8044. // fmt.Println(page)
  8045. // return pageNum <= 3
  8046. // })
  8047. //
  8048. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(p *DescribeSpotPriceHistoryOutput, lastPage bool) (shouldContinue bool)) error {
  8049. page, _ := c.DescribeSpotPriceHistoryRequest(input)
  8050. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8051. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8052. return fn(p.(*DescribeSpotPriceHistoryOutput), lastPage)
  8053. })
  8054. }
  8055. const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
  8056. // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
  8057. // client's request for the DescribeStaleSecurityGroups operation. The "output" return
  8058. // value can be used to capture response data after the request's "Send" method
  8059. // is called.
  8060. //
  8061. // See DescribeStaleSecurityGroups for usage and error information.
  8062. //
  8063. // Creating a request object using this method should be used when you want to inject
  8064. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8065. // access properties on the request object before or after sending the request. If
  8066. // you just want the service response, call the DescribeStaleSecurityGroups method directly
  8067. // instead.
  8068. //
  8069. // Note: You must call the "Send" method on the returned request object in order
  8070. // to execute the request.
  8071. //
  8072. // // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
  8073. // req, resp := client.DescribeStaleSecurityGroupsRequest(params)
  8074. //
  8075. // err := req.Send()
  8076. // if err == nil { // resp is now filled
  8077. // fmt.Println(resp)
  8078. // }
  8079. //
  8080. func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
  8081. op := &request.Operation{
  8082. Name: opDescribeStaleSecurityGroups,
  8083. HTTPMethod: "POST",
  8084. HTTPPath: "/",
  8085. }
  8086. if input == nil {
  8087. input = &DescribeStaleSecurityGroupsInput{}
  8088. }
  8089. req = c.newRequest(op, input, output)
  8090. output = &DescribeStaleSecurityGroupsOutput{}
  8091. req.Data = output
  8092. return
  8093. }
  8094. // DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
  8095. //
  8096. // [EC2-VPC only] Describes the stale security group rules for security groups
  8097. // in a specified VPC. Rules are stale when they reference a deleted security
  8098. // group in a peer VPC, or a security group in a peer VPC for which the VPC
  8099. // peering connection has been deleted.
  8100. //
  8101. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8102. // with awserr.Error's Code and Message methods to get detailed information about
  8103. // the error.
  8104. //
  8105. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8106. // API operation DescribeStaleSecurityGroups for usage and error information.
  8107. func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
  8108. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  8109. err := req.Send()
  8110. return out, err
  8111. }
  8112. const opDescribeSubnets = "DescribeSubnets"
  8113. // DescribeSubnetsRequest generates a "aws/request.Request" representing the
  8114. // client's request for the DescribeSubnets operation. The "output" return
  8115. // value can be used to capture response data after the request's "Send" method
  8116. // is called.
  8117. //
  8118. // See DescribeSubnets for usage and error information.
  8119. //
  8120. // Creating a request object using this method should be used when you want to inject
  8121. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8122. // access properties on the request object before or after sending the request. If
  8123. // you just want the service response, call the DescribeSubnets method directly
  8124. // instead.
  8125. //
  8126. // Note: You must call the "Send" method on the returned request object in order
  8127. // to execute the request.
  8128. //
  8129. // // Example sending a request using the DescribeSubnetsRequest method.
  8130. // req, resp := client.DescribeSubnetsRequest(params)
  8131. //
  8132. // err := req.Send()
  8133. // if err == nil { // resp is now filled
  8134. // fmt.Println(resp)
  8135. // }
  8136. //
  8137. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  8138. op := &request.Operation{
  8139. Name: opDescribeSubnets,
  8140. HTTPMethod: "POST",
  8141. HTTPPath: "/",
  8142. }
  8143. if input == nil {
  8144. input = &DescribeSubnetsInput{}
  8145. }
  8146. req = c.newRequest(op, input, output)
  8147. output = &DescribeSubnetsOutput{}
  8148. req.Data = output
  8149. return
  8150. }
  8151. // DescribeSubnets API operation for Amazon Elastic Compute Cloud.
  8152. //
  8153. // Describes one or more of your subnets.
  8154. //
  8155. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  8156. // in the Amazon Virtual Private Cloud User Guide.
  8157. //
  8158. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8159. // with awserr.Error's Code and Message methods to get detailed information about
  8160. // the error.
  8161. //
  8162. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8163. // API operation DescribeSubnets for usage and error information.
  8164. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  8165. req, out := c.DescribeSubnetsRequest(input)
  8166. err := req.Send()
  8167. return out, err
  8168. }
  8169. const opDescribeTags = "DescribeTags"
  8170. // DescribeTagsRequest generates a "aws/request.Request" representing the
  8171. // client's request for the DescribeTags operation. The "output" return
  8172. // value can be used to capture response data after the request's "Send" method
  8173. // is called.
  8174. //
  8175. // See DescribeTags for usage and error information.
  8176. //
  8177. // Creating a request object using this method should be used when you want to inject
  8178. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8179. // access properties on the request object before or after sending the request. If
  8180. // you just want the service response, call the DescribeTags method directly
  8181. // instead.
  8182. //
  8183. // Note: You must call the "Send" method on the returned request object in order
  8184. // to execute the request.
  8185. //
  8186. // // Example sending a request using the DescribeTagsRequest method.
  8187. // req, resp := client.DescribeTagsRequest(params)
  8188. //
  8189. // err := req.Send()
  8190. // if err == nil { // resp is now filled
  8191. // fmt.Println(resp)
  8192. // }
  8193. //
  8194. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  8195. op := &request.Operation{
  8196. Name: opDescribeTags,
  8197. HTTPMethod: "POST",
  8198. HTTPPath: "/",
  8199. Paginator: &request.Paginator{
  8200. InputTokens: []string{"NextToken"},
  8201. OutputTokens: []string{"NextToken"},
  8202. LimitToken: "MaxResults",
  8203. TruncationToken: "",
  8204. },
  8205. }
  8206. if input == nil {
  8207. input = &DescribeTagsInput{}
  8208. }
  8209. req = c.newRequest(op, input, output)
  8210. output = &DescribeTagsOutput{}
  8211. req.Data = output
  8212. return
  8213. }
  8214. // DescribeTags API operation for Amazon Elastic Compute Cloud.
  8215. //
  8216. // Describes one or more of the tags for your EC2 resources.
  8217. //
  8218. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  8219. // in the Amazon Elastic Compute Cloud User Guide.
  8220. //
  8221. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8222. // with awserr.Error's Code and Message methods to get detailed information about
  8223. // the error.
  8224. //
  8225. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8226. // API operation DescribeTags for usage and error information.
  8227. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  8228. req, out := c.DescribeTagsRequest(input)
  8229. err := req.Send()
  8230. return out, err
  8231. }
  8232. // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  8233. // calling the "fn" function with the response data for each page. To stop
  8234. // iterating, return false from the fn function.
  8235. //
  8236. // See DescribeTags method for more information on how to use this operation.
  8237. //
  8238. // Note: This operation can generate multiple requests to a service.
  8239. //
  8240. // // Example iterating over at most 3 pages of a DescribeTags operation.
  8241. // pageNum := 0
  8242. // err := client.DescribeTagsPages(params,
  8243. // func(page *DescribeTagsOutput, lastPage bool) bool {
  8244. // pageNum++
  8245. // fmt.Println(page)
  8246. // return pageNum <= 3
  8247. // })
  8248. //
  8249. func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(p *DescribeTagsOutput, lastPage bool) (shouldContinue bool)) error {
  8250. page, _ := c.DescribeTagsRequest(input)
  8251. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8252. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8253. return fn(p.(*DescribeTagsOutput), lastPage)
  8254. })
  8255. }
  8256. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  8257. // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
  8258. // client's request for the DescribeVolumeAttribute operation. The "output" return
  8259. // value can be used to capture response data after the request's "Send" method
  8260. // is called.
  8261. //
  8262. // See DescribeVolumeAttribute for usage and error information.
  8263. //
  8264. // Creating a request object using this method should be used when you want to inject
  8265. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8266. // access properties on the request object before or after sending the request. If
  8267. // you just want the service response, call the DescribeVolumeAttribute method directly
  8268. // instead.
  8269. //
  8270. // Note: You must call the "Send" method on the returned request object in order
  8271. // to execute the request.
  8272. //
  8273. // // Example sending a request using the DescribeVolumeAttributeRequest method.
  8274. // req, resp := client.DescribeVolumeAttributeRequest(params)
  8275. //
  8276. // err := req.Send()
  8277. // if err == nil { // resp is now filled
  8278. // fmt.Println(resp)
  8279. // }
  8280. //
  8281. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  8282. op := &request.Operation{
  8283. Name: opDescribeVolumeAttribute,
  8284. HTTPMethod: "POST",
  8285. HTTPPath: "/",
  8286. }
  8287. if input == nil {
  8288. input = &DescribeVolumeAttributeInput{}
  8289. }
  8290. req = c.newRequest(op, input, output)
  8291. output = &DescribeVolumeAttributeOutput{}
  8292. req.Data = output
  8293. return
  8294. }
  8295. // DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  8296. //
  8297. // Describes the specified attribute of the specified volume. You can specify
  8298. // only one attribute at a time.
  8299. //
  8300. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  8301. // in the Amazon Elastic Compute Cloud User Guide.
  8302. //
  8303. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8304. // with awserr.Error's Code and Message methods to get detailed information about
  8305. // the error.
  8306. //
  8307. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8308. // API operation DescribeVolumeAttribute for usage and error information.
  8309. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  8310. req, out := c.DescribeVolumeAttributeRequest(input)
  8311. err := req.Send()
  8312. return out, err
  8313. }
  8314. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  8315. // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
  8316. // client's request for the DescribeVolumeStatus operation. The "output" return
  8317. // value can be used to capture response data after the request's "Send" method
  8318. // is called.
  8319. //
  8320. // See DescribeVolumeStatus for usage and error information.
  8321. //
  8322. // Creating a request object using this method should be used when you want to inject
  8323. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8324. // access properties on the request object before or after sending the request. If
  8325. // you just want the service response, call the DescribeVolumeStatus method directly
  8326. // instead.
  8327. //
  8328. // Note: You must call the "Send" method on the returned request object in order
  8329. // to execute the request.
  8330. //
  8331. // // Example sending a request using the DescribeVolumeStatusRequest method.
  8332. // req, resp := client.DescribeVolumeStatusRequest(params)
  8333. //
  8334. // err := req.Send()
  8335. // if err == nil { // resp is now filled
  8336. // fmt.Println(resp)
  8337. // }
  8338. //
  8339. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  8340. op := &request.Operation{
  8341. Name: opDescribeVolumeStatus,
  8342. HTTPMethod: "POST",
  8343. HTTPPath: "/",
  8344. Paginator: &request.Paginator{
  8345. InputTokens: []string{"NextToken"},
  8346. OutputTokens: []string{"NextToken"},
  8347. LimitToken: "MaxResults",
  8348. TruncationToken: "",
  8349. },
  8350. }
  8351. if input == nil {
  8352. input = &DescribeVolumeStatusInput{}
  8353. }
  8354. req = c.newRequest(op, input, output)
  8355. output = &DescribeVolumeStatusOutput{}
  8356. req.Data = output
  8357. return
  8358. }
  8359. // DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
  8360. //
  8361. // Describes the status of the specified volumes. Volume status provides the
  8362. // result of the checks performed on your volumes to determine events that can
  8363. // impair the performance of your volumes. The performance of a volume can be
  8364. // affected if an issue occurs on the volume's underlying host. If the volume's
  8365. // underlying host experiences a power outage or system issue, after the system
  8366. // is restored, there could be data inconsistencies on the volume. Volume events
  8367. // notify you if this occurs. Volume actions notify you if any action needs
  8368. // to be taken in response to the event.
  8369. //
  8370. // The DescribeVolumeStatus operation provides the following information about
  8371. // the specified volumes:
  8372. //
  8373. // Status: Reflects the current status of the volume. The possible values are
  8374. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  8375. // status of the volume is ok. If the check fails, the overall status is impaired.
  8376. // If the status is insufficient-data, then the checks may still be taking place
  8377. // on your volume at the time. We recommend that you retry the request. For
  8378. // more information on volume status, see Monitoring the Status of Your Volumes
  8379. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
  8380. //
  8381. // Events: Reflect the cause of a volume status and may require you to take
  8382. // action. For example, if your volume returns an impaired status, then the
  8383. // volume event might be potential-data-inconsistency. This means that your
  8384. // volume has been affected by an issue with the underlying host, has all I/O
  8385. // operations disabled, and may have inconsistent data.
  8386. //
  8387. // Actions: Reflect the actions you may have to take in response to an event.
  8388. // For example, if the status of the volume is impaired and the volume event
  8389. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  8390. // This means that you may want to enable the I/O operations for the volume
  8391. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  8392. //
  8393. // Volume status is based on the volume status checks, and does not reflect
  8394. // the volume state. Therefore, volume status does not indicate volumes in the
  8395. // error state (for example, when a volume is incapable of accepting I/O.)
  8396. //
  8397. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8398. // with awserr.Error's Code and Message methods to get detailed information about
  8399. // the error.
  8400. //
  8401. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8402. // API operation DescribeVolumeStatus for usage and error information.
  8403. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  8404. req, out := c.DescribeVolumeStatusRequest(input)
  8405. err := req.Send()
  8406. return out, err
  8407. }
  8408. // DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
  8409. // calling the "fn" function with the response data for each page. To stop
  8410. // iterating, return false from the fn function.
  8411. //
  8412. // See DescribeVolumeStatus method for more information on how to use this operation.
  8413. //
  8414. // Note: This operation can generate multiple requests to a service.
  8415. //
  8416. // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
  8417. // pageNum := 0
  8418. // err := client.DescribeVolumeStatusPages(params,
  8419. // func(page *DescribeVolumeStatusOutput, lastPage bool) bool {
  8420. // pageNum++
  8421. // fmt.Println(page)
  8422. // return pageNum <= 3
  8423. // })
  8424. //
  8425. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(p *DescribeVolumeStatusOutput, lastPage bool) (shouldContinue bool)) error {
  8426. page, _ := c.DescribeVolumeStatusRequest(input)
  8427. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8428. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8429. return fn(p.(*DescribeVolumeStatusOutput), lastPage)
  8430. })
  8431. }
  8432. const opDescribeVolumes = "DescribeVolumes"
  8433. // DescribeVolumesRequest generates a "aws/request.Request" representing the
  8434. // client's request for the DescribeVolumes operation. The "output" return
  8435. // value can be used to capture response data after the request's "Send" method
  8436. // is called.
  8437. //
  8438. // See DescribeVolumes for usage and error information.
  8439. //
  8440. // Creating a request object using this method should be used when you want to inject
  8441. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8442. // access properties on the request object before or after sending the request. If
  8443. // you just want the service response, call the DescribeVolumes method directly
  8444. // instead.
  8445. //
  8446. // Note: You must call the "Send" method on the returned request object in order
  8447. // to execute the request.
  8448. //
  8449. // // Example sending a request using the DescribeVolumesRequest method.
  8450. // req, resp := client.DescribeVolumesRequest(params)
  8451. //
  8452. // err := req.Send()
  8453. // if err == nil { // resp is now filled
  8454. // fmt.Println(resp)
  8455. // }
  8456. //
  8457. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  8458. op := &request.Operation{
  8459. Name: opDescribeVolumes,
  8460. HTTPMethod: "POST",
  8461. HTTPPath: "/",
  8462. Paginator: &request.Paginator{
  8463. InputTokens: []string{"NextToken"},
  8464. OutputTokens: []string{"NextToken"},
  8465. LimitToken: "MaxResults",
  8466. TruncationToken: "",
  8467. },
  8468. }
  8469. if input == nil {
  8470. input = &DescribeVolumesInput{}
  8471. }
  8472. req = c.newRequest(op, input, output)
  8473. output = &DescribeVolumesOutput{}
  8474. req.Data = output
  8475. return
  8476. }
  8477. // DescribeVolumes API operation for Amazon Elastic Compute Cloud.
  8478. //
  8479. // Describes the specified EBS volumes.
  8480. //
  8481. // If you are describing a long list of volumes, you can paginate the output
  8482. // to make the list more manageable. The MaxResults parameter sets the maximum
  8483. // number of results returned in a single page. If the list of results exceeds
  8484. // your MaxResults value, then that number of results is returned along with
  8485. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  8486. // to retrieve the remaining results.
  8487. //
  8488. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  8489. // in the Amazon Elastic Compute Cloud User Guide.
  8490. //
  8491. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8492. // with awserr.Error's Code and Message methods to get detailed information about
  8493. // the error.
  8494. //
  8495. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8496. // API operation DescribeVolumes for usage and error information.
  8497. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  8498. req, out := c.DescribeVolumesRequest(input)
  8499. err := req.Send()
  8500. return out, err
  8501. }
  8502. // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  8503. // calling the "fn" function with the response data for each page. To stop
  8504. // iterating, return false from the fn function.
  8505. //
  8506. // See DescribeVolumes method for more information on how to use this operation.
  8507. //
  8508. // Note: This operation can generate multiple requests to a service.
  8509. //
  8510. // // Example iterating over at most 3 pages of a DescribeVolumes operation.
  8511. // pageNum := 0
  8512. // err := client.DescribeVolumesPages(params,
  8513. // func(page *DescribeVolumesOutput, lastPage bool) bool {
  8514. // pageNum++
  8515. // fmt.Println(page)
  8516. // return pageNum <= 3
  8517. // })
  8518. //
  8519. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(p *DescribeVolumesOutput, lastPage bool) (shouldContinue bool)) error {
  8520. page, _ := c.DescribeVolumesRequest(input)
  8521. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8522. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8523. return fn(p.(*DescribeVolumesOutput), lastPage)
  8524. })
  8525. }
  8526. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  8527. // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
  8528. // client's request for the DescribeVpcAttribute operation. The "output" return
  8529. // value can be used to capture response data after the request's "Send" method
  8530. // is called.
  8531. //
  8532. // See DescribeVpcAttribute for usage and error information.
  8533. //
  8534. // Creating a request object using this method should be used when you want to inject
  8535. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8536. // access properties on the request object before or after sending the request. If
  8537. // you just want the service response, call the DescribeVpcAttribute method directly
  8538. // instead.
  8539. //
  8540. // Note: You must call the "Send" method on the returned request object in order
  8541. // to execute the request.
  8542. //
  8543. // // Example sending a request using the DescribeVpcAttributeRequest method.
  8544. // req, resp := client.DescribeVpcAttributeRequest(params)
  8545. //
  8546. // err := req.Send()
  8547. // if err == nil { // resp is now filled
  8548. // fmt.Println(resp)
  8549. // }
  8550. //
  8551. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  8552. op := &request.Operation{
  8553. Name: opDescribeVpcAttribute,
  8554. HTTPMethod: "POST",
  8555. HTTPPath: "/",
  8556. }
  8557. if input == nil {
  8558. input = &DescribeVpcAttributeInput{}
  8559. }
  8560. req = c.newRequest(op, input, output)
  8561. output = &DescribeVpcAttributeOutput{}
  8562. req.Data = output
  8563. return
  8564. }
  8565. // DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
  8566. //
  8567. // Describes the specified attribute of the specified VPC. You can specify only
  8568. // one attribute at a time.
  8569. //
  8570. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8571. // with awserr.Error's Code and Message methods to get detailed information about
  8572. // the error.
  8573. //
  8574. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8575. // API operation DescribeVpcAttribute for usage and error information.
  8576. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  8577. req, out := c.DescribeVpcAttributeRequest(input)
  8578. err := req.Send()
  8579. return out, err
  8580. }
  8581. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  8582. // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
  8583. // client's request for the DescribeVpcClassicLink operation. The "output" return
  8584. // value can be used to capture response data after the request's "Send" method
  8585. // is called.
  8586. //
  8587. // See DescribeVpcClassicLink for usage and error information.
  8588. //
  8589. // Creating a request object using this method should be used when you want to inject
  8590. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8591. // access properties on the request object before or after sending the request. If
  8592. // you just want the service response, call the DescribeVpcClassicLink method directly
  8593. // instead.
  8594. //
  8595. // Note: You must call the "Send" method on the returned request object in order
  8596. // to execute the request.
  8597. //
  8598. // // Example sending a request using the DescribeVpcClassicLinkRequest method.
  8599. // req, resp := client.DescribeVpcClassicLinkRequest(params)
  8600. //
  8601. // err := req.Send()
  8602. // if err == nil { // resp is now filled
  8603. // fmt.Println(resp)
  8604. // }
  8605. //
  8606. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  8607. op := &request.Operation{
  8608. Name: opDescribeVpcClassicLink,
  8609. HTTPMethod: "POST",
  8610. HTTPPath: "/",
  8611. }
  8612. if input == nil {
  8613. input = &DescribeVpcClassicLinkInput{}
  8614. }
  8615. req = c.newRequest(op, input, output)
  8616. output = &DescribeVpcClassicLinkOutput{}
  8617. req.Data = output
  8618. return
  8619. }
  8620. // DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  8621. //
  8622. // Describes the ClassicLink status of one or more VPCs.
  8623. //
  8624. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8625. // with awserr.Error's Code and Message methods to get detailed information about
  8626. // the error.
  8627. //
  8628. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8629. // API operation DescribeVpcClassicLink for usage and error information.
  8630. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  8631. req, out := c.DescribeVpcClassicLinkRequest(input)
  8632. err := req.Send()
  8633. return out, err
  8634. }
  8635. const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
  8636. // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  8637. // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
  8638. // value can be used to capture response data after the request's "Send" method
  8639. // is called.
  8640. //
  8641. // See DescribeVpcClassicLinkDnsSupport for usage and error information.
  8642. //
  8643. // Creating a request object using this method should be used when you want to inject
  8644. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8645. // access properties on the request object before or after sending the request. If
  8646. // you just want the service response, call the DescribeVpcClassicLinkDnsSupport method directly
  8647. // instead.
  8648. //
  8649. // Note: You must call the "Send" method on the returned request object in order
  8650. // to execute the request.
  8651. //
  8652. // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
  8653. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
  8654. //
  8655. // err := req.Send()
  8656. // if err == nil { // resp is now filled
  8657. // fmt.Println(resp)
  8658. // }
  8659. //
  8660. func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
  8661. op := &request.Operation{
  8662. Name: opDescribeVpcClassicLinkDnsSupport,
  8663. HTTPMethod: "POST",
  8664. HTTPPath: "/",
  8665. }
  8666. if input == nil {
  8667. input = &DescribeVpcClassicLinkDnsSupportInput{}
  8668. }
  8669. req = c.newRequest(op, input, output)
  8670. output = &DescribeVpcClassicLinkDnsSupportOutput{}
  8671. req.Data = output
  8672. return
  8673. }
  8674. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  8675. //
  8676. // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
  8677. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  8678. // IP address when addressed from an instance in the VPC to which it's linked.
  8679. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  8680. // IP address when addressed from a linked EC2-Classic instance. For more information
  8681. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  8682. // in the Amazon Elastic Compute Cloud User Guide.
  8683. //
  8684. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8685. // with awserr.Error's Code and Message methods to get detailed information about
  8686. // the error.
  8687. //
  8688. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8689. // API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
  8690. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  8691. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  8692. err := req.Send()
  8693. return out, err
  8694. }
  8695. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  8696. // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
  8697. // client's request for the DescribeVpcEndpointServices operation. The "output" return
  8698. // value can be used to capture response data after the request's "Send" method
  8699. // is called.
  8700. //
  8701. // See DescribeVpcEndpointServices for usage and error information.
  8702. //
  8703. // Creating a request object using this method should be used when you want to inject
  8704. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8705. // access properties on the request object before or after sending the request. If
  8706. // you just want the service response, call the DescribeVpcEndpointServices method directly
  8707. // instead.
  8708. //
  8709. // Note: You must call the "Send" method on the returned request object in order
  8710. // to execute the request.
  8711. //
  8712. // // Example sending a request using the DescribeVpcEndpointServicesRequest method.
  8713. // req, resp := client.DescribeVpcEndpointServicesRequest(params)
  8714. //
  8715. // err := req.Send()
  8716. // if err == nil { // resp is now filled
  8717. // fmt.Println(resp)
  8718. // }
  8719. //
  8720. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  8721. op := &request.Operation{
  8722. Name: opDescribeVpcEndpointServices,
  8723. HTTPMethod: "POST",
  8724. HTTPPath: "/",
  8725. }
  8726. if input == nil {
  8727. input = &DescribeVpcEndpointServicesInput{}
  8728. }
  8729. req = c.newRequest(op, input, output)
  8730. output = &DescribeVpcEndpointServicesOutput{}
  8731. req.Data = output
  8732. return
  8733. }
  8734. // DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
  8735. //
  8736. // Describes all supported AWS services that can be specified when creating
  8737. // a VPC endpoint.
  8738. //
  8739. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8740. // with awserr.Error's Code and Message methods to get detailed information about
  8741. // the error.
  8742. //
  8743. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8744. // API operation DescribeVpcEndpointServices for usage and error information.
  8745. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  8746. req, out := c.DescribeVpcEndpointServicesRequest(input)
  8747. err := req.Send()
  8748. return out, err
  8749. }
  8750. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  8751. // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
  8752. // client's request for the DescribeVpcEndpoints operation. The "output" return
  8753. // value can be used to capture response data after the request's "Send" method
  8754. // is called.
  8755. //
  8756. // See DescribeVpcEndpoints for usage and error information.
  8757. //
  8758. // Creating a request object using this method should be used when you want to inject
  8759. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8760. // access properties on the request object before or after sending the request. If
  8761. // you just want the service response, call the DescribeVpcEndpoints method directly
  8762. // instead.
  8763. //
  8764. // Note: You must call the "Send" method on the returned request object in order
  8765. // to execute the request.
  8766. //
  8767. // // Example sending a request using the DescribeVpcEndpointsRequest method.
  8768. // req, resp := client.DescribeVpcEndpointsRequest(params)
  8769. //
  8770. // err := req.Send()
  8771. // if err == nil { // resp is now filled
  8772. // fmt.Println(resp)
  8773. // }
  8774. //
  8775. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  8776. op := &request.Operation{
  8777. Name: opDescribeVpcEndpoints,
  8778. HTTPMethod: "POST",
  8779. HTTPPath: "/",
  8780. }
  8781. if input == nil {
  8782. input = &DescribeVpcEndpointsInput{}
  8783. }
  8784. req = c.newRequest(op, input, output)
  8785. output = &DescribeVpcEndpointsOutput{}
  8786. req.Data = output
  8787. return
  8788. }
  8789. // DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  8790. //
  8791. // Describes one or more of your VPC endpoints.
  8792. //
  8793. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8794. // with awserr.Error's Code and Message methods to get detailed information about
  8795. // the error.
  8796. //
  8797. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8798. // API operation DescribeVpcEndpoints for usage and error information.
  8799. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  8800. req, out := c.DescribeVpcEndpointsRequest(input)
  8801. err := req.Send()
  8802. return out, err
  8803. }
  8804. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  8805. // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  8806. // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  8807. // value can be used to capture response data after the request's "Send" method
  8808. // is called.
  8809. //
  8810. // See DescribeVpcPeeringConnections for usage and error information.
  8811. //
  8812. // Creating a request object using this method should be used when you want to inject
  8813. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8814. // access properties on the request object before or after sending the request. If
  8815. // you just want the service response, call the DescribeVpcPeeringConnections method directly
  8816. // instead.
  8817. //
  8818. // Note: You must call the "Send" method on the returned request object in order
  8819. // to execute the request.
  8820. //
  8821. // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  8822. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  8823. //
  8824. // err := req.Send()
  8825. // if err == nil { // resp is now filled
  8826. // fmt.Println(resp)
  8827. // }
  8828. //
  8829. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  8830. op := &request.Operation{
  8831. Name: opDescribeVpcPeeringConnections,
  8832. HTTPMethod: "POST",
  8833. HTTPPath: "/",
  8834. }
  8835. if input == nil {
  8836. input = &DescribeVpcPeeringConnectionsInput{}
  8837. }
  8838. req = c.newRequest(op, input, output)
  8839. output = &DescribeVpcPeeringConnectionsOutput{}
  8840. req.Data = output
  8841. return
  8842. }
  8843. // DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
  8844. //
  8845. // Describes one or more of your VPC peering connections.
  8846. //
  8847. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8848. // with awserr.Error's Code and Message methods to get detailed information about
  8849. // the error.
  8850. //
  8851. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8852. // API operation DescribeVpcPeeringConnections for usage and error information.
  8853. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  8854. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  8855. err := req.Send()
  8856. return out, err
  8857. }
  8858. const opDescribeVpcs = "DescribeVpcs"
  8859. // DescribeVpcsRequest generates a "aws/request.Request" representing the
  8860. // client's request for the DescribeVpcs operation. The "output" return
  8861. // value can be used to capture response data after the request's "Send" method
  8862. // is called.
  8863. //
  8864. // See DescribeVpcs for usage and error information.
  8865. //
  8866. // Creating a request object using this method should be used when you want to inject
  8867. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8868. // access properties on the request object before or after sending the request. If
  8869. // you just want the service response, call the DescribeVpcs method directly
  8870. // instead.
  8871. //
  8872. // Note: You must call the "Send" method on the returned request object in order
  8873. // to execute the request.
  8874. //
  8875. // // Example sending a request using the DescribeVpcsRequest method.
  8876. // req, resp := client.DescribeVpcsRequest(params)
  8877. //
  8878. // err := req.Send()
  8879. // if err == nil { // resp is now filled
  8880. // fmt.Println(resp)
  8881. // }
  8882. //
  8883. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  8884. op := &request.Operation{
  8885. Name: opDescribeVpcs,
  8886. HTTPMethod: "POST",
  8887. HTTPPath: "/",
  8888. }
  8889. if input == nil {
  8890. input = &DescribeVpcsInput{}
  8891. }
  8892. req = c.newRequest(op, input, output)
  8893. output = &DescribeVpcsOutput{}
  8894. req.Data = output
  8895. return
  8896. }
  8897. // DescribeVpcs API operation for Amazon Elastic Compute Cloud.
  8898. //
  8899. // Describes one or more of your VPCs.
  8900. //
  8901. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8902. // with awserr.Error's Code and Message methods to get detailed information about
  8903. // the error.
  8904. //
  8905. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8906. // API operation DescribeVpcs for usage and error information.
  8907. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  8908. req, out := c.DescribeVpcsRequest(input)
  8909. err := req.Send()
  8910. return out, err
  8911. }
  8912. const opDescribeVpnConnections = "DescribeVpnConnections"
  8913. // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
  8914. // client's request for the DescribeVpnConnections operation. The "output" return
  8915. // value can be used to capture response data after the request's "Send" method
  8916. // is called.
  8917. //
  8918. // See DescribeVpnConnections for usage and error information.
  8919. //
  8920. // Creating a request object using this method should be used when you want to inject
  8921. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8922. // access properties on the request object before or after sending the request. If
  8923. // you just want the service response, call the DescribeVpnConnections method directly
  8924. // instead.
  8925. //
  8926. // Note: You must call the "Send" method on the returned request object in order
  8927. // to execute the request.
  8928. //
  8929. // // Example sending a request using the DescribeVpnConnectionsRequest method.
  8930. // req, resp := client.DescribeVpnConnectionsRequest(params)
  8931. //
  8932. // err := req.Send()
  8933. // if err == nil { // resp is now filled
  8934. // fmt.Println(resp)
  8935. // }
  8936. //
  8937. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  8938. op := &request.Operation{
  8939. Name: opDescribeVpnConnections,
  8940. HTTPMethod: "POST",
  8941. HTTPPath: "/",
  8942. }
  8943. if input == nil {
  8944. input = &DescribeVpnConnectionsInput{}
  8945. }
  8946. req = c.newRequest(op, input, output)
  8947. output = &DescribeVpnConnectionsOutput{}
  8948. req.Data = output
  8949. return
  8950. }
  8951. // DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
  8952. //
  8953. // Describes one or more of your VPN connections.
  8954. //
  8955. // For more information about VPN connections, see Adding a Hardware Virtual
  8956. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  8957. // in the Amazon Virtual Private Cloud User Guide.
  8958. //
  8959. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8960. // with awserr.Error's Code and Message methods to get detailed information about
  8961. // the error.
  8962. //
  8963. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8964. // API operation DescribeVpnConnections for usage and error information.
  8965. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  8966. req, out := c.DescribeVpnConnectionsRequest(input)
  8967. err := req.Send()
  8968. return out, err
  8969. }
  8970. const opDescribeVpnGateways = "DescribeVpnGateways"
  8971. // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
  8972. // client's request for the DescribeVpnGateways operation. The "output" return
  8973. // value can be used to capture response data after the request's "Send" method
  8974. // is called.
  8975. //
  8976. // See DescribeVpnGateways for usage and error information.
  8977. //
  8978. // Creating a request object using this method should be used when you want to inject
  8979. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8980. // access properties on the request object before or after sending the request. If
  8981. // you just want the service response, call the DescribeVpnGateways method directly
  8982. // instead.
  8983. //
  8984. // Note: You must call the "Send" method on the returned request object in order
  8985. // to execute the request.
  8986. //
  8987. // // Example sending a request using the DescribeVpnGatewaysRequest method.
  8988. // req, resp := client.DescribeVpnGatewaysRequest(params)
  8989. //
  8990. // err := req.Send()
  8991. // if err == nil { // resp is now filled
  8992. // fmt.Println(resp)
  8993. // }
  8994. //
  8995. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  8996. op := &request.Operation{
  8997. Name: opDescribeVpnGateways,
  8998. HTTPMethod: "POST",
  8999. HTTPPath: "/",
  9000. }
  9001. if input == nil {
  9002. input = &DescribeVpnGatewaysInput{}
  9003. }
  9004. req = c.newRequest(op, input, output)
  9005. output = &DescribeVpnGatewaysOutput{}
  9006. req.Data = output
  9007. return
  9008. }
  9009. // DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
  9010. //
  9011. // Describes one or more of your virtual private gateways.
  9012. //
  9013. // For more information about virtual private gateways, see Adding an IPsec
  9014. // Hardware VPN to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  9015. // in the Amazon Virtual Private Cloud User Guide.
  9016. //
  9017. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9018. // with awserr.Error's Code and Message methods to get detailed information about
  9019. // the error.
  9020. //
  9021. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9022. // API operation DescribeVpnGateways for usage and error information.
  9023. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  9024. req, out := c.DescribeVpnGatewaysRequest(input)
  9025. err := req.Send()
  9026. return out, err
  9027. }
  9028. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  9029. // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  9030. // client's request for the DetachClassicLinkVpc operation. The "output" return
  9031. // value can be used to capture response data after the request's "Send" method
  9032. // is called.
  9033. //
  9034. // See DetachClassicLinkVpc for usage and error information.
  9035. //
  9036. // Creating a request object using this method should be used when you want to inject
  9037. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9038. // access properties on the request object before or after sending the request. If
  9039. // you just want the service response, call the DetachClassicLinkVpc method directly
  9040. // instead.
  9041. //
  9042. // Note: You must call the "Send" method on the returned request object in order
  9043. // to execute the request.
  9044. //
  9045. // // Example sending a request using the DetachClassicLinkVpcRequest method.
  9046. // req, resp := client.DetachClassicLinkVpcRequest(params)
  9047. //
  9048. // err := req.Send()
  9049. // if err == nil { // resp is now filled
  9050. // fmt.Println(resp)
  9051. // }
  9052. //
  9053. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  9054. op := &request.Operation{
  9055. Name: opDetachClassicLinkVpc,
  9056. HTTPMethod: "POST",
  9057. HTTPPath: "/",
  9058. }
  9059. if input == nil {
  9060. input = &DetachClassicLinkVpcInput{}
  9061. }
  9062. req = c.newRequest(op, input, output)
  9063. output = &DetachClassicLinkVpcOutput{}
  9064. req.Data = output
  9065. return
  9066. }
  9067. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  9068. //
  9069. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  9070. // has been unlinked, the VPC security groups are no longer associated with
  9071. // it. An instance is automatically unlinked from a VPC when it's stopped.
  9072. //
  9073. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9074. // with awserr.Error's Code and Message methods to get detailed information about
  9075. // the error.
  9076. //
  9077. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9078. // API operation DetachClassicLinkVpc for usage and error information.
  9079. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  9080. req, out := c.DetachClassicLinkVpcRequest(input)
  9081. err := req.Send()
  9082. return out, err
  9083. }
  9084. const opDetachInternetGateway = "DetachInternetGateway"
  9085. // DetachInternetGatewayRequest generates a "aws/request.Request" representing the
  9086. // client's request for the DetachInternetGateway operation. The "output" return
  9087. // value can be used to capture response data after the request's "Send" method
  9088. // is called.
  9089. //
  9090. // See DetachInternetGateway for usage and error information.
  9091. //
  9092. // Creating a request object using this method should be used when you want to inject
  9093. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9094. // access properties on the request object before or after sending the request. If
  9095. // you just want the service response, call the DetachInternetGateway method directly
  9096. // instead.
  9097. //
  9098. // Note: You must call the "Send" method on the returned request object in order
  9099. // to execute the request.
  9100. //
  9101. // // Example sending a request using the DetachInternetGatewayRequest method.
  9102. // req, resp := client.DetachInternetGatewayRequest(params)
  9103. //
  9104. // err := req.Send()
  9105. // if err == nil { // resp is now filled
  9106. // fmt.Println(resp)
  9107. // }
  9108. //
  9109. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  9110. op := &request.Operation{
  9111. Name: opDetachInternetGateway,
  9112. HTTPMethod: "POST",
  9113. HTTPPath: "/",
  9114. }
  9115. if input == nil {
  9116. input = &DetachInternetGatewayInput{}
  9117. }
  9118. req = c.newRequest(op, input, output)
  9119. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9120. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9121. output = &DetachInternetGatewayOutput{}
  9122. req.Data = output
  9123. return
  9124. }
  9125. // DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
  9126. //
  9127. // Detaches an Internet gateway from a VPC, disabling connectivity between the
  9128. // Internet and the VPC. The VPC must not contain any running instances with
  9129. // Elastic IP addresses.
  9130. //
  9131. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9132. // with awserr.Error's Code and Message methods to get detailed information about
  9133. // the error.
  9134. //
  9135. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9136. // API operation DetachInternetGateway for usage and error information.
  9137. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  9138. req, out := c.DetachInternetGatewayRequest(input)
  9139. err := req.Send()
  9140. return out, err
  9141. }
  9142. const opDetachNetworkInterface = "DetachNetworkInterface"
  9143. // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  9144. // client's request for the DetachNetworkInterface operation. The "output" return
  9145. // value can be used to capture response data after the request's "Send" method
  9146. // is called.
  9147. //
  9148. // See DetachNetworkInterface for usage and error information.
  9149. //
  9150. // Creating a request object using this method should be used when you want to inject
  9151. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9152. // access properties on the request object before or after sending the request. If
  9153. // you just want the service response, call the DetachNetworkInterface method directly
  9154. // instead.
  9155. //
  9156. // Note: You must call the "Send" method on the returned request object in order
  9157. // to execute the request.
  9158. //
  9159. // // Example sending a request using the DetachNetworkInterfaceRequest method.
  9160. // req, resp := client.DetachNetworkInterfaceRequest(params)
  9161. //
  9162. // err := req.Send()
  9163. // if err == nil { // resp is now filled
  9164. // fmt.Println(resp)
  9165. // }
  9166. //
  9167. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  9168. op := &request.Operation{
  9169. Name: opDetachNetworkInterface,
  9170. HTTPMethod: "POST",
  9171. HTTPPath: "/",
  9172. }
  9173. if input == nil {
  9174. input = &DetachNetworkInterfaceInput{}
  9175. }
  9176. req = c.newRequest(op, input, output)
  9177. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9178. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9179. output = &DetachNetworkInterfaceOutput{}
  9180. req.Data = output
  9181. return
  9182. }
  9183. // DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  9184. //
  9185. // Detaches a network interface from an instance.
  9186. //
  9187. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9188. // with awserr.Error's Code and Message methods to get detailed information about
  9189. // the error.
  9190. //
  9191. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9192. // API operation DetachNetworkInterface for usage and error information.
  9193. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  9194. req, out := c.DetachNetworkInterfaceRequest(input)
  9195. err := req.Send()
  9196. return out, err
  9197. }
  9198. const opDetachVolume = "DetachVolume"
  9199. // DetachVolumeRequest generates a "aws/request.Request" representing the
  9200. // client's request for the DetachVolume operation. The "output" return
  9201. // value can be used to capture response data after the request's "Send" method
  9202. // is called.
  9203. //
  9204. // See DetachVolume for usage and error information.
  9205. //
  9206. // Creating a request object using this method should be used when you want to inject
  9207. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9208. // access properties on the request object before or after sending the request. If
  9209. // you just want the service response, call the DetachVolume method directly
  9210. // instead.
  9211. //
  9212. // Note: You must call the "Send" method on the returned request object in order
  9213. // to execute the request.
  9214. //
  9215. // // Example sending a request using the DetachVolumeRequest method.
  9216. // req, resp := client.DetachVolumeRequest(params)
  9217. //
  9218. // err := req.Send()
  9219. // if err == nil { // resp is now filled
  9220. // fmt.Println(resp)
  9221. // }
  9222. //
  9223. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  9224. op := &request.Operation{
  9225. Name: opDetachVolume,
  9226. HTTPMethod: "POST",
  9227. HTTPPath: "/",
  9228. }
  9229. if input == nil {
  9230. input = &DetachVolumeInput{}
  9231. }
  9232. req = c.newRequest(op, input, output)
  9233. output = &VolumeAttachment{}
  9234. req.Data = output
  9235. return
  9236. }
  9237. // DetachVolume API operation for Amazon Elastic Compute Cloud.
  9238. //
  9239. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  9240. // on the device within your operating system before detaching the volume. Failure
  9241. // to do so can result in the volume becoming stuck in the busy state while
  9242. // detaching. If this happens, detachment can be delayed indefinitely until
  9243. // you unmount the volume, force detachment, reboot the instance, or all three.
  9244. // If an EBS volume is the root device of an instance, it can't be detached
  9245. // while the instance is running. To detach the root volume, stop the instance
  9246. // first.
  9247. //
  9248. // When a volume with an AWS Marketplace product code is detached from an instance,
  9249. // the product code is no longer associated with the instance.
  9250. //
  9251. // For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  9252. // in the Amazon Elastic Compute Cloud User Guide.
  9253. //
  9254. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9255. // with awserr.Error's Code and Message methods to get detailed information about
  9256. // the error.
  9257. //
  9258. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9259. // API operation DetachVolume for usage and error information.
  9260. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  9261. req, out := c.DetachVolumeRequest(input)
  9262. err := req.Send()
  9263. return out, err
  9264. }
  9265. const opDetachVpnGateway = "DetachVpnGateway"
  9266. // DetachVpnGatewayRequest generates a "aws/request.Request" representing the
  9267. // client's request for the DetachVpnGateway operation. The "output" return
  9268. // value can be used to capture response data after the request's "Send" method
  9269. // is called.
  9270. //
  9271. // See DetachVpnGateway for usage and error information.
  9272. //
  9273. // Creating a request object using this method should be used when you want to inject
  9274. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9275. // access properties on the request object before or after sending the request. If
  9276. // you just want the service response, call the DetachVpnGateway method directly
  9277. // instead.
  9278. //
  9279. // Note: You must call the "Send" method on the returned request object in order
  9280. // to execute the request.
  9281. //
  9282. // // Example sending a request using the DetachVpnGatewayRequest method.
  9283. // req, resp := client.DetachVpnGatewayRequest(params)
  9284. //
  9285. // err := req.Send()
  9286. // if err == nil { // resp is now filled
  9287. // fmt.Println(resp)
  9288. // }
  9289. //
  9290. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  9291. op := &request.Operation{
  9292. Name: opDetachVpnGateway,
  9293. HTTPMethod: "POST",
  9294. HTTPPath: "/",
  9295. }
  9296. if input == nil {
  9297. input = &DetachVpnGatewayInput{}
  9298. }
  9299. req = c.newRequest(op, input, output)
  9300. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9301. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9302. output = &DetachVpnGatewayOutput{}
  9303. req.Data = output
  9304. return
  9305. }
  9306. // DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
  9307. //
  9308. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  9309. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  9310. // gateway has been completely detached from a VPC by describing the virtual
  9311. // private gateway (any attachments to the virtual private gateway are also
  9312. // described).
  9313. //
  9314. // You must wait for the attachment's state to switch to detached before you
  9315. // can delete the VPC or attach a different VPC to the virtual private gateway.
  9316. //
  9317. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9318. // with awserr.Error's Code and Message methods to get detailed information about
  9319. // the error.
  9320. //
  9321. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9322. // API operation DetachVpnGateway for usage and error information.
  9323. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  9324. req, out := c.DetachVpnGatewayRequest(input)
  9325. err := req.Send()
  9326. return out, err
  9327. }
  9328. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  9329. // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  9330. // client's request for the DisableVgwRoutePropagation operation. The "output" return
  9331. // value can be used to capture response data after the request's "Send" method
  9332. // is called.
  9333. //
  9334. // See DisableVgwRoutePropagation for usage and error information.
  9335. //
  9336. // Creating a request object using this method should be used when you want to inject
  9337. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9338. // access properties on the request object before or after sending the request. If
  9339. // you just want the service response, call the DisableVgwRoutePropagation method directly
  9340. // instead.
  9341. //
  9342. // Note: You must call the "Send" method on the returned request object in order
  9343. // to execute the request.
  9344. //
  9345. // // Example sending a request using the DisableVgwRoutePropagationRequest method.
  9346. // req, resp := client.DisableVgwRoutePropagationRequest(params)
  9347. //
  9348. // err := req.Send()
  9349. // if err == nil { // resp is now filled
  9350. // fmt.Println(resp)
  9351. // }
  9352. //
  9353. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  9354. op := &request.Operation{
  9355. Name: opDisableVgwRoutePropagation,
  9356. HTTPMethod: "POST",
  9357. HTTPPath: "/",
  9358. }
  9359. if input == nil {
  9360. input = &DisableVgwRoutePropagationInput{}
  9361. }
  9362. req = c.newRequest(op, input, output)
  9363. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9364. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9365. output = &DisableVgwRoutePropagationOutput{}
  9366. req.Data = output
  9367. return
  9368. }
  9369. // DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  9370. //
  9371. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  9372. // route table of a VPC.
  9373. //
  9374. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9375. // with awserr.Error's Code and Message methods to get detailed information about
  9376. // the error.
  9377. //
  9378. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9379. // API operation DisableVgwRoutePropagation for usage and error information.
  9380. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  9381. req, out := c.DisableVgwRoutePropagationRequest(input)
  9382. err := req.Send()
  9383. return out, err
  9384. }
  9385. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  9386. // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  9387. // client's request for the DisableVpcClassicLink operation. The "output" return
  9388. // value can be used to capture response data after the request's "Send" method
  9389. // is called.
  9390. //
  9391. // See DisableVpcClassicLink for usage and error information.
  9392. //
  9393. // Creating a request object using this method should be used when you want to inject
  9394. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9395. // access properties on the request object before or after sending the request. If
  9396. // you just want the service response, call the DisableVpcClassicLink method directly
  9397. // instead.
  9398. //
  9399. // Note: You must call the "Send" method on the returned request object in order
  9400. // to execute the request.
  9401. //
  9402. // // Example sending a request using the DisableVpcClassicLinkRequest method.
  9403. // req, resp := client.DisableVpcClassicLinkRequest(params)
  9404. //
  9405. // err := req.Send()
  9406. // if err == nil { // resp is now filled
  9407. // fmt.Println(resp)
  9408. // }
  9409. //
  9410. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  9411. op := &request.Operation{
  9412. Name: opDisableVpcClassicLink,
  9413. HTTPMethod: "POST",
  9414. HTTPPath: "/",
  9415. }
  9416. if input == nil {
  9417. input = &DisableVpcClassicLinkInput{}
  9418. }
  9419. req = c.newRequest(op, input, output)
  9420. output = &DisableVpcClassicLinkOutput{}
  9421. req.Data = output
  9422. return
  9423. }
  9424. // DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  9425. //
  9426. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  9427. // that has EC2-Classic instances linked to it.
  9428. //
  9429. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9430. // with awserr.Error's Code and Message methods to get detailed information about
  9431. // the error.
  9432. //
  9433. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9434. // API operation DisableVpcClassicLink for usage and error information.
  9435. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  9436. req, out := c.DisableVpcClassicLinkRequest(input)
  9437. err := req.Send()
  9438. return out, err
  9439. }
  9440. const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
  9441. // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  9442. // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
  9443. // value can be used to capture response data after the request's "Send" method
  9444. // is called.
  9445. //
  9446. // See DisableVpcClassicLinkDnsSupport for usage and error information.
  9447. //
  9448. // Creating a request object using this method should be used when you want to inject
  9449. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9450. // access properties on the request object before or after sending the request. If
  9451. // you just want the service response, call the DisableVpcClassicLinkDnsSupport method directly
  9452. // instead.
  9453. //
  9454. // Note: You must call the "Send" method on the returned request object in order
  9455. // to execute the request.
  9456. //
  9457. // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
  9458. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
  9459. //
  9460. // err := req.Send()
  9461. // if err == nil { // resp is now filled
  9462. // fmt.Println(resp)
  9463. // }
  9464. //
  9465. func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
  9466. op := &request.Operation{
  9467. Name: opDisableVpcClassicLinkDnsSupport,
  9468. HTTPMethod: "POST",
  9469. HTTPPath: "/",
  9470. }
  9471. if input == nil {
  9472. input = &DisableVpcClassicLinkDnsSupportInput{}
  9473. }
  9474. req = c.newRequest(op, input, output)
  9475. output = &DisableVpcClassicLinkDnsSupportOutput{}
  9476. req.Data = output
  9477. return
  9478. }
  9479. // DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  9480. //
  9481. // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
  9482. // to public IP addresses when addressed between a linked EC2-Classic instance
  9483. // and instances in the VPC to which it's linked. For more information about
  9484. // ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  9485. // in the Amazon Elastic Compute Cloud User Guide.
  9486. //
  9487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9488. // with awserr.Error's Code and Message methods to get detailed information about
  9489. // the error.
  9490. //
  9491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9492. // API operation DisableVpcClassicLinkDnsSupport for usage and error information.
  9493. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  9494. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  9495. err := req.Send()
  9496. return out, err
  9497. }
  9498. const opDisassociateAddress = "DisassociateAddress"
  9499. // DisassociateAddressRequest generates a "aws/request.Request" representing the
  9500. // client's request for the DisassociateAddress operation. The "output" return
  9501. // value can be used to capture response data after the request's "Send" method
  9502. // is called.
  9503. //
  9504. // See DisassociateAddress for usage and error information.
  9505. //
  9506. // Creating a request object using this method should be used when you want to inject
  9507. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9508. // access properties on the request object before or after sending the request. If
  9509. // you just want the service response, call the DisassociateAddress method directly
  9510. // instead.
  9511. //
  9512. // Note: You must call the "Send" method on the returned request object in order
  9513. // to execute the request.
  9514. //
  9515. // // Example sending a request using the DisassociateAddressRequest method.
  9516. // req, resp := client.DisassociateAddressRequest(params)
  9517. //
  9518. // err := req.Send()
  9519. // if err == nil { // resp is now filled
  9520. // fmt.Println(resp)
  9521. // }
  9522. //
  9523. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  9524. op := &request.Operation{
  9525. Name: opDisassociateAddress,
  9526. HTTPMethod: "POST",
  9527. HTTPPath: "/",
  9528. }
  9529. if input == nil {
  9530. input = &DisassociateAddressInput{}
  9531. }
  9532. req = c.newRequest(op, input, output)
  9533. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9534. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9535. output = &DisassociateAddressOutput{}
  9536. req.Data = output
  9537. return
  9538. }
  9539. // DisassociateAddress API operation for Amazon Elastic Compute Cloud.
  9540. //
  9541. // Disassociates an Elastic IP address from the instance or network interface
  9542. // it's associated with.
  9543. //
  9544. // An Elastic IP address is for use in either the EC2-Classic platform or in
  9545. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  9546. // in the Amazon Elastic Compute Cloud User Guide.
  9547. //
  9548. // This is an idempotent operation. If you perform the operation more than once,
  9549. // Amazon EC2 doesn't return an error.
  9550. //
  9551. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9552. // with awserr.Error's Code and Message methods to get detailed information about
  9553. // the error.
  9554. //
  9555. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9556. // API operation DisassociateAddress for usage and error information.
  9557. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  9558. req, out := c.DisassociateAddressRequest(input)
  9559. err := req.Send()
  9560. return out, err
  9561. }
  9562. const opDisassociateRouteTable = "DisassociateRouteTable"
  9563. // DisassociateRouteTableRequest generates a "aws/request.Request" representing the
  9564. // client's request for the DisassociateRouteTable operation. The "output" return
  9565. // value can be used to capture response data after the request's "Send" method
  9566. // is called.
  9567. //
  9568. // See DisassociateRouteTable for usage and error information.
  9569. //
  9570. // Creating a request object using this method should be used when you want to inject
  9571. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9572. // access properties on the request object before or after sending the request. If
  9573. // you just want the service response, call the DisassociateRouteTable method directly
  9574. // instead.
  9575. //
  9576. // Note: You must call the "Send" method on the returned request object in order
  9577. // to execute the request.
  9578. //
  9579. // // Example sending a request using the DisassociateRouteTableRequest method.
  9580. // req, resp := client.DisassociateRouteTableRequest(params)
  9581. //
  9582. // err := req.Send()
  9583. // if err == nil { // resp is now filled
  9584. // fmt.Println(resp)
  9585. // }
  9586. //
  9587. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  9588. op := &request.Operation{
  9589. Name: opDisassociateRouteTable,
  9590. HTTPMethod: "POST",
  9591. HTTPPath: "/",
  9592. }
  9593. if input == nil {
  9594. input = &DisassociateRouteTableInput{}
  9595. }
  9596. req = c.newRequest(op, input, output)
  9597. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9598. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9599. output = &DisassociateRouteTableOutput{}
  9600. req.Data = output
  9601. return
  9602. }
  9603. // DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
  9604. //
  9605. // Disassociates a subnet from a route table.
  9606. //
  9607. // After you perform this action, the subnet no longer uses the routes in the
  9608. // route table. Instead, it uses the routes in the VPC's main route table. For
  9609. // more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  9610. // in the Amazon Virtual Private Cloud User Guide.
  9611. //
  9612. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9613. // with awserr.Error's Code and Message methods to get detailed information about
  9614. // the error.
  9615. //
  9616. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9617. // API operation DisassociateRouteTable for usage and error information.
  9618. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  9619. req, out := c.DisassociateRouteTableRequest(input)
  9620. err := req.Send()
  9621. return out, err
  9622. }
  9623. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  9624. // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  9625. // client's request for the EnableVgwRoutePropagation operation. The "output" return
  9626. // value can be used to capture response data after the request's "Send" method
  9627. // is called.
  9628. //
  9629. // See EnableVgwRoutePropagation for usage and error information.
  9630. //
  9631. // Creating a request object using this method should be used when you want to inject
  9632. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9633. // access properties on the request object before or after sending the request. If
  9634. // you just want the service response, call the EnableVgwRoutePropagation method directly
  9635. // instead.
  9636. //
  9637. // Note: You must call the "Send" method on the returned request object in order
  9638. // to execute the request.
  9639. //
  9640. // // Example sending a request using the EnableVgwRoutePropagationRequest method.
  9641. // req, resp := client.EnableVgwRoutePropagationRequest(params)
  9642. //
  9643. // err := req.Send()
  9644. // if err == nil { // resp is now filled
  9645. // fmt.Println(resp)
  9646. // }
  9647. //
  9648. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  9649. op := &request.Operation{
  9650. Name: opEnableVgwRoutePropagation,
  9651. HTTPMethod: "POST",
  9652. HTTPPath: "/",
  9653. }
  9654. if input == nil {
  9655. input = &EnableVgwRoutePropagationInput{}
  9656. }
  9657. req = c.newRequest(op, input, output)
  9658. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9659. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9660. output = &EnableVgwRoutePropagationOutput{}
  9661. req.Data = output
  9662. return
  9663. }
  9664. // EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  9665. //
  9666. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  9667. // route table of a VPC.
  9668. //
  9669. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9670. // with awserr.Error's Code and Message methods to get detailed information about
  9671. // the error.
  9672. //
  9673. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9674. // API operation EnableVgwRoutePropagation for usage and error information.
  9675. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  9676. req, out := c.EnableVgwRoutePropagationRequest(input)
  9677. err := req.Send()
  9678. return out, err
  9679. }
  9680. const opEnableVolumeIO = "EnableVolumeIO"
  9681. // EnableVolumeIORequest generates a "aws/request.Request" representing the
  9682. // client's request for the EnableVolumeIO operation. The "output" return
  9683. // value can be used to capture response data after the request's "Send" method
  9684. // is called.
  9685. //
  9686. // See EnableVolumeIO for usage and error information.
  9687. //
  9688. // Creating a request object using this method should be used when you want to inject
  9689. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9690. // access properties on the request object before or after sending the request. If
  9691. // you just want the service response, call the EnableVolumeIO method directly
  9692. // instead.
  9693. //
  9694. // Note: You must call the "Send" method on the returned request object in order
  9695. // to execute the request.
  9696. //
  9697. // // Example sending a request using the EnableVolumeIORequest method.
  9698. // req, resp := client.EnableVolumeIORequest(params)
  9699. //
  9700. // err := req.Send()
  9701. // if err == nil { // resp is now filled
  9702. // fmt.Println(resp)
  9703. // }
  9704. //
  9705. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  9706. op := &request.Operation{
  9707. Name: opEnableVolumeIO,
  9708. HTTPMethod: "POST",
  9709. HTTPPath: "/",
  9710. }
  9711. if input == nil {
  9712. input = &EnableVolumeIOInput{}
  9713. }
  9714. req = c.newRequest(op, input, output)
  9715. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  9716. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9717. output = &EnableVolumeIOOutput{}
  9718. req.Data = output
  9719. return
  9720. }
  9721. // EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
  9722. //
  9723. // Enables I/O operations for a volume that had I/O operations disabled because
  9724. // the data on the volume was potentially inconsistent.
  9725. //
  9726. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9727. // with awserr.Error's Code and Message methods to get detailed information about
  9728. // the error.
  9729. //
  9730. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9731. // API operation EnableVolumeIO for usage and error information.
  9732. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  9733. req, out := c.EnableVolumeIORequest(input)
  9734. err := req.Send()
  9735. return out, err
  9736. }
  9737. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  9738. // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  9739. // client's request for the EnableVpcClassicLink operation. The "output" return
  9740. // value can be used to capture response data after the request's "Send" method
  9741. // is called.
  9742. //
  9743. // See EnableVpcClassicLink for usage and error information.
  9744. //
  9745. // Creating a request object using this method should be used when you want to inject
  9746. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9747. // access properties on the request object before or after sending the request. If
  9748. // you just want the service response, call the EnableVpcClassicLink method directly
  9749. // instead.
  9750. //
  9751. // Note: You must call the "Send" method on the returned request object in order
  9752. // to execute the request.
  9753. //
  9754. // // Example sending a request using the EnableVpcClassicLinkRequest method.
  9755. // req, resp := client.EnableVpcClassicLinkRequest(params)
  9756. //
  9757. // err := req.Send()
  9758. // if err == nil { // resp is now filled
  9759. // fmt.Println(resp)
  9760. // }
  9761. //
  9762. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  9763. op := &request.Operation{
  9764. Name: opEnableVpcClassicLink,
  9765. HTTPMethod: "POST",
  9766. HTTPPath: "/",
  9767. }
  9768. if input == nil {
  9769. input = &EnableVpcClassicLinkInput{}
  9770. }
  9771. req = c.newRequest(op, input, output)
  9772. output = &EnableVpcClassicLinkOutput{}
  9773. req.Data = output
  9774. return
  9775. }
  9776. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  9777. //
  9778. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  9779. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  9780. // You cannot enable your VPC for ClassicLink if any of your VPC's route tables
  9781. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  9782. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  9783. // IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  9784. // in the Amazon Elastic Compute Cloud User Guide.
  9785. //
  9786. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9787. // with awserr.Error's Code and Message methods to get detailed information about
  9788. // the error.
  9789. //
  9790. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9791. // API operation EnableVpcClassicLink for usage and error information.
  9792. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  9793. req, out := c.EnableVpcClassicLinkRequest(input)
  9794. err := req.Send()
  9795. return out, err
  9796. }
  9797. const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
  9798. // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  9799. // client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
  9800. // value can be used to capture response data after the request's "Send" method
  9801. // is called.
  9802. //
  9803. // See EnableVpcClassicLinkDnsSupport for usage and error information.
  9804. //
  9805. // Creating a request object using this method should be used when you want to inject
  9806. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9807. // access properties on the request object before or after sending the request. If
  9808. // you just want the service response, call the EnableVpcClassicLinkDnsSupport method directly
  9809. // instead.
  9810. //
  9811. // Note: You must call the "Send" method on the returned request object in order
  9812. // to execute the request.
  9813. //
  9814. // // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
  9815. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
  9816. //
  9817. // err := req.Send()
  9818. // if err == nil { // resp is now filled
  9819. // fmt.Println(resp)
  9820. // }
  9821. //
  9822. func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
  9823. op := &request.Operation{
  9824. Name: opEnableVpcClassicLinkDnsSupport,
  9825. HTTPMethod: "POST",
  9826. HTTPPath: "/",
  9827. }
  9828. if input == nil {
  9829. input = &EnableVpcClassicLinkDnsSupportInput{}
  9830. }
  9831. req = c.newRequest(op, input, output)
  9832. output = &EnableVpcClassicLinkDnsSupportOutput{}
  9833. req.Data = output
  9834. return
  9835. }
  9836. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  9837. //
  9838. // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
  9839. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  9840. // IP address when addressed from an instance in the VPC to which it's linked.
  9841. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  9842. // IP address when addressed from a linked EC2-Classic instance. For more information
  9843. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  9844. // in the Amazon Elastic Compute Cloud User Guide.
  9845. //
  9846. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9847. // with awserr.Error's Code and Message methods to get detailed information about
  9848. // the error.
  9849. //
  9850. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9851. // API operation EnableVpcClassicLinkDnsSupport for usage and error information.
  9852. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  9853. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  9854. err := req.Send()
  9855. return out, err
  9856. }
  9857. const opGetConsoleOutput = "GetConsoleOutput"
  9858. // GetConsoleOutputRequest generates a "aws/request.Request" representing the
  9859. // client's request for the GetConsoleOutput operation. The "output" return
  9860. // value can be used to capture response data after the request's "Send" method
  9861. // is called.
  9862. //
  9863. // See GetConsoleOutput for usage and error information.
  9864. //
  9865. // Creating a request object using this method should be used when you want to inject
  9866. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9867. // access properties on the request object before or after sending the request. If
  9868. // you just want the service response, call the GetConsoleOutput method directly
  9869. // instead.
  9870. //
  9871. // Note: You must call the "Send" method on the returned request object in order
  9872. // to execute the request.
  9873. //
  9874. // // Example sending a request using the GetConsoleOutputRequest method.
  9875. // req, resp := client.GetConsoleOutputRequest(params)
  9876. //
  9877. // err := req.Send()
  9878. // if err == nil { // resp is now filled
  9879. // fmt.Println(resp)
  9880. // }
  9881. //
  9882. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  9883. op := &request.Operation{
  9884. Name: opGetConsoleOutput,
  9885. HTTPMethod: "POST",
  9886. HTTPPath: "/",
  9887. }
  9888. if input == nil {
  9889. input = &GetConsoleOutputInput{}
  9890. }
  9891. req = c.newRequest(op, input, output)
  9892. output = &GetConsoleOutputOutput{}
  9893. req.Data = output
  9894. return
  9895. }
  9896. // GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
  9897. //
  9898. // Gets the console output for the specified instance.
  9899. //
  9900. // Instances do not have a physical monitor through which you can view their
  9901. // console output. They also lack physical controls that allow you to power
  9902. // up, reboot, or shut them down. To allow these actions, we provide them through
  9903. // the Amazon EC2 API and command line interface.
  9904. //
  9905. // Instance console output is buffered and posted shortly after instance boot,
  9906. // reboot, and termination. Amazon EC2 preserves the most recent 64 KB output
  9907. // which is available for at least one hour after the most recent post.
  9908. //
  9909. // For Linux instances, the instance console output displays the exact console
  9910. // output that would normally be displayed on a physical monitor attached to
  9911. // a computer. This output is buffered because the instance produces it and
  9912. // then posts it to a store where the instance's owner can retrieve it.
  9913. //
  9914. // For Windows instances, the instance console output includes output from the
  9915. // EC2Config service.
  9916. //
  9917. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9918. // with awserr.Error's Code and Message methods to get detailed information about
  9919. // the error.
  9920. //
  9921. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9922. // API operation GetConsoleOutput for usage and error information.
  9923. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  9924. req, out := c.GetConsoleOutputRequest(input)
  9925. err := req.Send()
  9926. return out, err
  9927. }
  9928. const opGetConsoleScreenshot = "GetConsoleScreenshot"
  9929. // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
  9930. // client's request for the GetConsoleScreenshot operation. The "output" return
  9931. // value can be used to capture response data after the request's "Send" method
  9932. // is called.
  9933. //
  9934. // See GetConsoleScreenshot for usage and error information.
  9935. //
  9936. // Creating a request object using this method should be used when you want to inject
  9937. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9938. // access properties on the request object before or after sending the request. If
  9939. // you just want the service response, call the GetConsoleScreenshot method directly
  9940. // instead.
  9941. //
  9942. // Note: You must call the "Send" method on the returned request object in order
  9943. // to execute the request.
  9944. //
  9945. // // Example sending a request using the GetConsoleScreenshotRequest method.
  9946. // req, resp := client.GetConsoleScreenshotRequest(params)
  9947. //
  9948. // err := req.Send()
  9949. // if err == nil { // resp is now filled
  9950. // fmt.Println(resp)
  9951. // }
  9952. //
  9953. func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
  9954. op := &request.Operation{
  9955. Name: opGetConsoleScreenshot,
  9956. HTTPMethod: "POST",
  9957. HTTPPath: "/",
  9958. }
  9959. if input == nil {
  9960. input = &GetConsoleScreenshotInput{}
  9961. }
  9962. req = c.newRequest(op, input, output)
  9963. output = &GetConsoleScreenshotOutput{}
  9964. req.Data = output
  9965. return
  9966. }
  9967. // GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
  9968. //
  9969. // Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
  9970. //
  9971. // The returned content is Base64-encoded.
  9972. //
  9973. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9974. // with awserr.Error's Code and Message methods to get detailed information about
  9975. // the error.
  9976. //
  9977. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9978. // API operation GetConsoleScreenshot for usage and error information.
  9979. func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
  9980. req, out := c.GetConsoleScreenshotRequest(input)
  9981. err := req.Send()
  9982. return out, err
  9983. }
  9984. const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
  9985. // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
  9986. // client's request for the GetHostReservationPurchasePreview operation. The "output" return
  9987. // value can be used to capture response data after the request's "Send" method
  9988. // is called.
  9989. //
  9990. // See GetHostReservationPurchasePreview for usage and error information.
  9991. //
  9992. // Creating a request object using this method should be used when you want to inject
  9993. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9994. // access properties on the request object before or after sending the request. If
  9995. // you just want the service response, call the GetHostReservationPurchasePreview method directly
  9996. // instead.
  9997. //
  9998. // Note: You must call the "Send" method on the returned request object in order
  9999. // to execute the request.
  10000. //
  10001. // // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
  10002. // req, resp := client.GetHostReservationPurchasePreviewRequest(params)
  10003. //
  10004. // err := req.Send()
  10005. // if err == nil { // resp is now filled
  10006. // fmt.Println(resp)
  10007. // }
  10008. //
  10009. func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
  10010. op := &request.Operation{
  10011. Name: opGetHostReservationPurchasePreview,
  10012. HTTPMethod: "POST",
  10013. HTTPPath: "/",
  10014. }
  10015. if input == nil {
  10016. input = &GetHostReservationPurchasePreviewInput{}
  10017. }
  10018. req = c.newRequest(op, input, output)
  10019. output = &GetHostReservationPurchasePreviewOutput{}
  10020. req.Data = output
  10021. return
  10022. }
  10023. // GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
  10024. //
  10025. // Preview a reservation purchase with configurations that match those of your
  10026. // Dedicated Host. You must have active Dedicated Hosts in your account before
  10027. // you purchase a reservation.
  10028. //
  10029. // This is a preview of the PurchaseHostReservation action and does not result
  10030. // in the offering being purchased.
  10031. //
  10032. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10033. // with awserr.Error's Code and Message methods to get detailed information about
  10034. // the error.
  10035. //
  10036. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10037. // API operation GetHostReservationPurchasePreview for usage and error information.
  10038. func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
  10039. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  10040. err := req.Send()
  10041. return out, err
  10042. }
  10043. const opGetPasswordData = "GetPasswordData"
  10044. // GetPasswordDataRequest generates a "aws/request.Request" representing the
  10045. // client's request for the GetPasswordData operation. The "output" return
  10046. // value can be used to capture response data after the request's "Send" method
  10047. // is called.
  10048. //
  10049. // See GetPasswordData for usage and error information.
  10050. //
  10051. // Creating a request object using this method should be used when you want to inject
  10052. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10053. // access properties on the request object before or after sending the request. If
  10054. // you just want the service response, call the GetPasswordData method directly
  10055. // instead.
  10056. //
  10057. // Note: You must call the "Send" method on the returned request object in order
  10058. // to execute the request.
  10059. //
  10060. // // Example sending a request using the GetPasswordDataRequest method.
  10061. // req, resp := client.GetPasswordDataRequest(params)
  10062. //
  10063. // err := req.Send()
  10064. // if err == nil { // resp is now filled
  10065. // fmt.Println(resp)
  10066. // }
  10067. //
  10068. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  10069. op := &request.Operation{
  10070. Name: opGetPasswordData,
  10071. HTTPMethod: "POST",
  10072. HTTPPath: "/",
  10073. }
  10074. if input == nil {
  10075. input = &GetPasswordDataInput{}
  10076. }
  10077. req = c.newRequest(op, input, output)
  10078. output = &GetPasswordDataOutput{}
  10079. req.Data = output
  10080. return
  10081. }
  10082. // GetPasswordData API operation for Amazon Elastic Compute Cloud.
  10083. //
  10084. // Retrieves the encrypted administrator password for an instance running Windows.
  10085. //
  10086. // The Windows password is generated at boot if the EC2Config service plugin,
  10087. // Ec2SetPassword, is enabled. This usually only happens the first time an AMI
  10088. // is launched, and then Ec2SetPassword is automatically disabled. The password
  10089. // is not generated for rebundled AMIs unless Ec2SetPassword is enabled before
  10090. // bundling.
  10091. //
  10092. // The password is encrypted using the key pair that you specified when you
  10093. // launched the instance. You must provide the corresponding key pair file.
  10094. //
  10095. // Password generation and encryption takes a few moments. We recommend that
  10096. // you wait up to 15 minutes after launching an instance before trying to retrieve
  10097. // the generated password.
  10098. //
  10099. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10100. // with awserr.Error's Code and Message methods to get detailed information about
  10101. // the error.
  10102. //
  10103. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10104. // API operation GetPasswordData for usage and error information.
  10105. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  10106. req, out := c.GetPasswordDataRequest(input)
  10107. err := req.Send()
  10108. return out, err
  10109. }
  10110. const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
  10111. // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  10112. // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
  10113. // value can be used to capture response data after the request's "Send" method
  10114. // is called.
  10115. //
  10116. // See GetReservedInstancesExchangeQuote for usage and error information.
  10117. //
  10118. // Creating a request object using this method should be used when you want to inject
  10119. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10120. // access properties on the request object before or after sending the request. If
  10121. // you just want the service response, call the GetReservedInstancesExchangeQuote method directly
  10122. // instead.
  10123. //
  10124. // Note: You must call the "Send" method on the returned request object in order
  10125. // to execute the request.
  10126. //
  10127. // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
  10128. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
  10129. //
  10130. // err := req.Send()
  10131. // if err == nil { // resp is now filled
  10132. // fmt.Println(resp)
  10133. // }
  10134. //
  10135. func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
  10136. op := &request.Operation{
  10137. Name: opGetReservedInstancesExchangeQuote,
  10138. HTTPMethod: "POST",
  10139. HTTPPath: "/",
  10140. }
  10141. if input == nil {
  10142. input = &GetReservedInstancesExchangeQuoteInput{}
  10143. }
  10144. req = c.newRequest(op, input, output)
  10145. output = &GetReservedInstancesExchangeQuoteOutput{}
  10146. req.Data = output
  10147. return
  10148. }
  10149. // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  10150. //
  10151. // Returns details about the values and term of your specified Convertible Reserved
  10152. // Instances. When an offering ID is specified it returns information about
  10153. // whether the exchange is valid and can be performed.
  10154. //
  10155. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10156. // with awserr.Error's Code and Message methods to get detailed information about
  10157. // the error.
  10158. //
  10159. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10160. // API operation GetReservedInstancesExchangeQuote for usage and error information.
  10161. func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
  10162. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  10163. err := req.Send()
  10164. return out, err
  10165. }
  10166. const opImportImage = "ImportImage"
  10167. // ImportImageRequest generates a "aws/request.Request" representing the
  10168. // client's request for the ImportImage operation. The "output" return
  10169. // value can be used to capture response data after the request's "Send" method
  10170. // is called.
  10171. //
  10172. // See ImportImage for usage and error information.
  10173. //
  10174. // Creating a request object using this method should be used when you want to inject
  10175. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10176. // access properties on the request object before or after sending the request. If
  10177. // you just want the service response, call the ImportImage method directly
  10178. // instead.
  10179. //
  10180. // Note: You must call the "Send" method on the returned request object in order
  10181. // to execute the request.
  10182. //
  10183. // // Example sending a request using the ImportImageRequest method.
  10184. // req, resp := client.ImportImageRequest(params)
  10185. //
  10186. // err := req.Send()
  10187. // if err == nil { // resp is now filled
  10188. // fmt.Println(resp)
  10189. // }
  10190. //
  10191. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  10192. op := &request.Operation{
  10193. Name: opImportImage,
  10194. HTTPMethod: "POST",
  10195. HTTPPath: "/",
  10196. }
  10197. if input == nil {
  10198. input = &ImportImageInput{}
  10199. }
  10200. req = c.newRequest(op, input, output)
  10201. output = &ImportImageOutput{}
  10202. req.Data = output
  10203. return
  10204. }
  10205. // ImportImage API operation for Amazon Elastic Compute Cloud.
  10206. //
  10207. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  10208. // Machine Image (AMI). For more information, see Importing a VM as an Image
  10209. // Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
  10210. // in the VM Import/Export User Guide.
  10211. //
  10212. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10213. // with awserr.Error's Code and Message methods to get detailed information about
  10214. // the error.
  10215. //
  10216. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10217. // API operation ImportImage for usage and error information.
  10218. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  10219. req, out := c.ImportImageRequest(input)
  10220. err := req.Send()
  10221. return out, err
  10222. }
  10223. const opImportInstance = "ImportInstance"
  10224. // ImportInstanceRequest generates a "aws/request.Request" representing the
  10225. // client's request for the ImportInstance operation. The "output" return
  10226. // value can be used to capture response data after the request's "Send" method
  10227. // is called.
  10228. //
  10229. // See ImportInstance for usage and error information.
  10230. //
  10231. // Creating a request object using this method should be used when you want to inject
  10232. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10233. // access properties on the request object before or after sending the request. If
  10234. // you just want the service response, call the ImportInstance method directly
  10235. // instead.
  10236. //
  10237. // Note: You must call the "Send" method on the returned request object in order
  10238. // to execute the request.
  10239. //
  10240. // // Example sending a request using the ImportInstanceRequest method.
  10241. // req, resp := client.ImportInstanceRequest(params)
  10242. //
  10243. // err := req.Send()
  10244. // if err == nil { // resp is now filled
  10245. // fmt.Println(resp)
  10246. // }
  10247. //
  10248. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  10249. op := &request.Operation{
  10250. Name: opImportInstance,
  10251. HTTPMethod: "POST",
  10252. HTTPPath: "/",
  10253. }
  10254. if input == nil {
  10255. input = &ImportInstanceInput{}
  10256. }
  10257. req = c.newRequest(op, input, output)
  10258. output = &ImportInstanceOutput{}
  10259. req.Data = output
  10260. return
  10261. }
  10262. // ImportInstance API operation for Amazon Elastic Compute Cloud.
  10263. //
  10264. // Creates an import instance task using metadata from the specified disk image.
  10265. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  10266. // use ImportImage. For more information, see Importing a Virtual Machine Using
  10267. // the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  10268. //
  10269. // For information about the import manifest referenced by this API action,
  10270. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  10271. //
  10272. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10273. // with awserr.Error's Code and Message methods to get detailed information about
  10274. // the error.
  10275. //
  10276. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10277. // API operation ImportInstance for usage and error information.
  10278. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  10279. req, out := c.ImportInstanceRequest(input)
  10280. err := req.Send()
  10281. return out, err
  10282. }
  10283. const opImportKeyPair = "ImportKeyPair"
  10284. // ImportKeyPairRequest generates a "aws/request.Request" representing the
  10285. // client's request for the ImportKeyPair operation. The "output" return
  10286. // value can be used to capture response data after the request's "Send" method
  10287. // is called.
  10288. //
  10289. // See ImportKeyPair for usage and error information.
  10290. //
  10291. // Creating a request object using this method should be used when you want to inject
  10292. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10293. // access properties on the request object before or after sending the request. If
  10294. // you just want the service response, call the ImportKeyPair method directly
  10295. // instead.
  10296. //
  10297. // Note: You must call the "Send" method on the returned request object in order
  10298. // to execute the request.
  10299. //
  10300. // // Example sending a request using the ImportKeyPairRequest method.
  10301. // req, resp := client.ImportKeyPairRequest(params)
  10302. //
  10303. // err := req.Send()
  10304. // if err == nil { // resp is now filled
  10305. // fmt.Println(resp)
  10306. // }
  10307. //
  10308. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  10309. op := &request.Operation{
  10310. Name: opImportKeyPair,
  10311. HTTPMethod: "POST",
  10312. HTTPPath: "/",
  10313. }
  10314. if input == nil {
  10315. input = &ImportKeyPairInput{}
  10316. }
  10317. req = c.newRequest(op, input, output)
  10318. output = &ImportKeyPairOutput{}
  10319. req.Data = output
  10320. return
  10321. }
  10322. // ImportKeyPair API operation for Amazon Elastic Compute Cloud.
  10323. //
  10324. // Imports the public key from an RSA key pair that you created with a third-party
  10325. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  10326. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  10327. // you create the key pair and give AWS just the public key. The private key
  10328. // is never transferred between you and AWS.
  10329. //
  10330. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  10331. // in the Amazon Elastic Compute Cloud User Guide.
  10332. //
  10333. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10334. // with awserr.Error's Code and Message methods to get detailed information about
  10335. // the error.
  10336. //
  10337. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10338. // API operation ImportKeyPair for usage and error information.
  10339. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  10340. req, out := c.ImportKeyPairRequest(input)
  10341. err := req.Send()
  10342. return out, err
  10343. }
  10344. const opImportSnapshot = "ImportSnapshot"
  10345. // ImportSnapshotRequest generates a "aws/request.Request" representing the
  10346. // client's request for the ImportSnapshot operation. The "output" return
  10347. // value can be used to capture response data after the request's "Send" method
  10348. // is called.
  10349. //
  10350. // See ImportSnapshot for usage and error information.
  10351. //
  10352. // Creating a request object using this method should be used when you want to inject
  10353. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10354. // access properties on the request object before or after sending the request. If
  10355. // you just want the service response, call the ImportSnapshot method directly
  10356. // instead.
  10357. //
  10358. // Note: You must call the "Send" method on the returned request object in order
  10359. // to execute the request.
  10360. //
  10361. // // Example sending a request using the ImportSnapshotRequest method.
  10362. // req, resp := client.ImportSnapshotRequest(params)
  10363. //
  10364. // err := req.Send()
  10365. // if err == nil { // resp is now filled
  10366. // fmt.Println(resp)
  10367. // }
  10368. //
  10369. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  10370. op := &request.Operation{
  10371. Name: opImportSnapshot,
  10372. HTTPMethod: "POST",
  10373. HTTPPath: "/",
  10374. }
  10375. if input == nil {
  10376. input = &ImportSnapshotInput{}
  10377. }
  10378. req = c.newRequest(op, input, output)
  10379. output = &ImportSnapshotOutput{}
  10380. req.Data = output
  10381. return
  10382. }
  10383. // ImportSnapshot API operation for Amazon Elastic Compute Cloud.
  10384. //
  10385. // Imports a disk into an EBS snapshot.
  10386. //
  10387. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10388. // with awserr.Error's Code and Message methods to get detailed information about
  10389. // the error.
  10390. //
  10391. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10392. // API operation ImportSnapshot for usage and error information.
  10393. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  10394. req, out := c.ImportSnapshotRequest(input)
  10395. err := req.Send()
  10396. return out, err
  10397. }
  10398. const opImportVolume = "ImportVolume"
  10399. // ImportVolumeRequest generates a "aws/request.Request" representing the
  10400. // client's request for the ImportVolume operation. The "output" return
  10401. // value can be used to capture response data after the request's "Send" method
  10402. // is called.
  10403. //
  10404. // See ImportVolume for usage and error information.
  10405. //
  10406. // Creating a request object using this method should be used when you want to inject
  10407. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10408. // access properties on the request object before or after sending the request. If
  10409. // you just want the service response, call the ImportVolume method directly
  10410. // instead.
  10411. //
  10412. // Note: You must call the "Send" method on the returned request object in order
  10413. // to execute the request.
  10414. //
  10415. // // Example sending a request using the ImportVolumeRequest method.
  10416. // req, resp := client.ImportVolumeRequest(params)
  10417. //
  10418. // err := req.Send()
  10419. // if err == nil { // resp is now filled
  10420. // fmt.Println(resp)
  10421. // }
  10422. //
  10423. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  10424. op := &request.Operation{
  10425. Name: opImportVolume,
  10426. HTTPMethod: "POST",
  10427. HTTPPath: "/",
  10428. }
  10429. if input == nil {
  10430. input = &ImportVolumeInput{}
  10431. }
  10432. req = c.newRequest(op, input, output)
  10433. output = &ImportVolumeOutput{}
  10434. req.Data = output
  10435. return
  10436. }
  10437. // ImportVolume API operation for Amazon Elastic Compute Cloud.
  10438. //
  10439. // Creates an import volume task using metadata from the specified disk image.For
  10440. // more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
  10441. //
  10442. // For information about the import manifest referenced by this API action,
  10443. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  10444. //
  10445. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10446. // with awserr.Error's Code and Message methods to get detailed information about
  10447. // the error.
  10448. //
  10449. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10450. // API operation ImportVolume for usage and error information.
  10451. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  10452. req, out := c.ImportVolumeRequest(input)
  10453. err := req.Send()
  10454. return out, err
  10455. }
  10456. const opModifyHosts = "ModifyHosts"
  10457. // ModifyHostsRequest generates a "aws/request.Request" representing the
  10458. // client's request for the ModifyHosts operation. The "output" return
  10459. // value can be used to capture response data after the request's "Send" method
  10460. // is called.
  10461. //
  10462. // See ModifyHosts for usage and error information.
  10463. //
  10464. // Creating a request object using this method should be used when you want to inject
  10465. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10466. // access properties on the request object before or after sending the request. If
  10467. // you just want the service response, call the ModifyHosts method directly
  10468. // instead.
  10469. //
  10470. // Note: You must call the "Send" method on the returned request object in order
  10471. // to execute the request.
  10472. //
  10473. // // Example sending a request using the ModifyHostsRequest method.
  10474. // req, resp := client.ModifyHostsRequest(params)
  10475. //
  10476. // err := req.Send()
  10477. // if err == nil { // resp is now filled
  10478. // fmt.Println(resp)
  10479. // }
  10480. //
  10481. func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
  10482. op := &request.Operation{
  10483. Name: opModifyHosts,
  10484. HTTPMethod: "POST",
  10485. HTTPPath: "/",
  10486. }
  10487. if input == nil {
  10488. input = &ModifyHostsInput{}
  10489. }
  10490. req = c.newRequest(op, input, output)
  10491. output = &ModifyHostsOutput{}
  10492. req.Data = output
  10493. return
  10494. }
  10495. // ModifyHosts API operation for Amazon Elastic Compute Cloud.
  10496. //
  10497. // Modify the auto-placement setting of a Dedicated Host. When auto-placement
  10498. // is enabled, AWS will place instances that you launch with a tenancy of host,
  10499. // but without targeting a specific host ID, onto any available Dedicated Host
  10500. // in your account which has auto-placement enabled. When auto-placement is
  10501. // disabled, you need to provide a host ID if you want the instance to launch
  10502. // onto a specific host. If no host ID is provided, the instance will be launched
  10503. // onto a suitable host which has auto-placement enabled.
  10504. //
  10505. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10506. // with awserr.Error's Code and Message methods to get detailed information about
  10507. // the error.
  10508. //
  10509. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10510. // API operation ModifyHosts for usage and error information.
  10511. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
  10512. req, out := c.ModifyHostsRequest(input)
  10513. err := req.Send()
  10514. return out, err
  10515. }
  10516. const opModifyIdFormat = "ModifyIdFormat"
  10517. // ModifyIdFormatRequest generates a "aws/request.Request" representing the
  10518. // client's request for the ModifyIdFormat operation. The "output" return
  10519. // value can be used to capture response data after the request's "Send" method
  10520. // is called.
  10521. //
  10522. // See ModifyIdFormat for usage and error information.
  10523. //
  10524. // Creating a request object using this method should be used when you want to inject
  10525. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10526. // access properties on the request object before or after sending the request. If
  10527. // you just want the service response, call the ModifyIdFormat method directly
  10528. // instead.
  10529. //
  10530. // Note: You must call the "Send" method on the returned request object in order
  10531. // to execute the request.
  10532. //
  10533. // // Example sending a request using the ModifyIdFormatRequest method.
  10534. // req, resp := client.ModifyIdFormatRequest(params)
  10535. //
  10536. // err := req.Send()
  10537. // if err == nil { // resp is now filled
  10538. // fmt.Println(resp)
  10539. // }
  10540. //
  10541. func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
  10542. op := &request.Operation{
  10543. Name: opModifyIdFormat,
  10544. HTTPMethod: "POST",
  10545. HTTPPath: "/",
  10546. }
  10547. if input == nil {
  10548. input = &ModifyIdFormatInput{}
  10549. }
  10550. req = c.newRequest(op, input, output)
  10551. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10552. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10553. output = &ModifyIdFormatOutput{}
  10554. req.Data = output
  10555. return
  10556. }
  10557. // ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
  10558. //
  10559. // Modifies the ID format for the specified resource on a per-region basis.
  10560. // You can specify that resources should receive longer IDs (17-character IDs)
  10561. // when they are created. The following resource types support longer IDs: instance
  10562. // | reservation | snapshot | volume.
  10563. //
  10564. // This setting applies to the IAM user who makes the request; it does not apply
  10565. // to the entire AWS account. By default, an IAM user defaults to the same settings
  10566. // as the root user. If you're using this action as the root user, then these
  10567. // settings apply to the entire account, unless an IAM user explicitly overrides
  10568. // these settings for themselves. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  10569. // in the Amazon Elastic Compute Cloud User Guide.
  10570. //
  10571. // Resources created with longer IDs are visible to all IAM roles and users,
  10572. // regardless of these settings and provided that they have permission to use
  10573. // the relevant Describe command for the resource type.
  10574. //
  10575. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10576. // with awserr.Error's Code and Message methods to get detailed information about
  10577. // the error.
  10578. //
  10579. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10580. // API operation ModifyIdFormat for usage and error information.
  10581. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
  10582. req, out := c.ModifyIdFormatRequest(input)
  10583. err := req.Send()
  10584. return out, err
  10585. }
  10586. const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
  10587. // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
  10588. // client's request for the ModifyIdentityIdFormat operation. The "output" return
  10589. // value can be used to capture response data after the request's "Send" method
  10590. // is called.
  10591. //
  10592. // See ModifyIdentityIdFormat for usage and error information.
  10593. //
  10594. // Creating a request object using this method should be used when you want to inject
  10595. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10596. // access properties on the request object before or after sending the request. If
  10597. // you just want the service response, call the ModifyIdentityIdFormat method directly
  10598. // instead.
  10599. //
  10600. // Note: You must call the "Send" method on the returned request object in order
  10601. // to execute the request.
  10602. //
  10603. // // Example sending a request using the ModifyIdentityIdFormatRequest method.
  10604. // req, resp := client.ModifyIdentityIdFormatRequest(params)
  10605. //
  10606. // err := req.Send()
  10607. // if err == nil { // resp is now filled
  10608. // fmt.Println(resp)
  10609. // }
  10610. //
  10611. func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
  10612. op := &request.Operation{
  10613. Name: opModifyIdentityIdFormat,
  10614. HTTPMethod: "POST",
  10615. HTTPPath: "/",
  10616. }
  10617. if input == nil {
  10618. input = &ModifyIdentityIdFormatInput{}
  10619. }
  10620. req = c.newRequest(op, input, output)
  10621. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10622. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10623. output = &ModifyIdentityIdFormatOutput{}
  10624. req.Data = output
  10625. return
  10626. }
  10627. // ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  10628. //
  10629. // Modifies the ID format of a resource for a specified IAM user, IAM role,
  10630. // or the root user for an account; or all IAM users, IAM roles, and the root
  10631. // user for an account. You can specify that resources should receive longer
  10632. // IDs (17-character IDs) when they are created.
  10633. //
  10634. // The following resource types support longer IDs: instance | reservation |
  10635. // snapshot | volume. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  10636. // in the Amazon Elastic Compute Cloud User Guide.
  10637. //
  10638. // This setting applies to the principal specified in the request; it does not
  10639. // apply to the principal that makes the request.
  10640. //
  10641. // Resources created with longer IDs are visible to all IAM roles and users,
  10642. // regardless of these settings and provided that they have permission to use
  10643. // the relevant Describe command for the resource type.
  10644. //
  10645. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10646. // with awserr.Error's Code and Message methods to get detailed information about
  10647. // the error.
  10648. //
  10649. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10650. // API operation ModifyIdentityIdFormat for usage and error information.
  10651. func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
  10652. req, out := c.ModifyIdentityIdFormatRequest(input)
  10653. err := req.Send()
  10654. return out, err
  10655. }
  10656. const opModifyImageAttribute = "ModifyImageAttribute"
  10657. // ModifyImageAttributeRequest generates a "aws/request.Request" representing the
  10658. // client's request for the ModifyImageAttribute operation. The "output" return
  10659. // value can be used to capture response data after the request's "Send" method
  10660. // is called.
  10661. //
  10662. // See ModifyImageAttribute for usage and error information.
  10663. //
  10664. // Creating a request object using this method should be used when you want to inject
  10665. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10666. // access properties on the request object before or after sending the request. If
  10667. // you just want the service response, call the ModifyImageAttribute method directly
  10668. // instead.
  10669. //
  10670. // Note: You must call the "Send" method on the returned request object in order
  10671. // to execute the request.
  10672. //
  10673. // // Example sending a request using the ModifyImageAttributeRequest method.
  10674. // req, resp := client.ModifyImageAttributeRequest(params)
  10675. //
  10676. // err := req.Send()
  10677. // if err == nil { // resp is now filled
  10678. // fmt.Println(resp)
  10679. // }
  10680. //
  10681. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  10682. op := &request.Operation{
  10683. Name: opModifyImageAttribute,
  10684. HTTPMethod: "POST",
  10685. HTTPPath: "/",
  10686. }
  10687. if input == nil {
  10688. input = &ModifyImageAttributeInput{}
  10689. }
  10690. req = c.newRequest(op, input, output)
  10691. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10692. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10693. output = &ModifyImageAttributeOutput{}
  10694. req.Data = output
  10695. return
  10696. }
  10697. // ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
  10698. //
  10699. // Modifies the specified attribute of the specified AMI. You can specify only
  10700. // one attribute at a time.
  10701. //
  10702. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  10703. // product code cannot be made public.
  10704. //
  10705. // The SriovNetSupport enhanced networking attribute cannot be changed using
  10706. // this command. Instead, enable SriovNetSupport on an instance and create an
  10707. // AMI from the instance. This will result in an image with SriovNetSupport
  10708. // enabled.
  10709. //
  10710. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10711. // with awserr.Error's Code and Message methods to get detailed information about
  10712. // the error.
  10713. //
  10714. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10715. // API operation ModifyImageAttribute for usage and error information.
  10716. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  10717. req, out := c.ModifyImageAttributeRequest(input)
  10718. err := req.Send()
  10719. return out, err
  10720. }
  10721. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  10722. // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
  10723. // client's request for the ModifyInstanceAttribute operation. The "output" return
  10724. // value can be used to capture response data after the request's "Send" method
  10725. // is called.
  10726. //
  10727. // See ModifyInstanceAttribute for usage and error information.
  10728. //
  10729. // Creating a request object using this method should be used when you want to inject
  10730. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10731. // access properties on the request object before or after sending the request. If
  10732. // you just want the service response, call the ModifyInstanceAttribute method directly
  10733. // instead.
  10734. //
  10735. // Note: You must call the "Send" method on the returned request object in order
  10736. // to execute the request.
  10737. //
  10738. // // Example sending a request using the ModifyInstanceAttributeRequest method.
  10739. // req, resp := client.ModifyInstanceAttributeRequest(params)
  10740. //
  10741. // err := req.Send()
  10742. // if err == nil { // resp is now filled
  10743. // fmt.Println(resp)
  10744. // }
  10745. //
  10746. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  10747. op := &request.Operation{
  10748. Name: opModifyInstanceAttribute,
  10749. HTTPMethod: "POST",
  10750. HTTPPath: "/",
  10751. }
  10752. if input == nil {
  10753. input = &ModifyInstanceAttributeInput{}
  10754. }
  10755. req = c.newRequest(op, input, output)
  10756. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10757. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10758. output = &ModifyInstanceAttributeOutput{}
  10759. req.Data = output
  10760. return
  10761. }
  10762. // ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  10763. //
  10764. // Modifies the specified attribute of the specified instance. You can specify
  10765. // only one attribute at a time.
  10766. //
  10767. // To modify some attributes, the instance must be stopped. For more information,
  10768. // see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  10769. // in the Amazon Elastic Compute Cloud User Guide.
  10770. //
  10771. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10772. // with awserr.Error's Code and Message methods to get detailed information about
  10773. // the error.
  10774. //
  10775. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10776. // API operation ModifyInstanceAttribute for usage and error information.
  10777. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  10778. req, out := c.ModifyInstanceAttributeRequest(input)
  10779. err := req.Send()
  10780. return out, err
  10781. }
  10782. const opModifyInstancePlacement = "ModifyInstancePlacement"
  10783. // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
  10784. // client's request for the ModifyInstancePlacement operation. The "output" return
  10785. // value can be used to capture response data after the request's "Send" method
  10786. // is called.
  10787. //
  10788. // See ModifyInstancePlacement for usage and error information.
  10789. //
  10790. // Creating a request object using this method should be used when you want to inject
  10791. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10792. // access properties on the request object before or after sending the request. If
  10793. // you just want the service response, call the ModifyInstancePlacement method directly
  10794. // instead.
  10795. //
  10796. // Note: You must call the "Send" method on the returned request object in order
  10797. // to execute the request.
  10798. //
  10799. // // Example sending a request using the ModifyInstancePlacementRequest method.
  10800. // req, resp := client.ModifyInstancePlacementRequest(params)
  10801. //
  10802. // err := req.Send()
  10803. // if err == nil { // resp is now filled
  10804. // fmt.Println(resp)
  10805. // }
  10806. //
  10807. func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
  10808. op := &request.Operation{
  10809. Name: opModifyInstancePlacement,
  10810. HTTPMethod: "POST",
  10811. HTTPPath: "/",
  10812. }
  10813. if input == nil {
  10814. input = &ModifyInstancePlacementInput{}
  10815. }
  10816. req = c.newRequest(op, input, output)
  10817. output = &ModifyInstancePlacementOutput{}
  10818. req.Data = output
  10819. return
  10820. }
  10821. // ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
  10822. //
  10823. // Set the instance affinity value for a specific stopped instance and modify
  10824. // the instance tenancy setting.
  10825. //
  10826. // Instance affinity is disabled by default. When instance affinity is host
  10827. // and it is not associated with a specific Dedicated Host, the next time it
  10828. // is launched it will automatically be associated with the host it lands on.
  10829. // This relationship will persist if the instance is stopped/started, or rebooted.
  10830. //
  10831. // You can modify the host ID associated with a stopped instance. If a stopped
  10832. // instance has a new host ID association, the instance will target that host
  10833. // when restarted.
  10834. //
  10835. // You can modify the tenancy of a stopped instance with a tenancy of host or
  10836. // dedicated.
  10837. //
  10838. // Affinity, hostID, and tenancy are not required parameters, but at least one
  10839. // of them must be specified in the request. Affinity and tenancy can be modified
  10840. // in the same request, but tenancy can only be modified on instances that are
  10841. // stopped.
  10842. //
  10843. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10844. // with awserr.Error's Code and Message methods to get detailed information about
  10845. // the error.
  10846. //
  10847. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10848. // API operation ModifyInstancePlacement for usage and error information.
  10849. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
  10850. req, out := c.ModifyInstancePlacementRequest(input)
  10851. err := req.Send()
  10852. return out, err
  10853. }
  10854. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  10855. // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  10856. // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
  10857. // value can be used to capture response data after the request's "Send" method
  10858. // is called.
  10859. //
  10860. // See ModifyNetworkInterfaceAttribute for usage and error information.
  10861. //
  10862. // Creating a request object using this method should be used when you want to inject
  10863. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10864. // access properties on the request object before or after sending the request. If
  10865. // you just want the service response, call the ModifyNetworkInterfaceAttribute method directly
  10866. // instead.
  10867. //
  10868. // Note: You must call the "Send" method on the returned request object in order
  10869. // to execute the request.
  10870. //
  10871. // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
  10872. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
  10873. //
  10874. // err := req.Send()
  10875. // if err == nil { // resp is now filled
  10876. // fmt.Println(resp)
  10877. // }
  10878. //
  10879. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  10880. op := &request.Operation{
  10881. Name: opModifyNetworkInterfaceAttribute,
  10882. HTTPMethod: "POST",
  10883. HTTPPath: "/",
  10884. }
  10885. if input == nil {
  10886. input = &ModifyNetworkInterfaceAttributeInput{}
  10887. }
  10888. req = c.newRequest(op, input, output)
  10889. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  10890. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  10891. output = &ModifyNetworkInterfaceAttributeOutput{}
  10892. req.Data = output
  10893. return
  10894. }
  10895. // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  10896. //
  10897. // Modifies the specified network interface attribute. You can specify only
  10898. // one attribute at a time.
  10899. //
  10900. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10901. // with awserr.Error's Code and Message methods to get detailed information about
  10902. // the error.
  10903. //
  10904. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10905. // API operation ModifyNetworkInterfaceAttribute for usage and error information.
  10906. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  10907. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  10908. err := req.Send()
  10909. return out, err
  10910. }
  10911. const opModifyReservedInstances = "ModifyReservedInstances"
  10912. // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
  10913. // client's request for the ModifyReservedInstances operation. The "output" return
  10914. // value can be used to capture response data after the request's "Send" method
  10915. // is called.
  10916. //
  10917. // See ModifyReservedInstances for usage and error information.
  10918. //
  10919. // Creating a request object using this method should be used when you want to inject
  10920. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10921. // access properties on the request object before or after sending the request. If
  10922. // you just want the service response, call the ModifyReservedInstances method directly
  10923. // instead.
  10924. //
  10925. // Note: You must call the "Send" method on the returned request object in order
  10926. // to execute the request.
  10927. //
  10928. // // Example sending a request using the ModifyReservedInstancesRequest method.
  10929. // req, resp := client.ModifyReservedInstancesRequest(params)
  10930. //
  10931. // err := req.Send()
  10932. // if err == nil { // resp is now filled
  10933. // fmt.Println(resp)
  10934. // }
  10935. //
  10936. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  10937. op := &request.Operation{
  10938. Name: opModifyReservedInstances,
  10939. HTTPMethod: "POST",
  10940. HTTPPath: "/",
  10941. }
  10942. if input == nil {
  10943. input = &ModifyReservedInstancesInput{}
  10944. }
  10945. req = c.newRequest(op, input, output)
  10946. output = &ModifyReservedInstancesOutput{}
  10947. req.Data = output
  10948. return
  10949. }
  10950. // ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
  10951. //
  10952. // Modifies the Availability Zone, instance count, instance type, or network
  10953. // platform (EC2-Classic or EC2-VPC) of your Standard Reserved Instances. The
  10954. // Reserved Instances to be modified must be identical, except for Availability
  10955. // Zone, network platform, and instance type.
  10956. //
  10957. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  10958. // in the Amazon Elastic Compute Cloud User Guide.
  10959. //
  10960. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10961. // with awserr.Error's Code and Message methods to get detailed information about
  10962. // the error.
  10963. //
  10964. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10965. // API operation ModifyReservedInstances for usage and error information.
  10966. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  10967. req, out := c.ModifyReservedInstancesRequest(input)
  10968. err := req.Send()
  10969. return out, err
  10970. }
  10971. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  10972. // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
  10973. // client's request for the ModifySnapshotAttribute operation. The "output" return
  10974. // value can be used to capture response data after the request's "Send" method
  10975. // is called.
  10976. //
  10977. // See ModifySnapshotAttribute for usage and error information.
  10978. //
  10979. // Creating a request object using this method should be used when you want to inject
  10980. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10981. // access properties on the request object before or after sending the request. If
  10982. // you just want the service response, call the ModifySnapshotAttribute method directly
  10983. // instead.
  10984. //
  10985. // Note: You must call the "Send" method on the returned request object in order
  10986. // to execute the request.
  10987. //
  10988. // // Example sending a request using the ModifySnapshotAttributeRequest method.
  10989. // req, resp := client.ModifySnapshotAttributeRequest(params)
  10990. //
  10991. // err := req.Send()
  10992. // if err == nil { // resp is now filled
  10993. // fmt.Println(resp)
  10994. // }
  10995. //
  10996. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  10997. op := &request.Operation{
  10998. Name: opModifySnapshotAttribute,
  10999. HTTPMethod: "POST",
  11000. HTTPPath: "/",
  11001. }
  11002. if input == nil {
  11003. input = &ModifySnapshotAttributeInput{}
  11004. }
  11005. req = c.newRequest(op, input, output)
  11006. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11007. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11008. output = &ModifySnapshotAttributeOutput{}
  11009. req.Data = output
  11010. return
  11011. }
  11012. // ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  11013. //
  11014. // Adds or removes permission settings for the specified snapshot. You may add
  11015. // or remove specified AWS account IDs from a snapshot's list of create volume
  11016. // permissions, but you cannot do both in a single API call. If you need to
  11017. // both add and remove account IDs for a snapshot, you must use multiple API
  11018. // calls.
  11019. //
  11020. // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
  11021. // be made public. Snapshots encrypted with your default CMK cannot be shared
  11022. // with other accounts.
  11023. //
  11024. // For more information on modifying snapshot permissions, see Sharing Snapshots
  11025. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  11026. // in the Amazon Elastic Compute Cloud User Guide.
  11027. //
  11028. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11029. // with awserr.Error's Code and Message methods to get detailed information about
  11030. // the error.
  11031. //
  11032. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11033. // API operation ModifySnapshotAttribute for usage and error information.
  11034. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  11035. req, out := c.ModifySnapshotAttributeRequest(input)
  11036. err := req.Send()
  11037. return out, err
  11038. }
  11039. const opModifySpotFleetRequest = "ModifySpotFleetRequest"
  11040. // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
  11041. // client's request for the ModifySpotFleetRequest operation. The "output" return
  11042. // value can be used to capture response data after the request's "Send" method
  11043. // is called.
  11044. //
  11045. // See ModifySpotFleetRequest for usage and error information.
  11046. //
  11047. // Creating a request object using this method should be used when you want to inject
  11048. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11049. // access properties on the request object before or after sending the request. If
  11050. // you just want the service response, call the ModifySpotFleetRequest method directly
  11051. // instead.
  11052. //
  11053. // Note: You must call the "Send" method on the returned request object in order
  11054. // to execute the request.
  11055. //
  11056. // // Example sending a request using the ModifySpotFleetRequestRequest method.
  11057. // req, resp := client.ModifySpotFleetRequestRequest(params)
  11058. //
  11059. // err := req.Send()
  11060. // if err == nil { // resp is now filled
  11061. // fmt.Println(resp)
  11062. // }
  11063. //
  11064. func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
  11065. op := &request.Operation{
  11066. Name: opModifySpotFleetRequest,
  11067. HTTPMethod: "POST",
  11068. HTTPPath: "/",
  11069. }
  11070. if input == nil {
  11071. input = &ModifySpotFleetRequestInput{}
  11072. }
  11073. req = c.newRequest(op, input, output)
  11074. output = &ModifySpotFleetRequestOutput{}
  11075. req.Data = output
  11076. return
  11077. }
  11078. // ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
  11079. //
  11080. // Modifies the specified Spot fleet request.
  11081. //
  11082. // While the Spot fleet request is being modified, it is in the modifying state.
  11083. //
  11084. // To scale up your Spot fleet, increase its target capacity. The Spot fleet
  11085. // launches the additional Spot instances according to the allocation strategy
  11086. // for the Spot fleet request. If the allocation strategy is lowestPrice, the
  11087. // Spot fleet launches instances using the Spot pool with the lowest price.
  11088. // If the allocation strategy is diversified, the Spot fleet distributes the
  11089. // instances across the Spot pools.
  11090. //
  11091. // To scale down your Spot fleet, decrease its target capacity. First, the Spot
  11092. // fleet cancels any open bids that exceed the new target capacity. You can
  11093. // request that the Spot fleet terminate Spot instances until the size of the
  11094. // fleet no longer exceeds the new target capacity. If the allocation strategy
  11095. // is lowestPrice, the Spot fleet terminates the instances with the highest
  11096. // price per unit. If the allocation strategy is diversified, the Spot fleet
  11097. // terminates instances across the Spot pools. Alternatively, you can request
  11098. // that the Spot fleet keep the fleet at its current size, but not replace any
  11099. // Spot instances that are interrupted or that you terminate manually.
  11100. //
  11101. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11102. // with awserr.Error's Code and Message methods to get detailed information about
  11103. // the error.
  11104. //
  11105. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11106. // API operation ModifySpotFleetRequest for usage and error information.
  11107. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
  11108. req, out := c.ModifySpotFleetRequestRequest(input)
  11109. err := req.Send()
  11110. return out, err
  11111. }
  11112. const opModifySubnetAttribute = "ModifySubnetAttribute"
  11113. // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
  11114. // client's request for the ModifySubnetAttribute operation. The "output" return
  11115. // value can be used to capture response data after the request's "Send" method
  11116. // is called.
  11117. //
  11118. // See ModifySubnetAttribute for usage and error information.
  11119. //
  11120. // Creating a request object using this method should be used when you want to inject
  11121. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11122. // access properties on the request object before or after sending the request. If
  11123. // you just want the service response, call the ModifySubnetAttribute method directly
  11124. // instead.
  11125. //
  11126. // Note: You must call the "Send" method on the returned request object in order
  11127. // to execute the request.
  11128. //
  11129. // // Example sending a request using the ModifySubnetAttributeRequest method.
  11130. // req, resp := client.ModifySubnetAttributeRequest(params)
  11131. //
  11132. // err := req.Send()
  11133. // if err == nil { // resp is now filled
  11134. // fmt.Println(resp)
  11135. // }
  11136. //
  11137. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  11138. op := &request.Operation{
  11139. Name: opModifySubnetAttribute,
  11140. HTTPMethod: "POST",
  11141. HTTPPath: "/",
  11142. }
  11143. if input == nil {
  11144. input = &ModifySubnetAttributeInput{}
  11145. }
  11146. req = c.newRequest(op, input, output)
  11147. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11148. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11149. output = &ModifySubnetAttributeOutput{}
  11150. req.Data = output
  11151. return
  11152. }
  11153. // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
  11154. //
  11155. // Modifies a subnet attribute.
  11156. //
  11157. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11158. // with awserr.Error's Code and Message methods to get detailed information about
  11159. // the error.
  11160. //
  11161. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11162. // API operation ModifySubnetAttribute for usage and error information.
  11163. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  11164. req, out := c.ModifySubnetAttributeRequest(input)
  11165. err := req.Send()
  11166. return out, err
  11167. }
  11168. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  11169. // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
  11170. // client's request for the ModifyVolumeAttribute operation. The "output" return
  11171. // value can be used to capture response data after the request's "Send" method
  11172. // is called.
  11173. //
  11174. // See ModifyVolumeAttribute for usage and error information.
  11175. //
  11176. // Creating a request object using this method should be used when you want to inject
  11177. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11178. // access properties on the request object before or after sending the request. If
  11179. // you just want the service response, call the ModifyVolumeAttribute method directly
  11180. // instead.
  11181. //
  11182. // Note: You must call the "Send" method on the returned request object in order
  11183. // to execute the request.
  11184. //
  11185. // // Example sending a request using the ModifyVolumeAttributeRequest method.
  11186. // req, resp := client.ModifyVolumeAttributeRequest(params)
  11187. //
  11188. // err := req.Send()
  11189. // if err == nil { // resp is now filled
  11190. // fmt.Println(resp)
  11191. // }
  11192. //
  11193. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  11194. op := &request.Operation{
  11195. Name: opModifyVolumeAttribute,
  11196. HTTPMethod: "POST",
  11197. HTTPPath: "/",
  11198. }
  11199. if input == nil {
  11200. input = &ModifyVolumeAttributeInput{}
  11201. }
  11202. req = c.newRequest(op, input, output)
  11203. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11204. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11205. output = &ModifyVolumeAttributeOutput{}
  11206. req.Data = output
  11207. return
  11208. }
  11209. // ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  11210. //
  11211. // Modifies a volume attribute.
  11212. //
  11213. // By default, all I/O operations for the volume are suspended when the data
  11214. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  11215. // latent data corruption. The I/O access to the volume can be resumed by first
  11216. // enabling I/O access and then checking the data consistency on your volume.
  11217. //
  11218. // You can change the default behavior to resume I/O operations. We recommend
  11219. // that you change this only for boot volumes or for volumes that are stateless
  11220. // or disposable.
  11221. //
  11222. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11223. // with awserr.Error's Code and Message methods to get detailed information about
  11224. // the error.
  11225. //
  11226. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11227. // API operation ModifyVolumeAttribute for usage and error information.
  11228. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  11229. req, out := c.ModifyVolumeAttributeRequest(input)
  11230. err := req.Send()
  11231. return out, err
  11232. }
  11233. const opModifyVpcAttribute = "ModifyVpcAttribute"
  11234. // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
  11235. // client's request for the ModifyVpcAttribute operation. The "output" return
  11236. // value can be used to capture response data after the request's "Send" method
  11237. // is called.
  11238. //
  11239. // See ModifyVpcAttribute for usage and error information.
  11240. //
  11241. // Creating a request object using this method should be used when you want to inject
  11242. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11243. // access properties on the request object before or after sending the request. If
  11244. // you just want the service response, call the ModifyVpcAttribute method directly
  11245. // instead.
  11246. //
  11247. // Note: You must call the "Send" method on the returned request object in order
  11248. // to execute the request.
  11249. //
  11250. // // Example sending a request using the ModifyVpcAttributeRequest method.
  11251. // req, resp := client.ModifyVpcAttributeRequest(params)
  11252. //
  11253. // err := req.Send()
  11254. // if err == nil { // resp is now filled
  11255. // fmt.Println(resp)
  11256. // }
  11257. //
  11258. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  11259. op := &request.Operation{
  11260. Name: opModifyVpcAttribute,
  11261. HTTPMethod: "POST",
  11262. HTTPPath: "/",
  11263. }
  11264. if input == nil {
  11265. input = &ModifyVpcAttributeInput{}
  11266. }
  11267. req = c.newRequest(op, input, output)
  11268. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11269. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11270. output = &ModifyVpcAttributeOutput{}
  11271. req.Data = output
  11272. return
  11273. }
  11274. // ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
  11275. //
  11276. // Modifies the specified attribute of the specified VPC.
  11277. //
  11278. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11279. // with awserr.Error's Code and Message methods to get detailed information about
  11280. // the error.
  11281. //
  11282. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11283. // API operation ModifyVpcAttribute for usage and error information.
  11284. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  11285. req, out := c.ModifyVpcAttributeRequest(input)
  11286. err := req.Send()
  11287. return out, err
  11288. }
  11289. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  11290. // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
  11291. // client's request for the ModifyVpcEndpoint operation. The "output" return
  11292. // value can be used to capture response data after the request's "Send" method
  11293. // is called.
  11294. //
  11295. // See ModifyVpcEndpoint for usage and error information.
  11296. //
  11297. // Creating a request object using this method should be used when you want to inject
  11298. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11299. // access properties on the request object before or after sending the request. If
  11300. // you just want the service response, call the ModifyVpcEndpoint method directly
  11301. // instead.
  11302. //
  11303. // Note: You must call the "Send" method on the returned request object in order
  11304. // to execute the request.
  11305. //
  11306. // // Example sending a request using the ModifyVpcEndpointRequest method.
  11307. // req, resp := client.ModifyVpcEndpointRequest(params)
  11308. //
  11309. // err := req.Send()
  11310. // if err == nil { // resp is now filled
  11311. // fmt.Println(resp)
  11312. // }
  11313. //
  11314. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  11315. op := &request.Operation{
  11316. Name: opModifyVpcEndpoint,
  11317. HTTPMethod: "POST",
  11318. HTTPPath: "/",
  11319. }
  11320. if input == nil {
  11321. input = &ModifyVpcEndpointInput{}
  11322. }
  11323. req = c.newRequest(op, input, output)
  11324. output = &ModifyVpcEndpointOutput{}
  11325. req.Data = output
  11326. return
  11327. }
  11328. // ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  11329. //
  11330. // Modifies attributes of a specified VPC endpoint. You can modify the policy
  11331. // associated with the endpoint, and you can add and remove route tables associated
  11332. // with the endpoint.
  11333. //
  11334. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11335. // with awserr.Error's Code and Message methods to get detailed information about
  11336. // the error.
  11337. //
  11338. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11339. // API operation ModifyVpcEndpoint for usage and error information.
  11340. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  11341. req, out := c.ModifyVpcEndpointRequest(input)
  11342. err := req.Send()
  11343. return out, err
  11344. }
  11345. const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
  11346. // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
  11347. // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
  11348. // value can be used to capture response data after the request's "Send" method
  11349. // is called.
  11350. //
  11351. // See ModifyVpcPeeringConnectionOptions for usage and error information.
  11352. //
  11353. // Creating a request object using this method should be used when you want to inject
  11354. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11355. // access properties on the request object before or after sending the request. If
  11356. // you just want the service response, call the ModifyVpcPeeringConnectionOptions method directly
  11357. // instead.
  11358. //
  11359. // Note: You must call the "Send" method on the returned request object in order
  11360. // to execute the request.
  11361. //
  11362. // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
  11363. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
  11364. //
  11365. // err := req.Send()
  11366. // if err == nil { // resp is now filled
  11367. // fmt.Println(resp)
  11368. // }
  11369. //
  11370. func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
  11371. op := &request.Operation{
  11372. Name: opModifyVpcPeeringConnectionOptions,
  11373. HTTPMethod: "POST",
  11374. HTTPPath: "/",
  11375. }
  11376. if input == nil {
  11377. input = &ModifyVpcPeeringConnectionOptionsInput{}
  11378. }
  11379. req = c.newRequest(op, input, output)
  11380. output = &ModifyVpcPeeringConnectionOptionsOutput{}
  11381. req.Data = output
  11382. return
  11383. }
  11384. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
  11385. //
  11386. // Modifies the VPC peering connection options on one side of a VPC peering
  11387. // connection. You can do the following:
  11388. //
  11389. // * Enable/disable communication over the peering connection between an
  11390. // EC2-Classic instance that's linked to your VPC (using ClassicLink) and
  11391. // instances in the peer VPC.
  11392. //
  11393. // * Enable/disable communication over the peering connection between instances
  11394. // in your VPC and an EC2-Classic instance that's linked to the peer VPC.
  11395. //
  11396. // * Enable/disable a local VPC to resolve public DNS hostnames to private
  11397. // IP addresses when queried from instances in the peer VPC.
  11398. //
  11399. // If the peered VPCs are in different accounts, each owner must initiate a
  11400. // separate request to modify the peering connection options, depending on whether
  11401. // their VPC was the requester or accepter for the VPC peering connection. If
  11402. // the peered VPCs are in the same account, you can modify the requester and
  11403. // accepter options in the same request. To confirm which VPC is the accepter
  11404. // and requester for a VPC peering connection, use the DescribeVpcPeeringConnections
  11405. // command.
  11406. //
  11407. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11408. // with awserr.Error's Code and Message methods to get detailed information about
  11409. // the error.
  11410. //
  11411. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11412. // API operation ModifyVpcPeeringConnectionOptions for usage and error information.
  11413. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  11414. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  11415. err := req.Send()
  11416. return out, err
  11417. }
  11418. const opMonitorInstances = "MonitorInstances"
  11419. // MonitorInstancesRequest generates a "aws/request.Request" representing the
  11420. // client's request for the MonitorInstances operation. The "output" return
  11421. // value can be used to capture response data after the request's "Send" method
  11422. // is called.
  11423. //
  11424. // See MonitorInstances for usage and error information.
  11425. //
  11426. // Creating a request object using this method should be used when you want to inject
  11427. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11428. // access properties on the request object before or after sending the request. If
  11429. // you just want the service response, call the MonitorInstances method directly
  11430. // instead.
  11431. //
  11432. // Note: You must call the "Send" method on the returned request object in order
  11433. // to execute the request.
  11434. //
  11435. // // Example sending a request using the MonitorInstancesRequest method.
  11436. // req, resp := client.MonitorInstancesRequest(params)
  11437. //
  11438. // err := req.Send()
  11439. // if err == nil { // resp is now filled
  11440. // fmt.Println(resp)
  11441. // }
  11442. //
  11443. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  11444. op := &request.Operation{
  11445. Name: opMonitorInstances,
  11446. HTTPMethod: "POST",
  11447. HTTPPath: "/",
  11448. }
  11449. if input == nil {
  11450. input = &MonitorInstancesInput{}
  11451. }
  11452. req = c.newRequest(op, input, output)
  11453. output = &MonitorInstancesOutput{}
  11454. req.Data = output
  11455. return
  11456. }
  11457. // MonitorInstances API operation for Amazon Elastic Compute Cloud.
  11458. //
  11459. // Enables monitoring for a running instance. For more information about monitoring
  11460. // instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  11461. // in the Amazon Elastic Compute Cloud User Guide.
  11462. //
  11463. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11464. // with awserr.Error's Code and Message methods to get detailed information about
  11465. // the error.
  11466. //
  11467. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11468. // API operation MonitorInstances for usage and error information.
  11469. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  11470. req, out := c.MonitorInstancesRequest(input)
  11471. err := req.Send()
  11472. return out, err
  11473. }
  11474. const opMoveAddressToVpc = "MoveAddressToVpc"
  11475. // MoveAddressToVpcRequest generates a "aws/request.Request" representing the
  11476. // client's request for the MoveAddressToVpc operation. The "output" return
  11477. // value can be used to capture response data after the request's "Send" method
  11478. // is called.
  11479. //
  11480. // See MoveAddressToVpc for usage and error information.
  11481. //
  11482. // Creating a request object using this method should be used when you want to inject
  11483. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11484. // access properties on the request object before or after sending the request. If
  11485. // you just want the service response, call the MoveAddressToVpc method directly
  11486. // instead.
  11487. //
  11488. // Note: You must call the "Send" method on the returned request object in order
  11489. // to execute the request.
  11490. //
  11491. // // Example sending a request using the MoveAddressToVpcRequest method.
  11492. // req, resp := client.MoveAddressToVpcRequest(params)
  11493. //
  11494. // err := req.Send()
  11495. // if err == nil { // resp is now filled
  11496. // fmt.Println(resp)
  11497. // }
  11498. //
  11499. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  11500. op := &request.Operation{
  11501. Name: opMoveAddressToVpc,
  11502. HTTPMethod: "POST",
  11503. HTTPPath: "/",
  11504. }
  11505. if input == nil {
  11506. input = &MoveAddressToVpcInput{}
  11507. }
  11508. req = c.newRequest(op, input, output)
  11509. output = &MoveAddressToVpcOutput{}
  11510. req.Data = output
  11511. return
  11512. }
  11513. // MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
  11514. //
  11515. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  11516. // platform. The Elastic IP address must be allocated to your account for more
  11517. // than 24 hours, and it must not be associated with an instance. After the
  11518. // Elastic IP address is moved, it is no longer available for use in the EC2-Classic
  11519. // platform, unless you move it back using the RestoreAddressToClassic request.
  11520. // You cannot move an Elastic IP address that was originally allocated for use
  11521. // in the EC2-VPC platform to the EC2-Classic platform.
  11522. //
  11523. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11524. // with awserr.Error's Code and Message methods to get detailed information about
  11525. // the error.
  11526. //
  11527. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11528. // API operation MoveAddressToVpc for usage and error information.
  11529. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  11530. req, out := c.MoveAddressToVpcRequest(input)
  11531. err := req.Send()
  11532. return out, err
  11533. }
  11534. const opPurchaseHostReservation = "PurchaseHostReservation"
  11535. // PurchaseHostReservationRequest generates a "aws/request.Request" representing the
  11536. // client's request for the PurchaseHostReservation operation. The "output" return
  11537. // value can be used to capture response data after the request's "Send" method
  11538. // is called.
  11539. //
  11540. // See PurchaseHostReservation for usage and error information.
  11541. //
  11542. // Creating a request object using this method should be used when you want to inject
  11543. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11544. // access properties on the request object before or after sending the request. If
  11545. // you just want the service response, call the PurchaseHostReservation method directly
  11546. // instead.
  11547. //
  11548. // Note: You must call the "Send" method on the returned request object in order
  11549. // to execute the request.
  11550. //
  11551. // // Example sending a request using the PurchaseHostReservationRequest method.
  11552. // req, resp := client.PurchaseHostReservationRequest(params)
  11553. //
  11554. // err := req.Send()
  11555. // if err == nil { // resp is now filled
  11556. // fmt.Println(resp)
  11557. // }
  11558. //
  11559. func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
  11560. op := &request.Operation{
  11561. Name: opPurchaseHostReservation,
  11562. HTTPMethod: "POST",
  11563. HTTPPath: "/",
  11564. }
  11565. if input == nil {
  11566. input = &PurchaseHostReservationInput{}
  11567. }
  11568. req = c.newRequest(op, input, output)
  11569. output = &PurchaseHostReservationOutput{}
  11570. req.Data = output
  11571. return
  11572. }
  11573. // PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
  11574. //
  11575. // Purchase a reservation with configurations that match those of your Dedicated
  11576. // Host. You must have active Dedicated Hosts in your account before you purchase
  11577. // a reservation. This action results in the specified reservation being purchased
  11578. // and charged to your account.
  11579. //
  11580. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11581. // with awserr.Error's Code and Message methods to get detailed information about
  11582. // the error.
  11583. //
  11584. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11585. // API operation PurchaseHostReservation for usage and error information.
  11586. func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
  11587. req, out := c.PurchaseHostReservationRequest(input)
  11588. err := req.Send()
  11589. return out, err
  11590. }
  11591. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  11592. // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
  11593. // client's request for the PurchaseReservedInstancesOffering operation. The "output" return
  11594. // value can be used to capture response data after the request's "Send" method
  11595. // is called.
  11596. //
  11597. // See PurchaseReservedInstancesOffering for usage and error information.
  11598. //
  11599. // Creating a request object using this method should be used when you want to inject
  11600. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11601. // access properties on the request object before or after sending the request. If
  11602. // you just want the service response, call the PurchaseReservedInstancesOffering method directly
  11603. // instead.
  11604. //
  11605. // Note: You must call the "Send" method on the returned request object in order
  11606. // to execute the request.
  11607. //
  11608. // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
  11609. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
  11610. //
  11611. // err := req.Send()
  11612. // if err == nil { // resp is now filled
  11613. // fmt.Println(resp)
  11614. // }
  11615. //
  11616. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  11617. op := &request.Operation{
  11618. Name: opPurchaseReservedInstancesOffering,
  11619. HTTPMethod: "POST",
  11620. HTTPPath: "/",
  11621. }
  11622. if input == nil {
  11623. input = &PurchaseReservedInstancesOfferingInput{}
  11624. }
  11625. req = c.newRequest(op, input, output)
  11626. output = &PurchaseReservedInstancesOfferingOutput{}
  11627. req.Data = output
  11628. return
  11629. }
  11630. // PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
  11631. //
  11632. // Purchases a Reserved Instance for use with your account. With Reserved Instances,
  11633. // you pay a lower hourly rate compared to On-Demand instance pricing.
  11634. //
  11635. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  11636. // offerings that match your specifications. After you've purchased a Reserved
  11637. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  11638. //
  11639. // For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  11640. // and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  11641. // in the Amazon Elastic Compute Cloud User Guide.
  11642. //
  11643. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11644. // with awserr.Error's Code and Message methods to get detailed information about
  11645. // the error.
  11646. //
  11647. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11648. // API operation PurchaseReservedInstancesOffering for usage and error information.
  11649. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  11650. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  11651. err := req.Send()
  11652. return out, err
  11653. }
  11654. const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
  11655. // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
  11656. // client's request for the PurchaseScheduledInstances operation. The "output" return
  11657. // value can be used to capture response data after the request's "Send" method
  11658. // is called.
  11659. //
  11660. // See PurchaseScheduledInstances for usage and error information.
  11661. //
  11662. // Creating a request object using this method should be used when you want to inject
  11663. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11664. // access properties on the request object before or after sending the request. If
  11665. // you just want the service response, call the PurchaseScheduledInstances method directly
  11666. // instead.
  11667. //
  11668. // Note: You must call the "Send" method on the returned request object in order
  11669. // to execute the request.
  11670. //
  11671. // // Example sending a request using the PurchaseScheduledInstancesRequest method.
  11672. // req, resp := client.PurchaseScheduledInstancesRequest(params)
  11673. //
  11674. // err := req.Send()
  11675. // if err == nil { // resp is now filled
  11676. // fmt.Println(resp)
  11677. // }
  11678. //
  11679. func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
  11680. op := &request.Operation{
  11681. Name: opPurchaseScheduledInstances,
  11682. HTTPMethod: "POST",
  11683. HTTPPath: "/",
  11684. }
  11685. if input == nil {
  11686. input = &PurchaseScheduledInstancesInput{}
  11687. }
  11688. req = c.newRequest(op, input, output)
  11689. output = &PurchaseScheduledInstancesOutput{}
  11690. req.Data = output
  11691. return
  11692. }
  11693. // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
  11694. //
  11695. // Purchases one or more Scheduled Instances with the specified schedule.
  11696. //
  11697. // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
  11698. // the hour for a one-year term. Before you can purchase a Scheduled Instance,
  11699. // you must call DescribeScheduledInstanceAvailability to check for available
  11700. // schedules and obtain a purchase token. After you purchase a Scheduled Instance,
  11701. // you must call RunScheduledInstances during each scheduled time period.
  11702. //
  11703. // After you purchase a Scheduled Instance, you can't cancel, modify, or resell
  11704. // your purchase.
  11705. //
  11706. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11707. // with awserr.Error's Code and Message methods to get detailed information about
  11708. // the error.
  11709. //
  11710. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11711. // API operation PurchaseScheduledInstances for usage and error information.
  11712. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
  11713. req, out := c.PurchaseScheduledInstancesRequest(input)
  11714. err := req.Send()
  11715. return out, err
  11716. }
  11717. const opRebootInstances = "RebootInstances"
  11718. // RebootInstancesRequest generates a "aws/request.Request" representing the
  11719. // client's request for the RebootInstances operation. The "output" return
  11720. // value can be used to capture response data after the request's "Send" method
  11721. // is called.
  11722. //
  11723. // See RebootInstances for usage and error information.
  11724. //
  11725. // Creating a request object using this method should be used when you want to inject
  11726. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11727. // access properties on the request object before or after sending the request. If
  11728. // you just want the service response, call the RebootInstances method directly
  11729. // instead.
  11730. //
  11731. // Note: You must call the "Send" method on the returned request object in order
  11732. // to execute the request.
  11733. //
  11734. // // Example sending a request using the RebootInstancesRequest method.
  11735. // req, resp := client.RebootInstancesRequest(params)
  11736. //
  11737. // err := req.Send()
  11738. // if err == nil { // resp is now filled
  11739. // fmt.Println(resp)
  11740. // }
  11741. //
  11742. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  11743. op := &request.Operation{
  11744. Name: opRebootInstances,
  11745. HTTPMethod: "POST",
  11746. HTTPPath: "/",
  11747. }
  11748. if input == nil {
  11749. input = &RebootInstancesInput{}
  11750. }
  11751. req = c.newRequest(op, input, output)
  11752. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11753. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11754. output = &RebootInstancesOutput{}
  11755. req.Data = output
  11756. return
  11757. }
  11758. // RebootInstances API operation for Amazon Elastic Compute Cloud.
  11759. //
  11760. // Requests a reboot of one or more instances. This operation is asynchronous;
  11761. // it only queues a request to reboot the specified instances. The operation
  11762. // succeeds if the instances are valid and belong to you. Requests to reboot
  11763. // terminated instances are ignored.
  11764. //
  11765. // If an instance does not cleanly shut down within four minutes, Amazon EC2
  11766. // performs a hard reboot.
  11767. //
  11768. // For more information about troubleshooting, see Getting Console Output and
  11769. // Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  11770. // in the Amazon Elastic Compute Cloud User Guide.
  11771. //
  11772. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11773. // with awserr.Error's Code and Message methods to get detailed information about
  11774. // the error.
  11775. //
  11776. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11777. // API operation RebootInstances for usage and error information.
  11778. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  11779. req, out := c.RebootInstancesRequest(input)
  11780. err := req.Send()
  11781. return out, err
  11782. }
  11783. const opRegisterImage = "RegisterImage"
  11784. // RegisterImageRequest generates a "aws/request.Request" representing the
  11785. // client's request for the RegisterImage operation. The "output" return
  11786. // value can be used to capture response data after the request's "Send" method
  11787. // is called.
  11788. //
  11789. // See RegisterImage for usage and error information.
  11790. //
  11791. // Creating a request object using this method should be used when you want to inject
  11792. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11793. // access properties on the request object before or after sending the request. If
  11794. // you just want the service response, call the RegisterImage method directly
  11795. // instead.
  11796. //
  11797. // Note: You must call the "Send" method on the returned request object in order
  11798. // to execute the request.
  11799. //
  11800. // // Example sending a request using the RegisterImageRequest method.
  11801. // req, resp := client.RegisterImageRequest(params)
  11802. //
  11803. // err := req.Send()
  11804. // if err == nil { // resp is now filled
  11805. // fmt.Println(resp)
  11806. // }
  11807. //
  11808. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  11809. op := &request.Operation{
  11810. Name: opRegisterImage,
  11811. HTTPMethod: "POST",
  11812. HTTPPath: "/",
  11813. }
  11814. if input == nil {
  11815. input = &RegisterImageInput{}
  11816. }
  11817. req = c.newRequest(op, input, output)
  11818. output = &RegisterImageOutput{}
  11819. req.Data = output
  11820. return
  11821. }
  11822. // RegisterImage API operation for Amazon Elastic Compute Cloud.
  11823. //
  11824. // Registers an AMI. When you're creating an AMI, this is the final step you
  11825. // must complete before you can launch an instance from the AMI. For more information
  11826. // about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  11827. // in the Amazon Elastic Compute Cloud User Guide.
  11828. //
  11829. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  11830. // in a single request, so you don't have to register the AMI yourself.
  11831. //
  11832. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
  11833. // a snapshot of a root device volume. For more information, see Launching an
  11834. // Instance from a Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_LaunchingInstanceFromSnapshot.html)
  11835. // in the Amazon Elastic Compute Cloud User Guide.
  11836. //
  11837. // Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
  11838. // Linux Enterprise Server (SLES), use the EC2 billingProduct code associated
  11839. // with an AMI to verify subscription status for package updates. Creating an
  11840. // AMI from an EBS snapshot does not maintain this billing code, and subsequent
  11841. // instances launched from such an AMI will not be able to connect to package
  11842. // update infrastructure.
  11843. //
  11844. // Similarly, although you can create a Windows AMI from a snapshot, you can't
  11845. // successfully launch an instance from the AMI.
  11846. //
  11847. // To create Windows AMIs or to create AMIs for Linux operating systems that
  11848. // must retain AMI billing codes to work properly, see CreateImage.
  11849. //
  11850. // If needed, you can deregister an AMI at any time. Any modifications you make
  11851. // to an AMI backed by an instance store volume invalidates its registration.
  11852. // If you make changes to an image, deregister the previous image and register
  11853. // the new image.
  11854. //
  11855. // You can't register an image where a secondary (non-root) snapshot has AWS
  11856. // Marketplace product codes.
  11857. //
  11858. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11859. // with awserr.Error's Code and Message methods to get detailed information about
  11860. // the error.
  11861. //
  11862. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11863. // API operation RegisterImage for usage and error information.
  11864. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  11865. req, out := c.RegisterImageRequest(input)
  11866. err := req.Send()
  11867. return out, err
  11868. }
  11869. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  11870. // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  11871. // client's request for the RejectVpcPeeringConnection operation. The "output" return
  11872. // value can be used to capture response data after the request's "Send" method
  11873. // is called.
  11874. //
  11875. // See RejectVpcPeeringConnection for usage and error information.
  11876. //
  11877. // Creating a request object using this method should be used when you want to inject
  11878. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11879. // access properties on the request object before or after sending the request. If
  11880. // you just want the service response, call the RejectVpcPeeringConnection method directly
  11881. // instead.
  11882. //
  11883. // Note: You must call the "Send" method on the returned request object in order
  11884. // to execute the request.
  11885. //
  11886. // // Example sending a request using the RejectVpcPeeringConnectionRequest method.
  11887. // req, resp := client.RejectVpcPeeringConnectionRequest(params)
  11888. //
  11889. // err := req.Send()
  11890. // if err == nil { // resp is now filled
  11891. // fmt.Println(resp)
  11892. // }
  11893. //
  11894. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  11895. op := &request.Operation{
  11896. Name: opRejectVpcPeeringConnection,
  11897. HTTPMethod: "POST",
  11898. HTTPPath: "/",
  11899. }
  11900. if input == nil {
  11901. input = &RejectVpcPeeringConnectionInput{}
  11902. }
  11903. req = c.newRequest(op, input, output)
  11904. output = &RejectVpcPeeringConnectionOutput{}
  11905. req.Data = output
  11906. return
  11907. }
  11908. // RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  11909. //
  11910. // Rejects a VPC peering connection request. The VPC peering connection must
  11911. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  11912. // request to view your outstanding VPC peering connection requests. To delete
  11913. // an active VPC peering connection, or to delete a VPC peering connection request
  11914. // that you initiated, use DeleteVpcPeeringConnection.
  11915. //
  11916. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11917. // with awserr.Error's Code and Message methods to get detailed information about
  11918. // the error.
  11919. //
  11920. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11921. // API operation RejectVpcPeeringConnection for usage and error information.
  11922. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  11923. req, out := c.RejectVpcPeeringConnectionRequest(input)
  11924. err := req.Send()
  11925. return out, err
  11926. }
  11927. const opReleaseAddress = "ReleaseAddress"
  11928. // ReleaseAddressRequest generates a "aws/request.Request" representing the
  11929. // client's request for the ReleaseAddress operation. The "output" return
  11930. // value can be used to capture response data after the request's "Send" method
  11931. // is called.
  11932. //
  11933. // See ReleaseAddress for usage and error information.
  11934. //
  11935. // Creating a request object using this method should be used when you want to inject
  11936. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11937. // access properties on the request object before or after sending the request. If
  11938. // you just want the service response, call the ReleaseAddress method directly
  11939. // instead.
  11940. //
  11941. // Note: You must call the "Send" method on the returned request object in order
  11942. // to execute the request.
  11943. //
  11944. // // Example sending a request using the ReleaseAddressRequest method.
  11945. // req, resp := client.ReleaseAddressRequest(params)
  11946. //
  11947. // err := req.Send()
  11948. // if err == nil { // resp is now filled
  11949. // fmt.Println(resp)
  11950. // }
  11951. //
  11952. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  11953. op := &request.Operation{
  11954. Name: opReleaseAddress,
  11955. HTTPMethod: "POST",
  11956. HTTPPath: "/",
  11957. }
  11958. if input == nil {
  11959. input = &ReleaseAddressInput{}
  11960. }
  11961. req = c.newRequest(op, input, output)
  11962. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  11963. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  11964. output = &ReleaseAddressOutput{}
  11965. req.Data = output
  11966. return
  11967. }
  11968. // ReleaseAddress API operation for Amazon Elastic Compute Cloud.
  11969. //
  11970. // Releases the specified Elastic IP address.
  11971. //
  11972. // After releasing an Elastic IP address, it is released to the IP address pool
  11973. // and might be unavailable to you. Be sure to update your DNS records and any
  11974. // servers or devices that communicate with the address. If you attempt to release
  11975. // an Elastic IP address that you already released, you'll get an AuthFailure
  11976. // error if the address is already allocated to another AWS account.
  11977. //
  11978. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  11979. // disassociates it from any instance that it's associated with. To disassociate
  11980. // an Elastic IP address without releasing it, use DisassociateAddress.
  11981. //
  11982. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  11983. // IP address before you try to release it. Otherwise, Amazon EC2 returns an
  11984. // error (InvalidIPAddress.InUse).
  11985. //
  11986. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11987. // with awserr.Error's Code and Message methods to get detailed information about
  11988. // the error.
  11989. //
  11990. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11991. // API operation ReleaseAddress for usage and error information.
  11992. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  11993. req, out := c.ReleaseAddressRequest(input)
  11994. err := req.Send()
  11995. return out, err
  11996. }
  11997. const opReleaseHosts = "ReleaseHosts"
  11998. // ReleaseHostsRequest generates a "aws/request.Request" representing the
  11999. // client's request for the ReleaseHosts operation. The "output" return
  12000. // value can be used to capture response data after the request's "Send" method
  12001. // is called.
  12002. //
  12003. // See ReleaseHosts for usage and error information.
  12004. //
  12005. // Creating a request object using this method should be used when you want to inject
  12006. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12007. // access properties on the request object before or after sending the request. If
  12008. // you just want the service response, call the ReleaseHosts method directly
  12009. // instead.
  12010. //
  12011. // Note: You must call the "Send" method on the returned request object in order
  12012. // to execute the request.
  12013. //
  12014. // // Example sending a request using the ReleaseHostsRequest method.
  12015. // req, resp := client.ReleaseHostsRequest(params)
  12016. //
  12017. // err := req.Send()
  12018. // if err == nil { // resp is now filled
  12019. // fmt.Println(resp)
  12020. // }
  12021. //
  12022. func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
  12023. op := &request.Operation{
  12024. Name: opReleaseHosts,
  12025. HTTPMethod: "POST",
  12026. HTTPPath: "/",
  12027. }
  12028. if input == nil {
  12029. input = &ReleaseHostsInput{}
  12030. }
  12031. req = c.newRequest(op, input, output)
  12032. output = &ReleaseHostsOutput{}
  12033. req.Data = output
  12034. return
  12035. }
  12036. // ReleaseHosts API operation for Amazon Elastic Compute Cloud.
  12037. //
  12038. // When you no longer want to use an On-Demand Dedicated Host it can be released.
  12039. // On-Demand billing is stopped and the host goes into released state. The host
  12040. // ID of Dedicated Hosts that have been released can no longer be specified
  12041. // in another request, e.g., ModifyHosts. You must stop or terminate all instances
  12042. // on a host before it can be released.
  12043. //
  12044. // When Dedicated Hosts are released, it make take some time for them to stop
  12045. // counting toward your limit and you may receive capacity errors when trying
  12046. // to allocate new Dedicated hosts. Try waiting a few minutes, and then try
  12047. // again.
  12048. //
  12049. // Released hosts will still appear in a DescribeHosts response.
  12050. //
  12051. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12052. // with awserr.Error's Code and Message methods to get detailed information about
  12053. // the error.
  12054. //
  12055. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12056. // API operation ReleaseHosts for usage and error information.
  12057. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
  12058. req, out := c.ReleaseHostsRequest(input)
  12059. err := req.Send()
  12060. return out, err
  12061. }
  12062. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  12063. // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
  12064. // client's request for the ReplaceNetworkAclAssociation operation. The "output" return
  12065. // value can be used to capture response data after the request's "Send" method
  12066. // is called.
  12067. //
  12068. // See ReplaceNetworkAclAssociation for usage and error information.
  12069. //
  12070. // Creating a request object using this method should be used when you want to inject
  12071. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12072. // access properties on the request object before or after sending the request. If
  12073. // you just want the service response, call the ReplaceNetworkAclAssociation method directly
  12074. // instead.
  12075. //
  12076. // Note: You must call the "Send" method on the returned request object in order
  12077. // to execute the request.
  12078. //
  12079. // // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
  12080. // req, resp := client.ReplaceNetworkAclAssociationRequest(params)
  12081. //
  12082. // err := req.Send()
  12083. // if err == nil { // resp is now filled
  12084. // fmt.Println(resp)
  12085. // }
  12086. //
  12087. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  12088. op := &request.Operation{
  12089. Name: opReplaceNetworkAclAssociation,
  12090. HTTPMethod: "POST",
  12091. HTTPPath: "/",
  12092. }
  12093. if input == nil {
  12094. input = &ReplaceNetworkAclAssociationInput{}
  12095. }
  12096. req = c.newRequest(op, input, output)
  12097. output = &ReplaceNetworkAclAssociationOutput{}
  12098. req.Data = output
  12099. return
  12100. }
  12101. // ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
  12102. //
  12103. // Changes which network ACL a subnet is associated with. By default when you
  12104. // create a subnet, it's automatically associated with the default network ACL.
  12105. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  12106. // in the Amazon Virtual Private Cloud User Guide.
  12107. //
  12108. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12109. // with awserr.Error's Code and Message methods to get detailed information about
  12110. // the error.
  12111. //
  12112. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12113. // API operation ReplaceNetworkAclAssociation for usage and error information.
  12114. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  12115. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  12116. err := req.Send()
  12117. return out, err
  12118. }
  12119. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  12120. // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
  12121. // client's request for the ReplaceNetworkAclEntry operation. The "output" return
  12122. // value can be used to capture response data after the request's "Send" method
  12123. // is called.
  12124. //
  12125. // See ReplaceNetworkAclEntry for usage and error information.
  12126. //
  12127. // Creating a request object using this method should be used when you want to inject
  12128. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12129. // access properties on the request object before or after sending the request. If
  12130. // you just want the service response, call the ReplaceNetworkAclEntry method directly
  12131. // instead.
  12132. //
  12133. // Note: You must call the "Send" method on the returned request object in order
  12134. // to execute the request.
  12135. //
  12136. // // Example sending a request using the ReplaceNetworkAclEntryRequest method.
  12137. // req, resp := client.ReplaceNetworkAclEntryRequest(params)
  12138. //
  12139. // err := req.Send()
  12140. // if err == nil { // resp is now filled
  12141. // fmt.Println(resp)
  12142. // }
  12143. //
  12144. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  12145. op := &request.Operation{
  12146. Name: opReplaceNetworkAclEntry,
  12147. HTTPMethod: "POST",
  12148. HTTPPath: "/",
  12149. }
  12150. if input == nil {
  12151. input = &ReplaceNetworkAclEntryInput{}
  12152. }
  12153. req = c.newRequest(op, input, output)
  12154. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12155. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12156. output = &ReplaceNetworkAclEntryOutput{}
  12157. req.Data = output
  12158. return
  12159. }
  12160. // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  12161. //
  12162. // Replaces an entry (rule) in a network ACL. For more information about network
  12163. // ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  12164. // in the Amazon Virtual Private Cloud User Guide.
  12165. //
  12166. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12167. // with awserr.Error's Code and Message methods to get detailed information about
  12168. // the error.
  12169. //
  12170. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12171. // API operation ReplaceNetworkAclEntry for usage and error information.
  12172. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  12173. req, out := c.ReplaceNetworkAclEntryRequest(input)
  12174. err := req.Send()
  12175. return out, err
  12176. }
  12177. const opReplaceRoute = "ReplaceRoute"
  12178. // ReplaceRouteRequest generates a "aws/request.Request" representing the
  12179. // client's request for the ReplaceRoute operation. The "output" return
  12180. // value can be used to capture response data after the request's "Send" method
  12181. // is called.
  12182. //
  12183. // See ReplaceRoute for usage and error information.
  12184. //
  12185. // Creating a request object using this method should be used when you want to inject
  12186. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12187. // access properties on the request object before or after sending the request. If
  12188. // you just want the service response, call the ReplaceRoute method directly
  12189. // instead.
  12190. //
  12191. // Note: You must call the "Send" method on the returned request object in order
  12192. // to execute the request.
  12193. //
  12194. // // Example sending a request using the ReplaceRouteRequest method.
  12195. // req, resp := client.ReplaceRouteRequest(params)
  12196. //
  12197. // err := req.Send()
  12198. // if err == nil { // resp is now filled
  12199. // fmt.Println(resp)
  12200. // }
  12201. //
  12202. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  12203. op := &request.Operation{
  12204. Name: opReplaceRoute,
  12205. HTTPMethod: "POST",
  12206. HTTPPath: "/",
  12207. }
  12208. if input == nil {
  12209. input = &ReplaceRouteInput{}
  12210. }
  12211. req = c.newRequest(op, input, output)
  12212. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12213. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12214. output = &ReplaceRouteOutput{}
  12215. req.Data = output
  12216. return
  12217. }
  12218. // ReplaceRoute API operation for Amazon Elastic Compute Cloud.
  12219. //
  12220. // Replaces an existing route within a route table in a VPC. You must provide
  12221. // only one of the following: Internet gateway or virtual private gateway, NAT
  12222. // instance, NAT gateway, VPC peering connection, or network interface.
  12223. //
  12224. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  12225. // in the Amazon Virtual Private Cloud User Guide.
  12226. //
  12227. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12228. // with awserr.Error's Code and Message methods to get detailed information about
  12229. // the error.
  12230. //
  12231. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12232. // API operation ReplaceRoute for usage and error information.
  12233. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  12234. req, out := c.ReplaceRouteRequest(input)
  12235. err := req.Send()
  12236. return out, err
  12237. }
  12238. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  12239. // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
  12240. // client's request for the ReplaceRouteTableAssociation operation. The "output" return
  12241. // value can be used to capture response data after the request's "Send" method
  12242. // is called.
  12243. //
  12244. // See ReplaceRouteTableAssociation for usage and error information.
  12245. //
  12246. // Creating a request object using this method should be used when you want to inject
  12247. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12248. // access properties on the request object before or after sending the request. If
  12249. // you just want the service response, call the ReplaceRouteTableAssociation method directly
  12250. // instead.
  12251. //
  12252. // Note: You must call the "Send" method on the returned request object in order
  12253. // to execute the request.
  12254. //
  12255. // // Example sending a request using the ReplaceRouteTableAssociationRequest method.
  12256. // req, resp := client.ReplaceRouteTableAssociationRequest(params)
  12257. //
  12258. // err := req.Send()
  12259. // if err == nil { // resp is now filled
  12260. // fmt.Println(resp)
  12261. // }
  12262. //
  12263. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  12264. op := &request.Operation{
  12265. Name: opReplaceRouteTableAssociation,
  12266. HTTPMethod: "POST",
  12267. HTTPPath: "/",
  12268. }
  12269. if input == nil {
  12270. input = &ReplaceRouteTableAssociationInput{}
  12271. }
  12272. req = c.newRequest(op, input, output)
  12273. output = &ReplaceRouteTableAssociationOutput{}
  12274. req.Data = output
  12275. return
  12276. }
  12277. // ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
  12278. //
  12279. // Changes the route table associated with a given subnet in a VPC. After the
  12280. // operation completes, the subnet uses the routes in the new route table it's
  12281. // associated with. For more information about route tables, see Route Tables
  12282. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  12283. // in the Amazon Virtual Private Cloud User Guide.
  12284. //
  12285. // You can also use ReplaceRouteTableAssociation to change which table is the
  12286. // main route table in the VPC. You just specify the main route table's association
  12287. // ID and the route table to be the new main route table.
  12288. //
  12289. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12290. // with awserr.Error's Code and Message methods to get detailed information about
  12291. // the error.
  12292. //
  12293. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12294. // API operation ReplaceRouteTableAssociation for usage and error information.
  12295. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  12296. req, out := c.ReplaceRouteTableAssociationRequest(input)
  12297. err := req.Send()
  12298. return out, err
  12299. }
  12300. const opReportInstanceStatus = "ReportInstanceStatus"
  12301. // ReportInstanceStatusRequest generates a "aws/request.Request" representing the
  12302. // client's request for the ReportInstanceStatus operation. The "output" return
  12303. // value can be used to capture response data after the request's "Send" method
  12304. // is called.
  12305. //
  12306. // See ReportInstanceStatus for usage and error information.
  12307. //
  12308. // Creating a request object using this method should be used when you want to inject
  12309. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12310. // access properties on the request object before or after sending the request. If
  12311. // you just want the service response, call the ReportInstanceStatus method directly
  12312. // instead.
  12313. //
  12314. // Note: You must call the "Send" method on the returned request object in order
  12315. // to execute the request.
  12316. //
  12317. // // Example sending a request using the ReportInstanceStatusRequest method.
  12318. // req, resp := client.ReportInstanceStatusRequest(params)
  12319. //
  12320. // err := req.Send()
  12321. // if err == nil { // resp is now filled
  12322. // fmt.Println(resp)
  12323. // }
  12324. //
  12325. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  12326. op := &request.Operation{
  12327. Name: opReportInstanceStatus,
  12328. HTTPMethod: "POST",
  12329. HTTPPath: "/",
  12330. }
  12331. if input == nil {
  12332. input = &ReportInstanceStatusInput{}
  12333. }
  12334. req = c.newRequest(op, input, output)
  12335. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12336. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12337. output = &ReportInstanceStatusOutput{}
  12338. req.Data = output
  12339. return
  12340. }
  12341. // ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
  12342. //
  12343. // Submits feedback about the status of an instance. The instance must be in
  12344. // the running state. If your experience with the instance differs from the
  12345. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  12346. // to report your experience with the instance. Amazon EC2 collects this information
  12347. // to improve the accuracy of status checks.
  12348. //
  12349. // Use of this action does not change the value returned by DescribeInstanceStatus.
  12350. //
  12351. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12352. // with awserr.Error's Code and Message methods to get detailed information about
  12353. // the error.
  12354. //
  12355. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12356. // API operation ReportInstanceStatus for usage and error information.
  12357. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  12358. req, out := c.ReportInstanceStatusRequest(input)
  12359. err := req.Send()
  12360. return out, err
  12361. }
  12362. const opRequestSpotFleet = "RequestSpotFleet"
  12363. // RequestSpotFleetRequest generates a "aws/request.Request" representing the
  12364. // client's request for the RequestSpotFleet operation. The "output" return
  12365. // value can be used to capture response data after the request's "Send" method
  12366. // is called.
  12367. //
  12368. // See RequestSpotFleet for usage and error information.
  12369. //
  12370. // Creating a request object using this method should be used when you want to inject
  12371. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12372. // access properties on the request object before or after sending the request. If
  12373. // you just want the service response, call the RequestSpotFleet method directly
  12374. // instead.
  12375. //
  12376. // Note: You must call the "Send" method on the returned request object in order
  12377. // to execute the request.
  12378. //
  12379. // // Example sending a request using the RequestSpotFleetRequest method.
  12380. // req, resp := client.RequestSpotFleetRequest(params)
  12381. //
  12382. // err := req.Send()
  12383. // if err == nil { // resp is now filled
  12384. // fmt.Println(resp)
  12385. // }
  12386. //
  12387. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  12388. op := &request.Operation{
  12389. Name: opRequestSpotFleet,
  12390. HTTPMethod: "POST",
  12391. HTTPPath: "/",
  12392. }
  12393. if input == nil {
  12394. input = &RequestSpotFleetInput{}
  12395. }
  12396. req = c.newRequest(op, input, output)
  12397. output = &RequestSpotFleetOutput{}
  12398. req.Data = output
  12399. return
  12400. }
  12401. // RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
  12402. //
  12403. // Creates a Spot fleet request.
  12404. //
  12405. // You can submit a single request that includes multiple launch specifications
  12406. // that vary by instance type, AMI, Availability Zone, or subnet.
  12407. //
  12408. // By default, the Spot fleet requests Spot instances in the Spot pool where
  12409. // the price per unit is the lowest. Each launch specification can include its
  12410. // own instance weighting that reflects the value of the instance type to your
  12411. // application workload.
  12412. //
  12413. // Alternatively, you can specify that the Spot fleet distribute the target
  12414. // capacity across the Spot pools included in its launch specifications. By
  12415. // ensuring that the Spot instances in your Spot fleet are in different Spot
  12416. // pools, you can improve the availability of your fleet.
  12417. //
  12418. // For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
  12419. // in the Amazon Elastic Compute Cloud User Guide.
  12420. //
  12421. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12422. // with awserr.Error's Code and Message methods to get detailed information about
  12423. // the error.
  12424. //
  12425. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12426. // API operation RequestSpotFleet for usage and error information.
  12427. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  12428. req, out := c.RequestSpotFleetRequest(input)
  12429. err := req.Send()
  12430. return out, err
  12431. }
  12432. const opRequestSpotInstances = "RequestSpotInstances"
  12433. // RequestSpotInstancesRequest generates a "aws/request.Request" representing the
  12434. // client's request for the RequestSpotInstances operation. The "output" return
  12435. // value can be used to capture response data after the request's "Send" method
  12436. // is called.
  12437. //
  12438. // See RequestSpotInstances for usage and error information.
  12439. //
  12440. // Creating a request object using this method should be used when you want to inject
  12441. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12442. // access properties on the request object before or after sending the request. If
  12443. // you just want the service response, call the RequestSpotInstances method directly
  12444. // instead.
  12445. //
  12446. // Note: You must call the "Send" method on the returned request object in order
  12447. // to execute the request.
  12448. //
  12449. // // Example sending a request using the RequestSpotInstancesRequest method.
  12450. // req, resp := client.RequestSpotInstancesRequest(params)
  12451. //
  12452. // err := req.Send()
  12453. // if err == nil { // resp is now filled
  12454. // fmt.Println(resp)
  12455. // }
  12456. //
  12457. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  12458. op := &request.Operation{
  12459. Name: opRequestSpotInstances,
  12460. HTTPMethod: "POST",
  12461. HTTPPath: "/",
  12462. }
  12463. if input == nil {
  12464. input = &RequestSpotInstancesInput{}
  12465. }
  12466. req = c.newRequest(op, input, output)
  12467. output = &RequestSpotInstancesOutput{}
  12468. req.Data = output
  12469. return
  12470. }
  12471. // RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
  12472. //
  12473. // Creates a Spot instance request. Spot instances are instances that Amazon
  12474. // EC2 launches when the bid price that you specify exceeds the current Spot
  12475. // price. Amazon EC2 periodically sets the Spot price based on available Spot
  12476. // Instance capacity and current Spot instance requests. For more information,
  12477. // see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  12478. // in the Amazon Elastic Compute Cloud User Guide.
  12479. //
  12480. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12481. // with awserr.Error's Code and Message methods to get detailed information about
  12482. // the error.
  12483. //
  12484. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12485. // API operation RequestSpotInstances for usage and error information.
  12486. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  12487. req, out := c.RequestSpotInstancesRequest(input)
  12488. err := req.Send()
  12489. return out, err
  12490. }
  12491. const opResetImageAttribute = "ResetImageAttribute"
  12492. // ResetImageAttributeRequest generates a "aws/request.Request" representing the
  12493. // client's request for the ResetImageAttribute operation. The "output" return
  12494. // value can be used to capture response data after the request's "Send" method
  12495. // is called.
  12496. //
  12497. // See ResetImageAttribute for usage and error information.
  12498. //
  12499. // Creating a request object using this method should be used when you want to inject
  12500. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12501. // access properties on the request object before or after sending the request. If
  12502. // you just want the service response, call the ResetImageAttribute method directly
  12503. // instead.
  12504. //
  12505. // Note: You must call the "Send" method on the returned request object in order
  12506. // to execute the request.
  12507. //
  12508. // // Example sending a request using the ResetImageAttributeRequest method.
  12509. // req, resp := client.ResetImageAttributeRequest(params)
  12510. //
  12511. // err := req.Send()
  12512. // if err == nil { // resp is now filled
  12513. // fmt.Println(resp)
  12514. // }
  12515. //
  12516. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  12517. op := &request.Operation{
  12518. Name: opResetImageAttribute,
  12519. HTTPMethod: "POST",
  12520. HTTPPath: "/",
  12521. }
  12522. if input == nil {
  12523. input = &ResetImageAttributeInput{}
  12524. }
  12525. req = c.newRequest(op, input, output)
  12526. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12527. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12528. output = &ResetImageAttributeOutput{}
  12529. req.Data = output
  12530. return
  12531. }
  12532. // ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
  12533. //
  12534. // Resets an attribute of an AMI to its default value.
  12535. //
  12536. // The productCodes attribute can't be reset.
  12537. //
  12538. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12539. // with awserr.Error's Code and Message methods to get detailed information about
  12540. // the error.
  12541. //
  12542. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12543. // API operation ResetImageAttribute for usage and error information.
  12544. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  12545. req, out := c.ResetImageAttributeRequest(input)
  12546. err := req.Send()
  12547. return out, err
  12548. }
  12549. const opResetInstanceAttribute = "ResetInstanceAttribute"
  12550. // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
  12551. // client's request for the ResetInstanceAttribute operation. The "output" return
  12552. // value can be used to capture response data after the request's "Send" method
  12553. // is called.
  12554. //
  12555. // See ResetInstanceAttribute for usage and error information.
  12556. //
  12557. // Creating a request object using this method should be used when you want to inject
  12558. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12559. // access properties on the request object before or after sending the request. If
  12560. // you just want the service response, call the ResetInstanceAttribute method directly
  12561. // instead.
  12562. //
  12563. // Note: You must call the "Send" method on the returned request object in order
  12564. // to execute the request.
  12565. //
  12566. // // Example sending a request using the ResetInstanceAttributeRequest method.
  12567. // req, resp := client.ResetInstanceAttributeRequest(params)
  12568. //
  12569. // err := req.Send()
  12570. // if err == nil { // resp is now filled
  12571. // fmt.Println(resp)
  12572. // }
  12573. //
  12574. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  12575. op := &request.Operation{
  12576. Name: opResetInstanceAttribute,
  12577. HTTPMethod: "POST",
  12578. HTTPPath: "/",
  12579. }
  12580. if input == nil {
  12581. input = &ResetInstanceAttributeInput{}
  12582. }
  12583. req = c.newRequest(op, input, output)
  12584. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12585. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12586. output = &ResetInstanceAttributeOutput{}
  12587. req.Data = output
  12588. return
  12589. }
  12590. // ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  12591. //
  12592. // Resets an attribute of an instance to its default value. To reset the kernel
  12593. // or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
  12594. // the instance can be either running or stopped.
  12595. //
  12596. // The sourceDestCheck attribute controls whether source/destination checking
  12597. // is enabled. The default value is true, which means checking is enabled. This
  12598. // value must be false for a NAT instance to perform NAT. For more information,
  12599. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  12600. // in the Amazon Virtual Private Cloud User Guide.
  12601. //
  12602. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12603. // with awserr.Error's Code and Message methods to get detailed information about
  12604. // the error.
  12605. //
  12606. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12607. // API operation ResetInstanceAttribute for usage and error information.
  12608. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  12609. req, out := c.ResetInstanceAttributeRequest(input)
  12610. err := req.Send()
  12611. return out, err
  12612. }
  12613. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  12614. // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  12615. // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
  12616. // value can be used to capture response data after the request's "Send" method
  12617. // is called.
  12618. //
  12619. // See ResetNetworkInterfaceAttribute for usage and error information.
  12620. //
  12621. // Creating a request object using this method should be used when you want to inject
  12622. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12623. // access properties on the request object before or after sending the request. If
  12624. // you just want the service response, call the ResetNetworkInterfaceAttribute method directly
  12625. // instead.
  12626. //
  12627. // Note: You must call the "Send" method on the returned request object in order
  12628. // to execute the request.
  12629. //
  12630. // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
  12631. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
  12632. //
  12633. // err := req.Send()
  12634. // if err == nil { // resp is now filled
  12635. // fmt.Println(resp)
  12636. // }
  12637. //
  12638. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  12639. op := &request.Operation{
  12640. Name: opResetNetworkInterfaceAttribute,
  12641. HTTPMethod: "POST",
  12642. HTTPPath: "/",
  12643. }
  12644. if input == nil {
  12645. input = &ResetNetworkInterfaceAttributeInput{}
  12646. }
  12647. req = c.newRequest(op, input, output)
  12648. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12649. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12650. output = &ResetNetworkInterfaceAttributeOutput{}
  12651. req.Data = output
  12652. return
  12653. }
  12654. // ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  12655. //
  12656. // Resets a network interface attribute. You can specify only one attribute
  12657. // at a time.
  12658. //
  12659. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12660. // with awserr.Error's Code and Message methods to get detailed information about
  12661. // the error.
  12662. //
  12663. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12664. // API operation ResetNetworkInterfaceAttribute for usage and error information.
  12665. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  12666. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  12667. err := req.Send()
  12668. return out, err
  12669. }
  12670. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  12671. // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
  12672. // client's request for the ResetSnapshotAttribute operation. The "output" return
  12673. // value can be used to capture response data after the request's "Send" method
  12674. // is called.
  12675. //
  12676. // See ResetSnapshotAttribute for usage and error information.
  12677. //
  12678. // Creating a request object using this method should be used when you want to inject
  12679. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12680. // access properties on the request object before or after sending the request. If
  12681. // you just want the service response, call the ResetSnapshotAttribute method directly
  12682. // instead.
  12683. //
  12684. // Note: You must call the "Send" method on the returned request object in order
  12685. // to execute the request.
  12686. //
  12687. // // Example sending a request using the ResetSnapshotAttributeRequest method.
  12688. // req, resp := client.ResetSnapshotAttributeRequest(params)
  12689. //
  12690. // err := req.Send()
  12691. // if err == nil { // resp is now filled
  12692. // fmt.Println(resp)
  12693. // }
  12694. //
  12695. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  12696. op := &request.Operation{
  12697. Name: opResetSnapshotAttribute,
  12698. HTTPMethod: "POST",
  12699. HTTPPath: "/",
  12700. }
  12701. if input == nil {
  12702. input = &ResetSnapshotAttributeInput{}
  12703. }
  12704. req = c.newRequest(op, input, output)
  12705. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12706. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12707. output = &ResetSnapshotAttributeOutput{}
  12708. req.Data = output
  12709. return
  12710. }
  12711. // ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  12712. //
  12713. // Resets permission settings for the specified snapshot.
  12714. //
  12715. // For more information on modifying snapshot permissions, see Sharing Snapshots
  12716. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  12717. // in the Amazon Elastic Compute Cloud User Guide.
  12718. //
  12719. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12720. // with awserr.Error's Code and Message methods to get detailed information about
  12721. // the error.
  12722. //
  12723. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12724. // API operation ResetSnapshotAttribute for usage and error information.
  12725. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  12726. req, out := c.ResetSnapshotAttributeRequest(input)
  12727. err := req.Send()
  12728. return out, err
  12729. }
  12730. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  12731. // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
  12732. // client's request for the RestoreAddressToClassic operation. The "output" return
  12733. // value can be used to capture response data after the request's "Send" method
  12734. // is called.
  12735. //
  12736. // See RestoreAddressToClassic for usage and error information.
  12737. //
  12738. // Creating a request object using this method should be used when you want to inject
  12739. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12740. // access properties on the request object before or after sending the request. If
  12741. // you just want the service response, call the RestoreAddressToClassic method directly
  12742. // instead.
  12743. //
  12744. // Note: You must call the "Send" method on the returned request object in order
  12745. // to execute the request.
  12746. //
  12747. // // Example sending a request using the RestoreAddressToClassicRequest method.
  12748. // req, resp := client.RestoreAddressToClassicRequest(params)
  12749. //
  12750. // err := req.Send()
  12751. // if err == nil { // resp is now filled
  12752. // fmt.Println(resp)
  12753. // }
  12754. //
  12755. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  12756. op := &request.Operation{
  12757. Name: opRestoreAddressToClassic,
  12758. HTTPMethod: "POST",
  12759. HTTPPath: "/",
  12760. }
  12761. if input == nil {
  12762. input = &RestoreAddressToClassicInput{}
  12763. }
  12764. req = c.newRequest(op, input, output)
  12765. output = &RestoreAddressToClassicOutput{}
  12766. req.Data = output
  12767. return
  12768. }
  12769. // RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
  12770. //
  12771. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  12772. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  12773. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  12774. // not be associated with an instance or network interface.
  12775. //
  12776. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12777. // with awserr.Error's Code and Message methods to get detailed information about
  12778. // the error.
  12779. //
  12780. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12781. // API operation RestoreAddressToClassic for usage and error information.
  12782. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  12783. req, out := c.RestoreAddressToClassicRequest(input)
  12784. err := req.Send()
  12785. return out, err
  12786. }
  12787. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  12788. // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  12789. // client's request for the RevokeSecurityGroupEgress operation. The "output" return
  12790. // value can be used to capture response data after the request's "Send" method
  12791. // is called.
  12792. //
  12793. // See RevokeSecurityGroupEgress for usage and error information.
  12794. //
  12795. // Creating a request object using this method should be used when you want to inject
  12796. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12797. // access properties on the request object before or after sending the request. If
  12798. // you just want the service response, call the RevokeSecurityGroupEgress method directly
  12799. // instead.
  12800. //
  12801. // Note: You must call the "Send" method on the returned request object in order
  12802. // to execute the request.
  12803. //
  12804. // // Example sending a request using the RevokeSecurityGroupEgressRequest method.
  12805. // req, resp := client.RevokeSecurityGroupEgressRequest(params)
  12806. //
  12807. // err := req.Send()
  12808. // if err == nil { // resp is now filled
  12809. // fmt.Println(resp)
  12810. // }
  12811. //
  12812. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  12813. op := &request.Operation{
  12814. Name: opRevokeSecurityGroupEgress,
  12815. HTTPMethod: "POST",
  12816. HTTPPath: "/",
  12817. }
  12818. if input == nil {
  12819. input = &RevokeSecurityGroupEgressInput{}
  12820. }
  12821. req = c.newRequest(op, input, output)
  12822. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12823. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12824. output = &RevokeSecurityGroupEgressOutput{}
  12825. req.Data = output
  12826. return
  12827. }
  12828. // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  12829. //
  12830. // [EC2-VPC only] Removes one or more egress rules from a security group for
  12831. // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic.
  12832. // The values that you specify in the revoke request (for example, ports) must
  12833. // match the existing rule's values for the rule to be revoked.
  12834. //
  12835. // Each rule consists of the protocol and the CIDR range or source security
  12836. // group. For the TCP and UDP protocols, you must also specify the destination
  12837. // port or range of ports. For the ICMP protocol, you must also specify the
  12838. // ICMP type and code.
  12839. //
  12840. // Rule changes are propagated to instances within the security group as quickly
  12841. // as possible. However, a small delay might occur.
  12842. //
  12843. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12844. // with awserr.Error's Code and Message methods to get detailed information about
  12845. // the error.
  12846. //
  12847. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12848. // API operation RevokeSecurityGroupEgress for usage and error information.
  12849. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  12850. req, out := c.RevokeSecurityGroupEgressRequest(input)
  12851. err := req.Send()
  12852. return out, err
  12853. }
  12854. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  12855. // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  12856. // client's request for the RevokeSecurityGroupIngress operation. The "output" return
  12857. // value can be used to capture response data after the request's "Send" method
  12858. // is called.
  12859. //
  12860. // See RevokeSecurityGroupIngress for usage and error information.
  12861. //
  12862. // Creating a request object using this method should be used when you want to inject
  12863. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12864. // access properties on the request object before or after sending the request. If
  12865. // you just want the service response, call the RevokeSecurityGroupIngress method directly
  12866. // instead.
  12867. //
  12868. // Note: You must call the "Send" method on the returned request object in order
  12869. // to execute the request.
  12870. //
  12871. // // Example sending a request using the RevokeSecurityGroupIngressRequest method.
  12872. // req, resp := client.RevokeSecurityGroupIngressRequest(params)
  12873. //
  12874. // err := req.Send()
  12875. // if err == nil { // resp is now filled
  12876. // fmt.Println(resp)
  12877. // }
  12878. //
  12879. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  12880. op := &request.Operation{
  12881. Name: opRevokeSecurityGroupIngress,
  12882. HTTPMethod: "POST",
  12883. HTTPPath: "/",
  12884. }
  12885. if input == nil {
  12886. input = &RevokeSecurityGroupIngressInput{}
  12887. }
  12888. req = c.newRequest(op, input, output)
  12889. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12890. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12891. output = &RevokeSecurityGroupIngressOutput{}
  12892. req.Data = output
  12893. return
  12894. }
  12895. // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  12896. //
  12897. // Removes one or more ingress rules from a security group. The values that
  12898. // you specify in the revoke request (for example, ports) must match the existing
  12899. // rule's values for the rule to be removed.
  12900. //
  12901. // Each rule consists of the protocol and the CIDR range or source security
  12902. // group. For the TCP and UDP protocols, you must also specify the destination
  12903. // port or range of ports. For the ICMP protocol, you must also specify the
  12904. // ICMP type and code.
  12905. //
  12906. // Rule changes are propagated to instances within the security group as quickly
  12907. // as possible. However, a small delay might occur.
  12908. //
  12909. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12910. // with awserr.Error's Code and Message methods to get detailed information about
  12911. // the error.
  12912. //
  12913. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12914. // API operation RevokeSecurityGroupIngress for usage and error information.
  12915. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  12916. req, out := c.RevokeSecurityGroupIngressRequest(input)
  12917. err := req.Send()
  12918. return out, err
  12919. }
  12920. const opRunInstances = "RunInstances"
  12921. // RunInstancesRequest generates a "aws/request.Request" representing the
  12922. // client's request for the RunInstances operation. The "output" return
  12923. // value can be used to capture response data after the request's "Send" method
  12924. // is called.
  12925. //
  12926. // See RunInstances for usage and error information.
  12927. //
  12928. // Creating a request object using this method should be used when you want to inject
  12929. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12930. // access properties on the request object before or after sending the request. If
  12931. // you just want the service response, call the RunInstances method directly
  12932. // instead.
  12933. //
  12934. // Note: You must call the "Send" method on the returned request object in order
  12935. // to execute the request.
  12936. //
  12937. // // Example sending a request using the RunInstancesRequest method.
  12938. // req, resp := client.RunInstancesRequest(params)
  12939. //
  12940. // err := req.Send()
  12941. // if err == nil { // resp is now filled
  12942. // fmt.Println(resp)
  12943. // }
  12944. //
  12945. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  12946. op := &request.Operation{
  12947. Name: opRunInstances,
  12948. HTTPMethod: "POST",
  12949. HTTPPath: "/",
  12950. }
  12951. if input == nil {
  12952. input = &RunInstancesInput{}
  12953. }
  12954. req = c.newRequest(op, input, output)
  12955. output = &Reservation{}
  12956. req.Data = output
  12957. return
  12958. }
  12959. // RunInstances API operation for Amazon Elastic Compute Cloud.
  12960. //
  12961. // Launches the specified number of instances using an AMI for which you have
  12962. // permissions.
  12963. //
  12964. // When you launch an instance, it enters the pending state. After the instance
  12965. // is ready for you, it enters the running state. To check the state of your
  12966. // instance, call DescribeInstances.
  12967. //
  12968. // To ensure faster instance launches, break up large requests into smaller
  12969. // batches. For example, create five separate launch requests for 100 instances
  12970. // each instead of one launch request for 500 instances.
  12971. //
  12972. // To tag your instance, ensure that it is running as CreateTags requires a
  12973. // resource ID. For more information about tagging, see Tagging Your Amazon
  12974. // EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  12975. //
  12976. // If you don't specify a security group when launching an instance, Amazon
  12977. // EC2 uses the default security group. For more information, see Security Groups
  12978. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  12979. // in the Amazon Elastic Compute Cloud User Guide.
  12980. //
  12981. // [EC2-VPC only accounts] If you don't specify a subnet in the request, we
  12982. // choose a default subnet from your default VPC for you.
  12983. //
  12984. // [EC2-Classic accounts] If you're launching into EC2-Classic and you don't
  12985. // specify an Availability Zone, we choose one for you.
  12986. //
  12987. // Linux instances have access to the public key of the key pair at boot. You
  12988. // can use this key to provide secure access to the instance. Amazon EC2 public
  12989. // images use this feature to provide secure access without passwords. For more
  12990. // information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  12991. // in the Amazon Elastic Compute Cloud User Guide.
  12992. //
  12993. // You can provide optional user data when launching an instance. For more information,
  12994. // see Instance Metadata (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html)
  12995. // in the Amazon Elastic Compute Cloud User Guide.
  12996. //
  12997. // If any of the AMIs have a product code attached for which the user has not
  12998. // subscribed, RunInstances fails.
  12999. //
  13000. // Some instance types can only be launched into a VPC. If you do not have a
  13001. // default VPC, or if you do not specify a subnet ID in the request, RunInstances
  13002. // fails. For more information, see Instance Types Available Only in a VPC (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types).
  13003. //
  13004. // For more information about troubleshooting, see What To Do If An Instance
  13005. // Immediately Terminates (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  13006. // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  13007. // in the Amazon Elastic Compute Cloud User Guide.
  13008. //
  13009. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13010. // with awserr.Error's Code and Message methods to get detailed information about
  13011. // the error.
  13012. //
  13013. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13014. // API operation RunInstances for usage and error information.
  13015. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  13016. req, out := c.RunInstancesRequest(input)
  13017. err := req.Send()
  13018. return out, err
  13019. }
  13020. const opRunScheduledInstances = "RunScheduledInstances"
  13021. // RunScheduledInstancesRequest generates a "aws/request.Request" representing the
  13022. // client's request for the RunScheduledInstances operation. The "output" return
  13023. // value can be used to capture response data after the request's "Send" method
  13024. // is called.
  13025. //
  13026. // See RunScheduledInstances for usage and error information.
  13027. //
  13028. // Creating a request object using this method should be used when you want to inject
  13029. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13030. // access properties on the request object before or after sending the request. If
  13031. // you just want the service response, call the RunScheduledInstances method directly
  13032. // instead.
  13033. //
  13034. // Note: You must call the "Send" method on the returned request object in order
  13035. // to execute the request.
  13036. //
  13037. // // Example sending a request using the RunScheduledInstancesRequest method.
  13038. // req, resp := client.RunScheduledInstancesRequest(params)
  13039. //
  13040. // err := req.Send()
  13041. // if err == nil { // resp is now filled
  13042. // fmt.Println(resp)
  13043. // }
  13044. //
  13045. func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
  13046. op := &request.Operation{
  13047. Name: opRunScheduledInstances,
  13048. HTTPMethod: "POST",
  13049. HTTPPath: "/",
  13050. }
  13051. if input == nil {
  13052. input = &RunScheduledInstancesInput{}
  13053. }
  13054. req = c.newRequest(op, input, output)
  13055. output = &RunScheduledInstancesOutput{}
  13056. req.Data = output
  13057. return
  13058. }
  13059. // RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
  13060. //
  13061. // Launches the specified Scheduled Instances.
  13062. //
  13063. // Before you can launch a Scheduled Instance, you must purchase it and obtain
  13064. // an identifier using PurchaseScheduledInstances.
  13065. //
  13066. // You must launch a Scheduled Instance during its scheduled time period. You
  13067. // can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
  13068. // If you terminate a Scheduled Instance before the current scheduled time period
  13069. // ends, you can launch it again after a few minutes. For more information,
  13070. // see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
  13071. // in the Amazon Elastic Compute Cloud User Guide.
  13072. //
  13073. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13074. // with awserr.Error's Code and Message methods to get detailed information about
  13075. // the error.
  13076. //
  13077. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13078. // API operation RunScheduledInstances for usage and error information.
  13079. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
  13080. req, out := c.RunScheduledInstancesRequest(input)
  13081. err := req.Send()
  13082. return out, err
  13083. }
  13084. const opStartInstances = "StartInstances"
  13085. // StartInstancesRequest generates a "aws/request.Request" representing the
  13086. // client's request for the StartInstances operation. The "output" return
  13087. // value can be used to capture response data after the request's "Send" method
  13088. // is called.
  13089. //
  13090. // See StartInstances for usage and error information.
  13091. //
  13092. // Creating a request object using this method should be used when you want to inject
  13093. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13094. // access properties on the request object before or after sending the request. If
  13095. // you just want the service response, call the StartInstances method directly
  13096. // instead.
  13097. //
  13098. // Note: You must call the "Send" method on the returned request object in order
  13099. // to execute the request.
  13100. //
  13101. // // Example sending a request using the StartInstancesRequest method.
  13102. // req, resp := client.StartInstancesRequest(params)
  13103. //
  13104. // err := req.Send()
  13105. // if err == nil { // resp is now filled
  13106. // fmt.Println(resp)
  13107. // }
  13108. //
  13109. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  13110. op := &request.Operation{
  13111. Name: opStartInstances,
  13112. HTTPMethod: "POST",
  13113. HTTPPath: "/",
  13114. }
  13115. if input == nil {
  13116. input = &StartInstancesInput{}
  13117. }
  13118. req = c.newRequest(op, input, output)
  13119. output = &StartInstancesOutput{}
  13120. req.Data = output
  13121. return
  13122. }
  13123. // StartInstances API operation for Amazon Elastic Compute Cloud.
  13124. //
  13125. // Starts an Amazon EBS-backed AMI that you've previously stopped.
  13126. //
  13127. // Instances that use Amazon EBS volumes as their root devices can be quickly
  13128. // stopped and started. When an instance is stopped, the compute resources are
  13129. // released and you are not billed for hourly instance usage. However, your
  13130. // root partition Amazon EBS volume remains, continues to persist your data,
  13131. // and you are charged for Amazon EBS volume usage. You can restart your instance
  13132. // at any time. Each time you transition an instance from stopped to started,
  13133. // Amazon EC2 charges a full instance hour, even if transitions happen multiple
  13134. // times within a single hour.
  13135. //
  13136. // Before stopping an instance, make sure it is in a state from which it can
  13137. // be restarted. Stopping an instance does not preserve data stored in RAM.
  13138. //
  13139. // Performing this operation on an instance that uses an instance store as its
  13140. // root device returns an error.
  13141. //
  13142. // For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  13143. // in the Amazon Elastic Compute Cloud User Guide.
  13144. //
  13145. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13146. // with awserr.Error's Code and Message methods to get detailed information about
  13147. // the error.
  13148. //
  13149. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13150. // API operation StartInstances for usage and error information.
  13151. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  13152. req, out := c.StartInstancesRequest(input)
  13153. err := req.Send()
  13154. return out, err
  13155. }
  13156. const opStopInstances = "StopInstances"
  13157. // StopInstancesRequest generates a "aws/request.Request" representing the
  13158. // client's request for the StopInstances operation. The "output" return
  13159. // value can be used to capture response data after the request's "Send" method
  13160. // is called.
  13161. //
  13162. // See StopInstances for usage and error information.
  13163. //
  13164. // Creating a request object using this method should be used when you want to inject
  13165. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13166. // access properties on the request object before or after sending the request. If
  13167. // you just want the service response, call the StopInstances method directly
  13168. // instead.
  13169. //
  13170. // Note: You must call the "Send" method on the returned request object in order
  13171. // to execute the request.
  13172. //
  13173. // // Example sending a request using the StopInstancesRequest method.
  13174. // req, resp := client.StopInstancesRequest(params)
  13175. //
  13176. // err := req.Send()
  13177. // if err == nil { // resp is now filled
  13178. // fmt.Println(resp)
  13179. // }
  13180. //
  13181. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  13182. op := &request.Operation{
  13183. Name: opStopInstances,
  13184. HTTPMethod: "POST",
  13185. HTTPPath: "/",
  13186. }
  13187. if input == nil {
  13188. input = &StopInstancesInput{}
  13189. }
  13190. req = c.newRequest(op, input, output)
  13191. output = &StopInstancesOutput{}
  13192. req.Data = output
  13193. return
  13194. }
  13195. // StopInstances API operation for Amazon Elastic Compute Cloud.
  13196. //
  13197. // Stops an Amazon EBS-backed instance.
  13198. //
  13199. // We don't charge hourly usage for a stopped instance, or data transfer fees;
  13200. // however, your root partition Amazon EBS volume remains, continues to persist
  13201. // your data, and you are charged for Amazon EBS volume usage. Each time you
  13202. // transition an instance from stopped to started, Amazon EC2 charges a full
  13203. // instance hour, even if transitions happen multiple times within a single
  13204. // hour.
  13205. //
  13206. // You can't start or stop Spot instances, and you can't stop instance store-backed
  13207. // instances.
  13208. //
  13209. // When you stop an instance, we shut it down. You can restart your instance
  13210. // at any time. Before stopping an instance, make sure it is in a state from
  13211. // which it can be restarted. Stopping an instance does not preserve data stored
  13212. // in RAM.
  13213. //
  13214. // Stopping an instance is different to rebooting or terminating it. For example,
  13215. // when you stop an instance, the root device and any other devices attached
  13216. // to the instance persist. When you terminate an instance, the root device
  13217. // and any other devices attached during the instance launch are automatically
  13218. // deleted. For more information about the differences between rebooting, stopping,
  13219. // and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  13220. // in the Amazon Elastic Compute Cloud User Guide.
  13221. //
  13222. // When you stop an instance, we attempt to shut it down forcibly after a short
  13223. // while. If your instance appears stuck in the stopping state after a period
  13224. // of time, there may be an issue with the underlying host computer. For more
  13225. // information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  13226. // in the Amazon Elastic Compute Cloud User Guide.
  13227. //
  13228. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13229. // with awserr.Error's Code and Message methods to get detailed information about
  13230. // the error.
  13231. //
  13232. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13233. // API operation StopInstances for usage and error information.
  13234. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  13235. req, out := c.StopInstancesRequest(input)
  13236. err := req.Send()
  13237. return out, err
  13238. }
  13239. const opTerminateInstances = "TerminateInstances"
  13240. // TerminateInstancesRequest generates a "aws/request.Request" representing the
  13241. // client's request for the TerminateInstances operation. The "output" return
  13242. // value can be used to capture response data after the request's "Send" method
  13243. // is called.
  13244. //
  13245. // See TerminateInstances for usage and error information.
  13246. //
  13247. // Creating a request object using this method should be used when you want to inject
  13248. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13249. // access properties on the request object before or after sending the request. If
  13250. // you just want the service response, call the TerminateInstances method directly
  13251. // instead.
  13252. //
  13253. // Note: You must call the "Send" method on the returned request object in order
  13254. // to execute the request.
  13255. //
  13256. // // Example sending a request using the TerminateInstancesRequest method.
  13257. // req, resp := client.TerminateInstancesRequest(params)
  13258. //
  13259. // err := req.Send()
  13260. // if err == nil { // resp is now filled
  13261. // fmt.Println(resp)
  13262. // }
  13263. //
  13264. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  13265. op := &request.Operation{
  13266. Name: opTerminateInstances,
  13267. HTTPMethod: "POST",
  13268. HTTPPath: "/",
  13269. }
  13270. if input == nil {
  13271. input = &TerminateInstancesInput{}
  13272. }
  13273. req = c.newRequest(op, input, output)
  13274. output = &TerminateInstancesOutput{}
  13275. req.Data = output
  13276. return
  13277. }
  13278. // TerminateInstances API operation for Amazon Elastic Compute Cloud.
  13279. //
  13280. // Shuts down one or more instances. This operation is idempotent; if you terminate
  13281. // an instance more than once, each call succeeds.
  13282. //
  13283. // If you specify multiple instances and the request fails (for example, because
  13284. // of a single incorrect instance ID), none of the instances are terminated.
  13285. //
  13286. // Terminated instances remain visible after termination (for approximately
  13287. // one hour).
  13288. //
  13289. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  13290. // instance launched. Volumes attached after instance launch continue running.
  13291. //
  13292. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  13293. // instance store-backed instances. What happens to an instance differs if you
  13294. // stop it or terminate it. For example, when you stop an instance, the root
  13295. // device and any other devices attached to the instance persist. When you terminate
  13296. // an instance, any attached EBS volumes with the DeleteOnTermination block
  13297. // device mapping parameter set to true are automatically deleted. For more
  13298. // information about the differences between stopping and terminating instances,
  13299. // see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  13300. // in the Amazon Elastic Compute Cloud User Guide.
  13301. //
  13302. // For more information about troubleshooting, see Troubleshooting Terminating
  13303. // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  13304. // in the Amazon Elastic Compute Cloud User Guide.
  13305. //
  13306. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13307. // with awserr.Error's Code and Message methods to get detailed information about
  13308. // the error.
  13309. //
  13310. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13311. // API operation TerminateInstances for usage and error information.
  13312. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  13313. req, out := c.TerminateInstancesRequest(input)
  13314. err := req.Send()
  13315. return out, err
  13316. }
  13317. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  13318. // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  13319. // client's request for the UnassignPrivateIpAddresses operation. The "output" return
  13320. // value can be used to capture response data after the request's "Send" method
  13321. // is called.
  13322. //
  13323. // See UnassignPrivateIpAddresses for usage and error information.
  13324. //
  13325. // Creating a request object using this method should be used when you want to inject
  13326. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13327. // access properties on the request object before or after sending the request. If
  13328. // you just want the service response, call the UnassignPrivateIpAddresses method directly
  13329. // instead.
  13330. //
  13331. // Note: You must call the "Send" method on the returned request object in order
  13332. // to execute the request.
  13333. //
  13334. // // Example sending a request using the UnassignPrivateIpAddressesRequest method.
  13335. // req, resp := client.UnassignPrivateIpAddressesRequest(params)
  13336. //
  13337. // err := req.Send()
  13338. // if err == nil { // resp is now filled
  13339. // fmt.Println(resp)
  13340. // }
  13341. //
  13342. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  13343. op := &request.Operation{
  13344. Name: opUnassignPrivateIpAddresses,
  13345. HTTPMethod: "POST",
  13346. HTTPPath: "/",
  13347. }
  13348. if input == nil {
  13349. input = &UnassignPrivateIpAddressesInput{}
  13350. }
  13351. req = c.newRequest(op, input, output)
  13352. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13353. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13354. output = &UnassignPrivateIpAddressesOutput{}
  13355. req.Data = output
  13356. return
  13357. }
  13358. // UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  13359. //
  13360. // Unassigns one or more secondary private IP addresses from a network interface.
  13361. //
  13362. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13363. // with awserr.Error's Code and Message methods to get detailed information about
  13364. // the error.
  13365. //
  13366. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13367. // API operation UnassignPrivateIpAddresses for usage and error information.
  13368. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  13369. req, out := c.UnassignPrivateIpAddressesRequest(input)
  13370. err := req.Send()
  13371. return out, err
  13372. }
  13373. const opUnmonitorInstances = "UnmonitorInstances"
  13374. // UnmonitorInstancesRequest generates a "aws/request.Request" representing the
  13375. // client's request for the UnmonitorInstances operation. The "output" return
  13376. // value can be used to capture response data after the request's "Send" method
  13377. // is called.
  13378. //
  13379. // See UnmonitorInstances for usage and error information.
  13380. //
  13381. // Creating a request object using this method should be used when you want to inject
  13382. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13383. // access properties on the request object before or after sending the request. If
  13384. // you just want the service response, call the UnmonitorInstances method directly
  13385. // instead.
  13386. //
  13387. // Note: You must call the "Send" method on the returned request object in order
  13388. // to execute the request.
  13389. //
  13390. // // Example sending a request using the UnmonitorInstancesRequest method.
  13391. // req, resp := client.UnmonitorInstancesRequest(params)
  13392. //
  13393. // err := req.Send()
  13394. // if err == nil { // resp is now filled
  13395. // fmt.Println(resp)
  13396. // }
  13397. //
  13398. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  13399. op := &request.Operation{
  13400. Name: opUnmonitorInstances,
  13401. HTTPMethod: "POST",
  13402. HTTPPath: "/",
  13403. }
  13404. if input == nil {
  13405. input = &UnmonitorInstancesInput{}
  13406. }
  13407. req = c.newRequest(op, input, output)
  13408. output = &UnmonitorInstancesOutput{}
  13409. req.Data = output
  13410. return
  13411. }
  13412. // UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
  13413. //
  13414. // Disables monitoring for a running instance. For more information about monitoring
  13415. // instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  13416. // in the Amazon Elastic Compute Cloud User Guide.
  13417. //
  13418. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13419. // with awserr.Error's Code and Message methods to get detailed information about
  13420. // the error.
  13421. //
  13422. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13423. // API operation UnmonitorInstances for usage and error information.
  13424. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  13425. req, out := c.UnmonitorInstancesRequest(input)
  13426. err := req.Send()
  13427. return out, err
  13428. }
  13429. // Contains the parameters for accepting the quote.
  13430. type AcceptReservedInstancesExchangeQuoteInput struct {
  13431. _ struct{} `type:"structure"`
  13432. // Checks whether you have the required permissions for the action, without
  13433. // actually making the request, and provides an error response. If you have
  13434. // the required permissions, the error response is DryRunOperation. Otherwise,
  13435. // it is UnauthorizedOperation.
  13436. DryRun *bool `type:"boolean"`
  13437. // The IDs of the Convertible Reserved Instances that you want to exchange for
  13438. // other Convertible Reserved Instances of the same or higher value.
  13439. //
  13440. // ReservedInstanceIds is a required field
  13441. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  13442. // The configurations of the Convertible Reserved Instance offerings you are
  13443. // purchasing in this exchange.
  13444. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  13445. }
  13446. // String returns the string representation
  13447. func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
  13448. return awsutil.Prettify(s)
  13449. }
  13450. // GoString returns the string representation
  13451. func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
  13452. return s.String()
  13453. }
  13454. // Validate inspects the fields of the type to determine if they are valid.
  13455. func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
  13456. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
  13457. if s.ReservedInstanceIds == nil {
  13458. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  13459. }
  13460. if s.TargetConfigurations != nil {
  13461. for i, v := range s.TargetConfigurations {
  13462. if v == nil {
  13463. continue
  13464. }
  13465. if err := v.Validate(); err != nil {
  13466. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  13467. }
  13468. }
  13469. }
  13470. if invalidParams.Len() > 0 {
  13471. return invalidParams
  13472. }
  13473. return nil
  13474. }
  13475. // SetDryRun sets the DryRun field's value.
  13476. func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
  13477. s.DryRun = &v
  13478. return s
  13479. }
  13480. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  13481. func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
  13482. s.ReservedInstanceIds = v
  13483. return s
  13484. }
  13485. // SetTargetConfigurations sets the TargetConfigurations field's value.
  13486. func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
  13487. s.TargetConfigurations = v
  13488. return s
  13489. }
  13490. // The result of the exchange and whether it was successful.
  13491. type AcceptReservedInstancesExchangeQuoteOutput struct {
  13492. _ struct{} `type:"structure"`
  13493. // The ID of the successful exchange.
  13494. ExchangeId *string `locationName:"exchangeId" type:"string"`
  13495. }
  13496. // String returns the string representation
  13497. func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
  13498. return awsutil.Prettify(s)
  13499. }
  13500. // GoString returns the string representation
  13501. func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
  13502. return s.String()
  13503. }
  13504. // SetExchangeId sets the ExchangeId field's value.
  13505. func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
  13506. s.ExchangeId = &v
  13507. return s
  13508. }
  13509. // Contains the parameters for AcceptVpcPeeringConnection.
  13510. type AcceptVpcPeeringConnectionInput struct {
  13511. _ struct{} `type:"structure"`
  13512. // Checks whether you have the required permissions for the action, without
  13513. // actually making the request, and provides an error response. If you have
  13514. // the required permissions, the error response is DryRunOperation. Otherwise,
  13515. // it is UnauthorizedOperation.
  13516. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13517. // The ID of the VPC peering connection.
  13518. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  13519. }
  13520. // String returns the string representation
  13521. func (s AcceptVpcPeeringConnectionInput) String() string {
  13522. return awsutil.Prettify(s)
  13523. }
  13524. // GoString returns the string representation
  13525. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  13526. return s.String()
  13527. }
  13528. // SetDryRun sets the DryRun field's value.
  13529. func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
  13530. s.DryRun = &v
  13531. return s
  13532. }
  13533. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  13534. func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
  13535. s.VpcPeeringConnectionId = &v
  13536. return s
  13537. }
  13538. // Contains the output of AcceptVpcPeeringConnection.
  13539. type AcceptVpcPeeringConnectionOutput struct {
  13540. _ struct{} `type:"structure"`
  13541. // Information about the VPC peering connection.
  13542. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  13543. }
  13544. // String returns the string representation
  13545. func (s AcceptVpcPeeringConnectionOutput) String() string {
  13546. return awsutil.Prettify(s)
  13547. }
  13548. // GoString returns the string representation
  13549. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  13550. return s.String()
  13551. }
  13552. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  13553. func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
  13554. s.VpcPeeringConnection = v
  13555. return s
  13556. }
  13557. // Describes an account attribute.
  13558. type AccountAttribute struct {
  13559. _ struct{} `type:"structure"`
  13560. // The name of the account attribute.
  13561. AttributeName *string `locationName:"attributeName" type:"string"`
  13562. // One or more values for the account attribute.
  13563. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  13564. }
  13565. // String returns the string representation
  13566. func (s AccountAttribute) String() string {
  13567. return awsutil.Prettify(s)
  13568. }
  13569. // GoString returns the string representation
  13570. func (s AccountAttribute) GoString() string {
  13571. return s.String()
  13572. }
  13573. // SetAttributeName sets the AttributeName field's value.
  13574. func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
  13575. s.AttributeName = &v
  13576. return s
  13577. }
  13578. // SetAttributeValues sets the AttributeValues field's value.
  13579. func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
  13580. s.AttributeValues = v
  13581. return s
  13582. }
  13583. // Describes a value of an account attribute.
  13584. type AccountAttributeValue struct {
  13585. _ struct{} `type:"structure"`
  13586. // The value of the attribute.
  13587. AttributeValue *string `locationName:"attributeValue" type:"string"`
  13588. }
  13589. // String returns the string representation
  13590. func (s AccountAttributeValue) String() string {
  13591. return awsutil.Prettify(s)
  13592. }
  13593. // GoString returns the string representation
  13594. func (s AccountAttributeValue) GoString() string {
  13595. return s.String()
  13596. }
  13597. // SetAttributeValue sets the AttributeValue field's value.
  13598. func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
  13599. s.AttributeValue = &v
  13600. return s
  13601. }
  13602. // Describes a running instance in a Spot fleet.
  13603. type ActiveInstance struct {
  13604. _ struct{} `type:"structure"`
  13605. // The ID of the instance.
  13606. InstanceId *string `locationName:"instanceId" type:"string"`
  13607. // The instance type.
  13608. InstanceType *string `locationName:"instanceType" type:"string"`
  13609. // The ID of the Spot instance request.
  13610. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  13611. }
  13612. // String returns the string representation
  13613. func (s ActiveInstance) String() string {
  13614. return awsutil.Prettify(s)
  13615. }
  13616. // GoString returns the string representation
  13617. func (s ActiveInstance) GoString() string {
  13618. return s.String()
  13619. }
  13620. // SetInstanceId sets the InstanceId field's value.
  13621. func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
  13622. s.InstanceId = &v
  13623. return s
  13624. }
  13625. // SetInstanceType sets the InstanceType field's value.
  13626. func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
  13627. s.InstanceType = &v
  13628. return s
  13629. }
  13630. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  13631. func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
  13632. s.SpotInstanceRequestId = &v
  13633. return s
  13634. }
  13635. // Describes an Elastic IP address.
  13636. type Address struct {
  13637. _ struct{} `type:"structure"`
  13638. // The ID representing the allocation of the address for use with EC2-VPC.
  13639. AllocationId *string `locationName:"allocationId" type:"string"`
  13640. // The ID representing the association of the address with an instance in a
  13641. // VPC.
  13642. AssociationId *string `locationName:"associationId" type:"string"`
  13643. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  13644. // (standard) or instances in a VPC (vpc).
  13645. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  13646. // The ID of the instance that the address is associated with (if any).
  13647. InstanceId *string `locationName:"instanceId" type:"string"`
  13648. // The ID of the network interface.
  13649. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  13650. // The ID of the AWS account that owns the network interface.
  13651. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  13652. // The private IP address associated with the Elastic IP address.
  13653. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  13654. // The Elastic IP address.
  13655. PublicIp *string `locationName:"publicIp" type:"string"`
  13656. }
  13657. // String returns the string representation
  13658. func (s Address) String() string {
  13659. return awsutil.Prettify(s)
  13660. }
  13661. // GoString returns the string representation
  13662. func (s Address) GoString() string {
  13663. return s.String()
  13664. }
  13665. // SetAllocationId sets the AllocationId field's value.
  13666. func (s *Address) SetAllocationId(v string) *Address {
  13667. s.AllocationId = &v
  13668. return s
  13669. }
  13670. // SetAssociationId sets the AssociationId field's value.
  13671. func (s *Address) SetAssociationId(v string) *Address {
  13672. s.AssociationId = &v
  13673. return s
  13674. }
  13675. // SetDomain sets the Domain field's value.
  13676. func (s *Address) SetDomain(v string) *Address {
  13677. s.Domain = &v
  13678. return s
  13679. }
  13680. // SetInstanceId sets the InstanceId field's value.
  13681. func (s *Address) SetInstanceId(v string) *Address {
  13682. s.InstanceId = &v
  13683. return s
  13684. }
  13685. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  13686. func (s *Address) SetNetworkInterfaceId(v string) *Address {
  13687. s.NetworkInterfaceId = &v
  13688. return s
  13689. }
  13690. // SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
  13691. func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
  13692. s.NetworkInterfaceOwnerId = &v
  13693. return s
  13694. }
  13695. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  13696. func (s *Address) SetPrivateIpAddress(v string) *Address {
  13697. s.PrivateIpAddress = &v
  13698. return s
  13699. }
  13700. // SetPublicIp sets the PublicIp field's value.
  13701. func (s *Address) SetPublicIp(v string) *Address {
  13702. s.PublicIp = &v
  13703. return s
  13704. }
  13705. // Contains the parameters for AllocateAddress.
  13706. type AllocateAddressInput struct {
  13707. _ struct{} `type:"structure"`
  13708. // Set to vpc to allocate the address for use with instances in a VPC.
  13709. //
  13710. // Default: The address is for use with instances in EC2-Classic.
  13711. Domain *string `type:"string" enum:"DomainType"`
  13712. // Checks whether you have the required permissions for the action, without
  13713. // actually making the request, and provides an error response. If you have
  13714. // the required permissions, the error response is DryRunOperation. Otherwise,
  13715. // it is UnauthorizedOperation.
  13716. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13717. }
  13718. // String returns the string representation
  13719. func (s AllocateAddressInput) String() string {
  13720. return awsutil.Prettify(s)
  13721. }
  13722. // GoString returns the string representation
  13723. func (s AllocateAddressInput) GoString() string {
  13724. return s.String()
  13725. }
  13726. // SetDomain sets the Domain field's value.
  13727. func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
  13728. s.Domain = &v
  13729. return s
  13730. }
  13731. // SetDryRun sets the DryRun field's value.
  13732. func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
  13733. s.DryRun = &v
  13734. return s
  13735. }
  13736. // Contains the output of AllocateAddress.
  13737. type AllocateAddressOutput struct {
  13738. _ struct{} `type:"structure"`
  13739. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  13740. // IP address for use with instances in a VPC.
  13741. AllocationId *string `locationName:"allocationId" type:"string"`
  13742. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  13743. // (standard) or instances in a VPC (vpc).
  13744. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  13745. // The Elastic IP address.
  13746. PublicIp *string `locationName:"publicIp" type:"string"`
  13747. }
  13748. // String returns the string representation
  13749. func (s AllocateAddressOutput) String() string {
  13750. return awsutil.Prettify(s)
  13751. }
  13752. // GoString returns the string representation
  13753. func (s AllocateAddressOutput) GoString() string {
  13754. return s.String()
  13755. }
  13756. // SetAllocationId sets the AllocationId field's value.
  13757. func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
  13758. s.AllocationId = &v
  13759. return s
  13760. }
  13761. // SetDomain sets the Domain field's value.
  13762. func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
  13763. s.Domain = &v
  13764. return s
  13765. }
  13766. // SetPublicIp sets the PublicIp field's value.
  13767. func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
  13768. s.PublicIp = &v
  13769. return s
  13770. }
  13771. // Contains the parameters for AllocateHosts.
  13772. type AllocateHostsInput struct {
  13773. _ struct{} `type:"structure"`
  13774. // This is enabled by default. This property allows instances to be automatically
  13775. // placed onto available Dedicated Hosts, when you are launching instances without
  13776. // specifying a host ID.
  13777. //
  13778. // Default: Enabled
  13779. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  13780. // The Availability Zone for the Dedicated Hosts.
  13781. //
  13782. // AvailabilityZone is a required field
  13783. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  13784. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  13785. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  13786. // in the Amazon Elastic Compute Cloud User Guide.
  13787. ClientToken *string `locationName:"clientToken" type:"string"`
  13788. // Specify the instance type that you want your Dedicated Hosts to be configured
  13789. // for. When you specify the instance type, that is the only instance type that
  13790. // you can launch onto that host.
  13791. //
  13792. // InstanceType is a required field
  13793. InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
  13794. // The number of Dedicated Hosts you want to allocate to your account with these
  13795. // parameters.
  13796. //
  13797. // Quantity is a required field
  13798. Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
  13799. }
  13800. // String returns the string representation
  13801. func (s AllocateHostsInput) String() string {
  13802. return awsutil.Prettify(s)
  13803. }
  13804. // GoString returns the string representation
  13805. func (s AllocateHostsInput) GoString() string {
  13806. return s.String()
  13807. }
  13808. // Validate inspects the fields of the type to determine if they are valid.
  13809. func (s *AllocateHostsInput) Validate() error {
  13810. invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
  13811. if s.AvailabilityZone == nil {
  13812. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  13813. }
  13814. if s.InstanceType == nil {
  13815. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  13816. }
  13817. if s.Quantity == nil {
  13818. invalidParams.Add(request.NewErrParamRequired("Quantity"))
  13819. }
  13820. if invalidParams.Len() > 0 {
  13821. return invalidParams
  13822. }
  13823. return nil
  13824. }
  13825. // SetAutoPlacement sets the AutoPlacement field's value.
  13826. func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
  13827. s.AutoPlacement = &v
  13828. return s
  13829. }
  13830. // SetAvailabilityZone sets the AvailabilityZone field's value.
  13831. func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
  13832. s.AvailabilityZone = &v
  13833. return s
  13834. }
  13835. // SetClientToken sets the ClientToken field's value.
  13836. func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
  13837. s.ClientToken = &v
  13838. return s
  13839. }
  13840. // SetInstanceType sets the InstanceType field's value.
  13841. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
  13842. s.InstanceType = &v
  13843. return s
  13844. }
  13845. // SetQuantity sets the Quantity field's value.
  13846. func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
  13847. s.Quantity = &v
  13848. return s
  13849. }
  13850. // Contains the output of AllocateHosts.
  13851. type AllocateHostsOutput struct {
  13852. _ struct{} `type:"structure"`
  13853. // The ID of the allocated Dedicated Host. This is used when you want to launch
  13854. // an instance onto a specific host.
  13855. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  13856. }
  13857. // String returns the string representation
  13858. func (s AllocateHostsOutput) String() string {
  13859. return awsutil.Prettify(s)
  13860. }
  13861. // GoString returns the string representation
  13862. func (s AllocateHostsOutput) GoString() string {
  13863. return s.String()
  13864. }
  13865. // SetHostIds sets the HostIds field's value.
  13866. func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
  13867. s.HostIds = v
  13868. return s
  13869. }
  13870. // Contains the parameters for AssignPrivateIpAddresses.
  13871. type AssignPrivateIpAddressesInput struct {
  13872. _ struct{} `type:"structure"`
  13873. // Indicates whether to allow an IP address that is already assigned to another
  13874. // network interface or instance to be reassigned to the specified network interface.
  13875. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  13876. // The ID of the network interface.
  13877. //
  13878. // NetworkInterfaceId is a required field
  13879. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  13880. // One or more IP addresses to be assigned as a secondary private IP address
  13881. // to the network interface. You can't specify this parameter when also specifying
  13882. // a number of secondary IP addresses.
  13883. //
  13884. // If you don't specify an IP address, Amazon EC2 automatically selects an IP
  13885. // address within the subnet range.
  13886. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  13887. // The number of secondary IP addresses to assign to the network interface.
  13888. // You can't specify this parameter when also specifying private IP addresses.
  13889. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  13890. }
  13891. // String returns the string representation
  13892. func (s AssignPrivateIpAddressesInput) String() string {
  13893. return awsutil.Prettify(s)
  13894. }
  13895. // GoString returns the string representation
  13896. func (s AssignPrivateIpAddressesInput) GoString() string {
  13897. return s.String()
  13898. }
  13899. // Validate inspects the fields of the type to determine if they are valid.
  13900. func (s *AssignPrivateIpAddressesInput) Validate() error {
  13901. invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
  13902. if s.NetworkInterfaceId == nil {
  13903. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  13904. }
  13905. if invalidParams.Len() > 0 {
  13906. return invalidParams
  13907. }
  13908. return nil
  13909. }
  13910. // SetAllowReassignment sets the AllowReassignment field's value.
  13911. func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
  13912. s.AllowReassignment = &v
  13913. return s
  13914. }
  13915. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  13916. func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
  13917. s.NetworkInterfaceId = &v
  13918. return s
  13919. }
  13920. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  13921. func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
  13922. s.PrivateIpAddresses = v
  13923. return s
  13924. }
  13925. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  13926. func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
  13927. s.SecondaryPrivateIpAddressCount = &v
  13928. return s
  13929. }
  13930. type AssignPrivateIpAddressesOutput struct {
  13931. _ struct{} `type:"structure"`
  13932. }
  13933. // String returns the string representation
  13934. func (s AssignPrivateIpAddressesOutput) String() string {
  13935. return awsutil.Prettify(s)
  13936. }
  13937. // GoString returns the string representation
  13938. func (s AssignPrivateIpAddressesOutput) GoString() string {
  13939. return s.String()
  13940. }
  13941. // Contains the parameters for AssociateAddress.
  13942. type AssociateAddressInput struct {
  13943. _ struct{} `type:"structure"`
  13944. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  13945. AllocationId *string `type:"string"`
  13946. // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
  13947. // IP address that is already associated with an instance or network interface
  13948. // to be reassociated with the specified instance or network interface. Otherwise,
  13949. // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
  13950. // automatic, therefore you can specify false to ensure the operation fails
  13951. // if the Elastic IP address is already associated with another resource.
  13952. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  13953. // Checks whether you have the required permissions for the action, without
  13954. // actually making the request, and provides an error response. If you have
  13955. // the required permissions, the error response is DryRunOperation. Otherwise,
  13956. // it is UnauthorizedOperation.
  13957. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13958. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  13959. // can specify either the instance ID or the network interface ID, but not both.
  13960. // The operation fails if you specify an instance ID unless exactly one network
  13961. // interface is attached.
  13962. InstanceId *string `type:"string"`
  13963. // [EC2-VPC] The ID of the network interface. If the instance has more than
  13964. // one network interface, you must specify a network interface ID.
  13965. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  13966. // [EC2-VPC] The primary or secondary private IP address to associate with the
  13967. // Elastic IP address. If no private IP address is specified, the Elastic IP
  13968. // address is associated with the primary private IP address.
  13969. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  13970. // The Elastic IP address. This is required for EC2-Classic.
  13971. PublicIp *string `type:"string"`
  13972. }
  13973. // String returns the string representation
  13974. func (s AssociateAddressInput) String() string {
  13975. return awsutil.Prettify(s)
  13976. }
  13977. // GoString returns the string representation
  13978. func (s AssociateAddressInput) GoString() string {
  13979. return s.String()
  13980. }
  13981. // SetAllocationId sets the AllocationId field's value.
  13982. func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
  13983. s.AllocationId = &v
  13984. return s
  13985. }
  13986. // SetAllowReassociation sets the AllowReassociation field's value.
  13987. func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
  13988. s.AllowReassociation = &v
  13989. return s
  13990. }
  13991. // SetDryRun sets the DryRun field's value.
  13992. func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
  13993. s.DryRun = &v
  13994. return s
  13995. }
  13996. // SetInstanceId sets the InstanceId field's value.
  13997. func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
  13998. s.InstanceId = &v
  13999. return s
  14000. }
  14001. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  14002. func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
  14003. s.NetworkInterfaceId = &v
  14004. return s
  14005. }
  14006. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  14007. func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
  14008. s.PrivateIpAddress = &v
  14009. return s
  14010. }
  14011. // SetPublicIp sets the PublicIp field's value.
  14012. func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
  14013. s.PublicIp = &v
  14014. return s
  14015. }
  14016. // Contains the output of AssociateAddress.
  14017. type AssociateAddressOutput struct {
  14018. _ struct{} `type:"structure"`
  14019. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  14020. // with an instance.
  14021. AssociationId *string `locationName:"associationId" type:"string"`
  14022. }
  14023. // String returns the string representation
  14024. func (s AssociateAddressOutput) String() string {
  14025. return awsutil.Prettify(s)
  14026. }
  14027. // GoString returns the string representation
  14028. func (s AssociateAddressOutput) GoString() string {
  14029. return s.String()
  14030. }
  14031. // SetAssociationId sets the AssociationId field's value.
  14032. func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
  14033. s.AssociationId = &v
  14034. return s
  14035. }
  14036. // Contains the parameters for AssociateDhcpOptions.
  14037. type AssociateDhcpOptionsInput struct {
  14038. _ struct{} `type:"structure"`
  14039. // The ID of the DHCP options set, or default to associate no DHCP options with
  14040. // the VPC.
  14041. //
  14042. // DhcpOptionsId is a required field
  14043. DhcpOptionsId *string `type:"string" required:"true"`
  14044. // Checks whether you have the required permissions for the action, without
  14045. // actually making the request, and provides an error response. If you have
  14046. // the required permissions, the error response is DryRunOperation. Otherwise,
  14047. // it is UnauthorizedOperation.
  14048. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14049. // The ID of the VPC.
  14050. //
  14051. // VpcId is a required field
  14052. VpcId *string `type:"string" required:"true"`
  14053. }
  14054. // String returns the string representation
  14055. func (s AssociateDhcpOptionsInput) String() string {
  14056. return awsutil.Prettify(s)
  14057. }
  14058. // GoString returns the string representation
  14059. func (s AssociateDhcpOptionsInput) GoString() string {
  14060. return s.String()
  14061. }
  14062. // Validate inspects the fields of the type to determine if they are valid.
  14063. func (s *AssociateDhcpOptionsInput) Validate() error {
  14064. invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
  14065. if s.DhcpOptionsId == nil {
  14066. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  14067. }
  14068. if s.VpcId == nil {
  14069. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  14070. }
  14071. if invalidParams.Len() > 0 {
  14072. return invalidParams
  14073. }
  14074. return nil
  14075. }
  14076. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  14077. func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
  14078. s.DhcpOptionsId = &v
  14079. return s
  14080. }
  14081. // SetDryRun sets the DryRun field's value.
  14082. func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
  14083. s.DryRun = &v
  14084. return s
  14085. }
  14086. // SetVpcId sets the VpcId field's value.
  14087. func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
  14088. s.VpcId = &v
  14089. return s
  14090. }
  14091. type AssociateDhcpOptionsOutput struct {
  14092. _ struct{} `type:"structure"`
  14093. }
  14094. // String returns the string representation
  14095. func (s AssociateDhcpOptionsOutput) String() string {
  14096. return awsutil.Prettify(s)
  14097. }
  14098. // GoString returns the string representation
  14099. func (s AssociateDhcpOptionsOutput) GoString() string {
  14100. return s.String()
  14101. }
  14102. // Contains the parameters for AssociateRouteTable.
  14103. type AssociateRouteTableInput struct {
  14104. _ struct{} `type:"structure"`
  14105. // Checks whether you have the required permissions for the action, without
  14106. // actually making the request, and provides an error response. If you have
  14107. // the required permissions, the error response is DryRunOperation. Otherwise,
  14108. // it is UnauthorizedOperation.
  14109. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14110. // The ID of the route table.
  14111. //
  14112. // RouteTableId is a required field
  14113. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  14114. // The ID of the subnet.
  14115. //
  14116. // SubnetId is a required field
  14117. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  14118. }
  14119. // String returns the string representation
  14120. func (s AssociateRouteTableInput) String() string {
  14121. return awsutil.Prettify(s)
  14122. }
  14123. // GoString returns the string representation
  14124. func (s AssociateRouteTableInput) GoString() string {
  14125. return s.String()
  14126. }
  14127. // Validate inspects the fields of the type to determine if they are valid.
  14128. func (s *AssociateRouteTableInput) Validate() error {
  14129. invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
  14130. if s.RouteTableId == nil {
  14131. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  14132. }
  14133. if s.SubnetId == nil {
  14134. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  14135. }
  14136. if invalidParams.Len() > 0 {
  14137. return invalidParams
  14138. }
  14139. return nil
  14140. }
  14141. // SetDryRun sets the DryRun field's value.
  14142. func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
  14143. s.DryRun = &v
  14144. return s
  14145. }
  14146. // SetRouteTableId sets the RouteTableId field's value.
  14147. func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
  14148. s.RouteTableId = &v
  14149. return s
  14150. }
  14151. // SetSubnetId sets the SubnetId field's value.
  14152. func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
  14153. s.SubnetId = &v
  14154. return s
  14155. }
  14156. // Contains the output of AssociateRouteTable.
  14157. type AssociateRouteTableOutput struct {
  14158. _ struct{} `type:"structure"`
  14159. // The route table association ID (needed to disassociate the route table).
  14160. AssociationId *string `locationName:"associationId" type:"string"`
  14161. }
  14162. // String returns the string representation
  14163. func (s AssociateRouteTableOutput) String() string {
  14164. return awsutil.Prettify(s)
  14165. }
  14166. // GoString returns the string representation
  14167. func (s AssociateRouteTableOutput) GoString() string {
  14168. return s.String()
  14169. }
  14170. // SetAssociationId sets the AssociationId field's value.
  14171. func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
  14172. s.AssociationId = &v
  14173. return s
  14174. }
  14175. // Contains the parameters for AttachClassicLinkVpc.
  14176. type AttachClassicLinkVpcInput struct {
  14177. _ struct{} `type:"structure"`
  14178. // Checks whether you have the required permissions for the action, without
  14179. // actually making the request, and provides an error response. If you have
  14180. // the required permissions, the error response is DryRunOperation. Otherwise,
  14181. // it is UnauthorizedOperation.
  14182. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14183. // The ID of one or more of the VPC's security groups. You cannot specify security
  14184. // groups from a different VPC.
  14185. //
  14186. // Groups is a required field
  14187. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  14188. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  14189. //
  14190. // InstanceId is a required field
  14191. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  14192. // The ID of a ClassicLink-enabled VPC.
  14193. //
  14194. // VpcId is a required field
  14195. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  14196. }
  14197. // String returns the string representation
  14198. func (s AttachClassicLinkVpcInput) String() string {
  14199. return awsutil.Prettify(s)
  14200. }
  14201. // GoString returns the string representation
  14202. func (s AttachClassicLinkVpcInput) GoString() string {
  14203. return s.String()
  14204. }
  14205. // Validate inspects the fields of the type to determine if they are valid.
  14206. func (s *AttachClassicLinkVpcInput) Validate() error {
  14207. invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
  14208. if s.Groups == nil {
  14209. invalidParams.Add(request.NewErrParamRequired("Groups"))
  14210. }
  14211. if s.InstanceId == nil {
  14212. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  14213. }
  14214. if s.VpcId == nil {
  14215. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  14216. }
  14217. if invalidParams.Len() > 0 {
  14218. return invalidParams
  14219. }
  14220. return nil
  14221. }
  14222. // SetDryRun sets the DryRun field's value.
  14223. func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
  14224. s.DryRun = &v
  14225. return s
  14226. }
  14227. // SetGroups sets the Groups field's value.
  14228. func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
  14229. s.Groups = v
  14230. return s
  14231. }
  14232. // SetInstanceId sets the InstanceId field's value.
  14233. func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
  14234. s.InstanceId = &v
  14235. return s
  14236. }
  14237. // SetVpcId sets the VpcId field's value.
  14238. func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
  14239. s.VpcId = &v
  14240. return s
  14241. }
  14242. // Contains the output of AttachClassicLinkVpc.
  14243. type AttachClassicLinkVpcOutput struct {
  14244. _ struct{} `type:"structure"`
  14245. // Returns true if the request succeeds; otherwise, it returns an error.
  14246. Return *bool `locationName:"return" type:"boolean"`
  14247. }
  14248. // String returns the string representation
  14249. func (s AttachClassicLinkVpcOutput) String() string {
  14250. return awsutil.Prettify(s)
  14251. }
  14252. // GoString returns the string representation
  14253. func (s AttachClassicLinkVpcOutput) GoString() string {
  14254. return s.String()
  14255. }
  14256. // SetReturn sets the Return field's value.
  14257. func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
  14258. s.Return = &v
  14259. return s
  14260. }
  14261. // Contains the parameters for AttachInternetGateway.
  14262. type AttachInternetGatewayInput struct {
  14263. _ struct{} `type:"structure"`
  14264. // Checks whether you have the required permissions for the action, without
  14265. // actually making the request, and provides an error response. If you have
  14266. // the required permissions, the error response is DryRunOperation. Otherwise,
  14267. // it is UnauthorizedOperation.
  14268. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14269. // The ID of the Internet gateway.
  14270. //
  14271. // InternetGatewayId is a required field
  14272. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  14273. // The ID of the VPC.
  14274. //
  14275. // VpcId is a required field
  14276. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  14277. }
  14278. // String returns the string representation
  14279. func (s AttachInternetGatewayInput) String() string {
  14280. return awsutil.Prettify(s)
  14281. }
  14282. // GoString returns the string representation
  14283. func (s AttachInternetGatewayInput) GoString() string {
  14284. return s.String()
  14285. }
  14286. // Validate inspects the fields of the type to determine if they are valid.
  14287. func (s *AttachInternetGatewayInput) Validate() error {
  14288. invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
  14289. if s.InternetGatewayId == nil {
  14290. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  14291. }
  14292. if s.VpcId == nil {
  14293. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  14294. }
  14295. if invalidParams.Len() > 0 {
  14296. return invalidParams
  14297. }
  14298. return nil
  14299. }
  14300. // SetDryRun sets the DryRun field's value.
  14301. func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
  14302. s.DryRun = &v
  14303. return s
  14304. }
  14305. // SetInternetGatewayId sets the InternetGatewayId field's value.
  14306. func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
  14307. s.InternetGatewayId = &v
  14308. return s
  14309. }
  14310. // SetVpcId sets the VpcId field's value.
  14311. func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
  14312. s.VpcId = &v
  14313. return s
  14314. }
  14315. type AttachInternetGatewayOutput struct {
  14316. _ struct{} `type:"structure"`
  14317. }
  14318. // String returns the string representation
  14319. func (s AttachInternetGatewayOutput) String() string {
  14320. return awsutil.Prettify(s)
  14321. }
  14322. // GoString returns the string representation
  14323. func (s AttachInternetGatewayOutput) GoString() string {
  14324. return s.String()
  14325. }
  14326. // Contains the parameters for AttachNetworkInterface.
  14327. type AttachNetworkInterfaceInput struct {
  14328. _ struct{} `type:"structure"`
  14329. // The index of the device for the network interface attachment.
  14330. //
  14331. // DeviceIndex is a required field
  14332. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  14333. // Checks whether you have the required permissions for the action, without
  14334. // actually making the request, and provides an error response. If you have
  14335. // the required permissions, the error response is DryRunOperation. Otherwise,
  14336. // it is UnauthorizedOperation.
  14337. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14338. // The ID of the instance.
  14339. //
  14340. // InstanceId is a required field
  14341. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  14342. // The ID of the network interface.
  14343. //
  14344. // NetworkInterfaceId is a required field
  14345. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  14346. }
  14347. // String returns the string representation
  14348. func (s AttachNetworkInterfaceInput) String() string {
  14349. return awsutil.Prettify(s)
  14350. }
  14351. // GoString returns the string representation
  14352. func (s AttachNetworkInterfaceInput) GoString() string {
  14353. return s.String()
  14354. }
  14355. // Validate inspects the fields of the type to determine if they are valid.
  14356. func (s *AttachNetworkInterfaceInput) Validate() error {
  14357. invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
  14358. if s.DeviceIndex == nil {
  14359. invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
  14360. }
  14361. if s.InstanceId == nil {
  14362. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  14363. }
  14364. if s.NetworkInterfaceId == nil {
  14365. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  14366. }
  14367. if invalidParams.Len() > 0 {
  14368. return invalidParams
  14369. }
  14370. return nil
  14371. }
  14372. // SetDeviceIndex sets the DeviceIndex field's value.
  14373. func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
  14374. s.DeviceIndex = &v
  14375. return s
  14376. }
  14377. // SetDryRun sets the DryRun field's value.
  14378. func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
  14379. s.DryRun = &v
  14380. return s
  14381. }
  14382. // SetInstanceId sets the InstanceId field's value.
  14383. func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
  14384. s.InstanceId = &v
  14385. return s
  14386. }
  14387. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  14388. func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
  14389. s.NetworkInterfaceId = &v
  14390. return s
  14391. }
  14392. // Contains the output of AttachNetworkInterface.
  14393. type AttachNetworkInterfaceOutput struct {
  14394. _ struct{} `type:"structure"`
  14395. // The ID of the network interface attachment.
  14396. AttachmentId *string `locationName:"attachmentId" type:"string"`
  14397. }
  14398. // String returns the string representation
  14399. func (s AttachNetworkInterfaceOutput) String() string {
  14400. return awsutil.Prettify(s)
  14401. }
  14402. // GoString returns the string representation
  14403. func (s AttachNetworkInterfaceOutput) GoString() string {
  14404. return s.String()
  14405. }
  14406. // SetAttachmentId sets the AttachmentId field's value.
  14407. func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
  14408. s.AttachmentId = &v
  14409. return s
  14410. }
  14411. // Contains the parameters for AttachVolume.
  14412. type AttachVolumeInput struct {
  14413. _ struct{} `type:"structure"`
  14414. // The device name to expose to the instance (for example, /dev/sdh or xvdh).
  14415. //
  14416. // Device is a required field
  14417. Device *string `type:"string" required:"true"`
  14418. // Checks whether you have the required permissions for the action, without
  14419. // actually making the request, and provides an error response. If you have
  14420. // the required permissions, the error response is DryRunOperation. Otherwise,
  14421. // it is UnauthorizedOperation.
  14422. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14423. // The ID of the instance.
  14424. //
  14425. // InstanceId is a required field
  14426. InstanceId *string `type:"string" required:"true"`
  14427. // The ID of the EBS volume. The volume and instance must be within the same
  14428. // Availability Zone.
  14429. //
  14430. // VolumeId is a required field
  14431. VolumeId *string `type:"string" required:"true"`
  14432. }
  14433. // String returns the string representation
  14434. func (s AttachVolumeInput) String() string {
  14435. return awsutil.Prettify(s)
  14436. }
  14437. // GoString returns the string representation
  14438. func (s AttachVolumeInput) GoString() string {
  14439. return s.String()
  14440. }
  14441. // Validate inspects the fields of the type to determine if they are valid.
  14442. func (s *AttachVolumeInput) Validate() error {
  14443. invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
  14444. if s.Device == nil {
  14445. invalidParams.Add(request.NewErrParamRequired("Device"))
  14446. }
  14447. if s.InstanceId == nil {
  14448. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  14449. }
  14450. if s.VolumeId == nil {
  14451. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  14452. }
  14453. if invalidParams.Len() > 0 {
  14454. return invalidParams
  14455. }
  14456. return nil
  14457. }
  14458. // SetDevice sets the Device field's value.
  14459. func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
  14460. s.Device = &v
  14461. return s
  14462. }
  14463. // SetDryRun sets the DryRun field's value.
  14464. func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
  14465. s.DryRun = &v
  14466. return s
  14467. }
  14468. // SetInstanceId sets the InstanceId field's value.
  14469. func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
  14470. s.InstanceId = &v
  14471. return s
  14472. }
  14473. // SetVolumeId sets the VolumeId field's value.
  14474. func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
  14475. s.VolumeId = &v
  14476. return s
  14477. }
  14478. // Contains the parameters for AttachVpnGateway.
  14479. type AttachVpnGatewayInput struct {
  14480. _ struct{} `type:"structure"`
  14481. // Checks whether you have the required permissions for the action, without
  14482. // actually making the request, and provides an error response. If you have
  14483. // the required permissions, the error response is DryRunOperation. Otherwise,
  14484. // it is UnauthorizedOperation.
  14485. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14486. // The ID of the VPC.
  14487. //
  14488. // VpcId is a required field
  14489. VpcId *string `type:"string" required:"true"`
  14490. // The ID of the virtual private gateway.
  14491. //
  14492. // VpnGatewayId is a required field
  14493. VpnGatewayId *string `type:"string" required:"true"`
  14494. }
  14495. // String returns the string representation
  14496. func (s AttachVpnGatewayInput) String() string {
  14497. return awsutil.Prettify(s)
  14498. }
  14499. // GoString returns the string representation
  14500. func (s AttachVpnGatewayInput) GoString() string {
  14501. return s.String()
  14502. }
  14503. // Validate inspects the fields of the type to determine if they are valid.
  14504. func (s *AttachVpnGatewayInput) Validate() error {
  14505. invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
  14506. if s.VpcId == nil {
  14507. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  14508. }
  14509. if s.VpnGatewayId == nil {
  14510. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  14511. }
  14512. if invalidParams.Len() > 0 {
  14513. return invalidParams
  14514. }
  14515. return nil
  14516. }
  14517. // SetDryRun sets the DryRun field's value.
  14518. func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
  14519. s.DryRun = &v
  14520. return s
  14521. }
  14522. // SetVpcId sets the VpcId field's value.
  14523. func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
  14524. s.VpcId = &v
  14525. return s
  14526. }
  14527. // SetVpnGatewayId sets the VpnGatewayId field's value.
  14528. func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
  14529. s.VpnGatewayId = &v
  14530. return s
  14531. }
  14532. // Contains the output of AttachVpnGateway.
  14533. type AttachVpnGatewayOutput struct {
  14534. _ struct{} `type:"structure"`
  14535. // Information about the attachment.
  14536. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  14537. }
  14538. // String returns the string representation
  14539. func (s AttachVpnGatewayOutput) String() string {
  14540. return awsutil.Prettify(s)
  14541. }
  14542. // GoString returns the string representation
  14543. func (s AttachVpnGatewayOutput) GoString() string {
  14544. return s.String()
  14545. }
  14546. // SetVpcAttachment sets the VpcAttachment field's value.
  14547. func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
  14548. s.VpcAttachment = v
  14549. return s
  14550. }
  14551. // Describes a value for a resource attribute that is a Boolean value.
  14552. type AttributeBooleanValue struct {
  14553. _ struct{} `type:"structure"`
  14554. // The attribute value. The valid values are true or false.
  14555. Value *bool `locationName:"value" type:"boolean"`
  14556. }
  14557. // String returns the string representation
  14558. func (s AttributeBooleanValue) String() string {
  14559. return awsutil.Prettify(s)
  14560. }
  14561. // GoString returns the string representation
  14562. func (s AttributeBooleanValue) GoString() string {
  14563. return s.String()
  14564. }
  14565. // SetValue sets the Value field's value.
  14566. func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
  14567. s.Value = &v
  14568. return s
  14569. }
  14570. // Describes a value for a resource attribute that is a String.
  14571. type AttributeValue struct {
  14572. _ struct{} `type:"structure"`
  14573. // The attribute value. Note that the value is case-sensitive.
  14574. Value *string `locationName:"value" type:"string"`
  14575. }
  14576. // String returns the string representation
  14577. func (s AttributeValue) String() string {
  14578. return awsutil.Prettify(s)
  14579. }
  14580. // GoString returns the string representation
  14581. func (s AttributeValue) GoString() string {
  14582. return s.String()
  14583. }
  14584. // SetValue sets the Value field's value.
  14585. func (s *AttributeValue) SetValue(v string) *AttributeValue {
  14586. s.Value = &v
  14587. return s
  14588. }
  14589. // Contains the parameters for AuthorizeSecurityGroupEgress.
  14590. type AuthorizeSecurityGroupEgressInput struct {
  14591. _ struct{} `type:"structure"`
  14592. // The CIDR IP address range. We recommend that you specify the CIDR range in
  14593. // a set of IP permissions instead.
  14594. CidrIp *string `locationName:"cidrIp" type:"string"`
  14595. // Checks whether you have the required permissions for the action, without
  14596. // actually making the request, and provides an error response. If you have
  14597. // the required permissions, the error response is DryRunOperation. Otherwise,
  14598. // it is UnauthorizedOperation.
  14599. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14600. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  14601. // We recommend that you specify the port range in a set of IP permissions instead.
  14602. FromPort *int64 `locationName:"fromPort" type:"integer"`
  14603. // The ID of the security group.
  14604. //
  14605. // GroupId is a required field
  14606. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  14607. // A set of IP permissions. You can't specify a destination security group and
  14608. // a CIDR IP address range.
  14609. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  14610. // The IP protocol name or number. We recommend that you specify the protocol
  14611. // in a set of IP permissions instead.
  14612. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  14613. // The name of a destination security group. To authorize outbound access to
  14614. // a destination security group, we recommend that you use a set of IP permissions
  14615. // instead.
  14616. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  14617. // The AWS account number for a destination security group. To authorize outbound
  14618. // access to a destination security group, we recommend that you use a set of
  14619. // IP permissions instead.
  14620. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  14621. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  14622. // We recommend that you specify the port range in a set of IP permissions instead.
  14623. ToPort *int64 `locationName:"toPort" type:"integer"`
  14624. }
  14625. // String returns the string representation
  14626. func (s AuthorizeSecurityGroupEgressInput) String() string {
  14627. return awsutil.Prettify(s)
  14628. }
  14629. // GoString returns the string representation
  14630. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  14631. return s.String()
  14632. }
  14633. // Validate inspects the fields of the type to determine if they are valid.
  14634. func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
  14635. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
  14636. if s.GroupId == nil {
  14637. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  14638. }
  14639. if invalidParams.Len() > 0 {
  14640. return invalidParams
  14641. }
  14642. return nil
  14643. }
  14644. // SetCidrIp sets the CidrIp field's value.
  14645. func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
  14646. s.CidrIp = &v
  14647. return s
  14648. }
  14649. // SetDryRun sets the DryRun field's value.
  14650. func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
  14651. s.DryRun = &v
  14652. return s
  14653. }
  14654. // SetFromPort sets the FromPort field's value.
  14655. func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
  14656. s.FromPort = &v
  14657. return s
  14658. }
  14659. // SetGroupId sets the GroupId field's value.
  14660. func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
  14661. s.GroupId = &v
  14662. return s
  14663. }
  14664. // SetIpPermissions sets the IpPermissions field's value.
  14665. func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
  14666. s.IpPermissions = v
  14667. return s
  14668. }
  14669. // SetIpProtocol sets the IpProtocol field's value.
  14670. func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
  14671. s.IpProtocol = &v
  14672. return s
  14673. }
  14674. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  14675. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
  14676. s.SourceSecurityGroupName = &v
  14677. return s
  14678. }
  14679. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  14680. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
  14681. s.SourceSecurityGroupOwnerId = &v
  14682. return s
  14683. }
  14684. // SetToPort sets the ToPort field's value.
  14685. func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
  14686. s.ToPort = &v
  14687. return s
  14688. }
  14689. type AuthorizeSecurityGroupEgressOutput struct {
  14690. _ struct{} `type:"structure"`
  14691. }
  14692. // String returns the string representation
  14693. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  14694. return awsutil.Prettify(s)
  14695. }
  14696. // GoString returns the string representation
  14697. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  14698. return s.String()
  14699. }
  14700. // Contains the parameters for AuthorizeSecurityGroupIngress.
  14701. type AuthorizeSecurityGroupIngressInput struct {
  14702. _ struct{} `type:"structure"`
  14703. // The CIDR IP address range. You can't specify this parameter when specifying
  14704. // a source security group.
  14705. CidrIp *string `type:"string"`
  14706. // Checks whether you have the required permissions for the action, without
  14707. // actually making the request, and provides an error response. If you have
  14708. // the required permissions, the error response is DryRunOperation. Otherwise,
  14709. // it is UnauthorizedOperation.
  14710. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14711. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  14712. // For the ICMP type number, use -1 to specify all ICMP types.
  14713. FromPort *int64 `type:"integer"`
  14714. // The ID of the security group. Required for a nondefault VPC.
  14715. GroupId *string `type:"string"`
  14716. // [EC2-Classic, default VPC] The name of the security group.
  14717. GroupName *string `type:"string"`
  14718. // A set of IP permissions. Can be used to specify multiple rules in a single
  14719. // command.
  14720. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  14721. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  14722. // (VPC only) Use -1 to specify all traffic. If you specify -1, traffic on all
  14723. // ports is allowed, regardless of any ports you specify.
  14724. IpProtocol *string `type:"string"`
  14725. // [EC2-Classic, default VPC] The name of the source security group. You can't
  14726. // specify this parameter in combination with the following parameters: the
  14727. // CIDR IP address range, the start of the port range, the IP protocol, and
  14728. // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
  14729. // access. To create a rule with a specific IP protocol and port range, use
  14730. // a set of IP permissions instead. For EC2-VPC, the source security group must
  14731. // be in the same VPC.
  14732. SourceSecurityGroupName *string `type:"string"`
  14733. // [EC2-Classic] The AWS account number for the source security group, if the
  14734. // source security group is in a different account. You can't specify this parameter
  14735. // in combination with the following parameters: the CIDR IP address range,
  14736. // the IP protocol, the start of the port range, and the end of the port range.
  14737. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
  14738. // with a specific IP protocol and port range, use a set of IP permissions instead.
  14739. SourceSecurityGroupOwnerId *string `type:"string"`
  14740. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  14741. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  14742. ToPort *int64 `type:"integer"`
  14743. }
  14744. // String returns the string representation
  14745. func (s AuthorizeSecurityGroupIngressInput) String() string {
  14746. return awsutil.Prettify(s)
  14747. }
  14748. // GoString returns the string representation
  14749. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  14750. return s.String()
  14751. }
  14752. // SetCidrIp sets the CidrIp field's value.
  14753. func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
  14754. s.CidrIp = &v
  14755. return s
  14756. }
  14757. // SetDryRun sets the DryRun field's value.
  14758. func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
  14759. s.DryRun = &v
  14760. return s
  14761. }
  14762. // SetFromPort sets the FromPort field's value.
  14763. func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
  14764. s.FromPort = &v
  14765. return s
  14766. }
  14767. // SetGroupId sets the GroupId field's value.
  14768. func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
  14769. s.GroupId = &v
  14770. return s
  14771. }
  14772. // SetGroupName sets the GroupName field's value.
  14773. func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  14774. s.GroupName = &v
  14775. return s
  14776. }
  14777. // SetIpPermissions sets the IpPermissions field's value.
  14778. func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
  14779. s.IpPermissions = v
  14780. return s
  14781. }
  14782. // SetIpProtocol sets the IpProtocol field's value.
  14783. func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
  14784. s.IpProtocol = &v
  14785. return s
  14786. }
  14787. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  14788. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  14789. s.SourceSecurityGroupName = &v
  14790. return s
  14791. }
  14792. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  14793. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
  14794. s.SourceSecurityGroupOwnerId = &v
  14795. return s
  14796. }
  14797. // SetToPort sets the ToPort field's value.
  14798. func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
  14799. s.ToPort = &v
  14800. return s
  14801. }
  14802. type AuthorizeSecurityGroupIngressOutput struct {
  14803. _ struct{} `type:"structure"`
  14804. }
  14805. // String returns the string representation
  14806. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  14807. return awsutil.Prettify(s)
  14808. }
  14809. // GoString returns the string representation
  14810. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  14811. return s.String()
  14812. }
  14813. // Describes an Availability Zone.
  14814. type AvailabilityZone struct {
  14815. _ struct{} `type:"structure"`
  14816. // Any messages about the Availability Zone.
  14817. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  14818. // The name of the region.
  14819. RegionName *string `locationName:"regionName" type:"string"`
  14820. // The state of the Availability Zone.
  14821. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  14822. // The name of the Availability Zone.
  14823. ZoneName *string `locationName:"zoneName" type:"string"`
  14824. }
  14825. // String returns the string representation
  14826. func (s AvailabilityZone) String() string {
  14827. return awsutil.Prettify(s)
  14828. }
  14829. // GoString returns the string representation
  14830. func (s AvailabilityZone) GoString() string {
  14831. return s.String()
  14832. }
  14833. // SetMessages sets the Messages field's value.
  14834. func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
  14835. s.Messages = v
  14836. return s
  14837. }
  14838. // SetRegionName sets the RegionName field's value.
  14839. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
  14840. s.RegionName = &v
  14841. return s
  14842. }
  14843. // SetState sets the State field's value.
  14844. func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
  14845. s.State = &v
  14846. return s
  14847. }
  14848. // SetZoneName sets the ZoneName field's value.
  14849. func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
  14850. s.ZoneName = &v
  14851. return s
  14852. }
  14853. // Describes a message about an Availability Zone.
  14854. type AvailabilityZoneMessage struct {
  14855. _ struct{} `type:"structure"`
  14856. // The message about the Availability Zone.
  14857. Message *string `locationName:"message" type:"string"`
  14858. }
  14859. // String returns the string representation
  14860. func (s AvailabilityZoneMessage) String() string {
  14861. return awsutil.Prettify(s)
  14862. }
  14863. // GoString returns the string representation
  14864. func (s AvailabilityZoneMessage) GoString() string {
  14865. return s.String()
  14866. }
  14867. // SetMessage sets the Message field's value.
  14868. func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
  14869. s.Message = &v
  14870. return s
  14871. }
  14872. // The capacity information for instances launched onto the Dedicated Host.
  14873. type AvailableCapacity struct {
  14874. _ struct{} `type:"structure"`
  14875. // The total number of instances that the Dedicated Host supports.
  14876. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
  14877. // The number of vCPUs available on the Dedicated Host.
  14878. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
  14879. }
  14880. // String returns the string representation
  14881. func (s AvailableCapacity) String() string {
  14882. return awsutil.Prettify(s)
  14883. }
  14884. // GoString returns the string representation
  14885. func (s AvailableCapacity) GoString() string {
  14886. return s.String()
  14887. }
  14888. // SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
  14889. func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
  14890. s.AvailableInstanceCapacity = v
  14891. return s
  14892. }
  14893. // SetAvailableVCpus sets the AvailableVCpus field's value.
  14894. func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
  14895. s.AvailableVCpus = &v
  14896. return s
  14897. }
  14898. type BlobAttributeValue struct {
  14899. _ struct{} `type:"structure"`
  14900. // Value is automatically base64 encoded/decoded by the SDK.
  14901. Value []byte `locationName:"value" type:"blob"`
  14902. }
  14903. // String returns the string representation
  14904. func (s BlobAttributeValue) String() string {
  14905. return awsutil.Prettify(s)
  14906. }
  14907. // GoString returns the string representation
  14908. func (s BlobAttributeValue) GoString() string {
  14909. return s.String()
  14910. }
  14911. // SetValue sets the Value field's value.
  14912. func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
  14913. s.Value = v
  14914. return s
  14915. }
  14916. // Describes a block device mapping.
  14917. type BlockDeviceMapping struct {
  14918. _ struct{} `type:"structure"`
  14919. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  14920. DeviceName *string `locationName:"deviceName" type:"string"`
  14921. // Parameters used to automatically set up EBS volumes when the instance is
  14922. // launched.
  14923. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  14924. // Suppresses the specified device included in the block device mapping of the
  14925. // AMI.
  14926. NoDevice *string `locationName:"noDevice" type:"string"`
  14927. // The virtual device name (ephemeralN). Instance store volumes are numbered
  14928. // starting from 0. An instance type with 2 available instance store volumes
  14929. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  14930. // instance store volumes depends on the instance type. After you connect to
  14931. // the instance, you must mount the volume.
  14932. //
  14933. // Constraints: For M3 instances, you must specify instance store volumes in
  14934. // the block device mapping for the instance. When you launch an M3 instance,
  14935. // we ignore any instance store volumes specified in the block device mapping
  14936. // for the AMI.
  14937. VirtualName *string `locationName:"virtualName" type:"string"`
  14938. }
  14939. // String returns the string representation
  14940. func (s BlockDeviceMapping) String() string {
  14941. return awsutil.Prettify(s)
  14942. }
  14943. // GoString returns the string representation
  14944. func (s BlockDeviceMapping) GoString() string {
  14945. return s.String()
  14946. }
  14947. // SetDeviceName sets the DeviceName field's value.
  14948. func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
  14949. s.DeviceName = &v
  14950. return s
  14951. }
  14952. // SetEbs sets the Ebs field's value.
  14953. func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
  14954. s.Ebs = v
  14955. return s
  14956. }
  14957. // SetNoDevice sets the NoDevice field's value.
  14958. func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
  14959. s.NoDevice = &v
  14960. return s
  14961. }
  14962. // SetVirtualName sets the VirtualName field's value.
  14963. func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
  14964. s.VirtualName = &v
  14965. return s
  14966. }
  14967. // Contains the parameters for BundleInstance.
  14968. type BundleInstanceInput struct {
  14969. _ struct{} `type:"structure"`
  14970. // Checks whether you have the required permissions for the action, without
  14971. // actually making the request, and provides an error response. If you have
  14972. // the required permissions, the error response is DryRunOperation. Otherwise,
  14973. // it is UnauthorizedOperation.
  14974. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14975. // The ID of the instance to bundle.
  14976. //
  14977. // Type: String
  14978. //
  14979. // Default: None
  14980. //
  14981. // Required: Yes
  14982. //
  14983. // InstanceId is a required field
  14984. InstanceId *string `type:"string" required:"true"`
  14985. // The bucket in which to store the AMI. You can specify a bucket that you already
  14986. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  14987. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  14988. //
  14989. // Storage is a required field
  14990. Storage *Storage `type:"structure" required:"true"`
  14991. }
  14992. // String returns the string representation
  14993. func (s BundleInstanceInput) String() string {
  14994. return awsutil.Prettify(s)
  14995. }
  14996. // GoString returns the string representation
  14997. func (s BundleInstanceInput) GoString() string {
  14998. return s.String()
  14999. }
  15000. // Validate inspects the fields of the type to determine if they are valid.
  15001. func (s *BundleInstanceInput) Validate() error {
  15002. invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
  15003. if s.InstanceId == nil {
  15004. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  15005. }
  15006. if s.Storage == nil {
  15007. invalidParams.Add(request.NewErrParamRequired("Storage"))
  15008. }
  15009. if invalidParams.Len() > 0 {
  15010. return invalidParams
  15011. }
  15012. return nil
  15013. }
  15014. // SetDryRun sets the DryRun field's value.
  15015. func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
  15016. s.DryRun = &v
  15017. return s
  15018. }
  15019. // SetInstanceId sets the InstanceId field's value.
  15020. func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
  15021. s.InstanceId = &v
  15022. return s
  15023. }
  15024. // SetStorage sets the Storage field's value.
  15025. func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
  15026. s.Storage = v
  15027. return s
  15028. }
  15029. // Contains the output of BundleInstance.
  15030. type BundleInstanceOutput struct {
  15031. _ struct{} `type:"structure"`
  15032. // Information about the bundle task.
  15033. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  15034. }
  15035. // String returns the string representation
  15036. func (s BundleInstanceOutput) String() string {
  15037. return awsutil.Prettify(s)
  15038. }
  15039. // GoString returns the string representation
  15040. func (s BundleInstanceOutput) GoString() string {
  15041. return s.String()
  15042. }
  15043. // SetBundleTask sets the BundleTask field's value.
  15044. func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
  15045. s.BundleTask = v
  15046. return s
  15047. }
  15048. // Describes a bundle task.
  15049. type BundleTask struct {
  15050. _ struct{} `type:"structure"`
  15051. // The ID of the bundle task.
  15052. BundleId *string `locationName:"bundleId" type:"string"`
  15053. // If the task fails, a description of the error.
  15054. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  15055. // The ID of the instance associated with this bundle task.
  15056. InstanceId *string `locationName:"instanceId" type:"string"`
  15057. // The level of task completion, as a percent (for example, 20%).
  15058. Progress *string `locationName:"progress" type:"string"`
  15059. // The time this task started.
  15060. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  15061. // The state of the task.
  15062. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  15063. // The Amazon S3 storage locations.
  15064. Storage *Storage `locationName:"storage" type:"structure"`
  15065. // The time of the most recent update for the task.
  15066. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  15067. }
  15068. // String returns the string representation
  15069. func (s BundleTask) String() string {
  15070. return awsutil.Prettify(s)
  15071. }
  15072. // GoString returns the string representation
  15073. func (s BundleTask) GoString() string {
  15074. return s.String()
  15075. }
  15076. // SetBundleId sets the BundleId field's value.
  15077. func (s *BundleTask) SetBundleId(v string) *BundleTask {
  15078. s.BundleId = &v
  15079. return s
  15080. }
  15081. // SetBundleTaskError sets the BundleTaskError field's value.
  15082. func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
  15083. s.BundleTaskError = v
  15084. return s
  15085. }
  15086. // SetInstanceId sets the InstanceId field's value.
  15087. func (s *BundleTask) SetInstanceId(v string) *BundleTask {
  15088. s.InstanceId = &v
  15089. return s
  15090. }
  15091. // SetProgress sets the Progress field's value.
  15092. func (s *BundleTask) SetProgress(v string) *BundleTask {
  15093. s.Progress = &v
  15094. return s
  15095. }
  15096. // SetStartTime sets the StartTime field's value.
  15097. func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
  15098. s.StartTime = &v
  15099. return s
  15100. }
  15101. // SetState sets the State field's value.
  15102. func (s *BundleTask) SetState(v string) *BundleTask {
  15103. s.State = &v
  15104. return s
  15105. }
  15106. // SetStorage sets the Storage field's value.
  15107. func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
  15108. s.Storage = v
  15109. return s
  15110. }
  15111. // SetUpdateTime sets the UpdateTime field's value.
  15112. func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
  15113. s.UpdateTime = &v
  15114. return s
  15115. }
  15116. // Describes an error for BundleInstance.
  15117. type BundleTaskError struct {
  15118. _ struct{} `type:"structure"`
  15119. // The error code.
  15120. Code *string `locationName:"code" type:"string"`
  15121. // The error message.
  15122. Message *string `locationName:"message" type:"string"`
  15123. }
  15124. // String returns the string representation
  15125. func (s BundleTaskError) String() string {
  15126. return awsutil.Prettify(s)
  15127. }
  15128. // GoString returns the string representation
  15129. func (s BundleTaskError) GoString() string {
  15130. return s.String()
  15131. }
  15132. // SetCode sets the Code field's value.
  15133. func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
  15134. s.Code = &v
  15135. return s
  15136. }
  15137. // SetMessage sets the Message field's value.
  15138. func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
  15139. s.Message = &v
  15140. return s
  15141. }
  15142. // Contains the parameters for CancelBundleTask.
  15143. type CancelBundleTaskInput struct {
  15144. _ struct{} `type:"structure"`
  15145. // The ID of the bundle task.
  15146. //
  15147. // BundleId is a required field
  15148. BundleId *string `type:"string" required:"true"`
  15149. // Checks whether you have the required permissions for the action, without
  15150. // actually making the request, and provides an error response. If you have
  15151. // the required permissions, the error response is DryRunOperation. Otherwise,
  15152. // it is UnauthorizedOperation.
  15153. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15154. }
  15155. // String returns the string representation
  15156. func (s CancelBundleTaskInput) String() string {
  15157. return awsutil.Prettify(s)
  15158. }
  15159. // GoString returns the string representation
  15160. func (s CancelBundleTaskInput) GoString() string {
  15161. return s.String()
  15162. }
  15163. // Validate inspects the fields of the type to determine if they are valid.
  15164. func (s *CancelBundleTaskInput) Validate() error {
  15165. invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
  15166. if s.BundleId == nil {
  15167. invalidParams.Add(request.NewErrParamRequired("BundleId"))
  15168. }
  15169. if invalidParams.Len() > 0 {
  15170. return invalidParams
  15171. }
  15172. return nil
  15173. }
  15174. // SetBundleId sets the BundleId field's value.
  15175. func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
  15176. s.BundleId = &v
  15177. return s
  15178. }
  15179. // SetDryRun sets the DryRun field's value.
  15180. func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
  15181. s.DryRun = &v
  15182. return s
  15183. }
  15184. // Contains the output of CancelBundleTask.
  15185. type CancelBundleTaskOutput struct {
  15186. _ struct{} `type:"structure"`
  15187. // Information about the bundle task.
  15188. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  15189. }
  15190. // String returns the string representation
  15191. func (s CancelBundleTaskOutput) String() string {
  15192. return awsutil.Prettify(s)
  15193. }
  15194. // GoString returns the string representation
  15195. func (s CancelBundleTaskOutput) GoString() string {
  15196. return s.String()
  15197. }
  15198. // SetBundleTask sets the BundleTask field's value.
  15199. func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
  15200. s.BundleTask = v
  15201. return s
  15202. }
  15203. // Contains the parameters for CancelConversionTask.
  15204. type CancelConversionTaskInput struct {
  15205. _ struct{} `type:"structure"`
  15206. // The ID of the conversion task.
  15207. //
  15208. // ConversionTaskId is a required field
  15209. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  15210. // Checks whether you have the required permissions for the action, without
  15211. // actually making the request, and provides an error response. If you have
  15212. // the required permissions, the error response is DryRunOperation. Otherwise,
  15213. // it is UnauthorizedOperation.
  15214. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15215. // The reason for canceling the conversion task.
  15216. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  15217. }
  15218. // String returns the string representation
  15219. func (s CancelConversionTaskInput) String() string {
  15220. return awsutil.Prettify(s)
  15221. }
  15222. // GoString returns the string representation
  15223. func (s CancelConversionTaskInput) GoString() string {
  15224. return s.String()
  15225. }
  15226. // Validate inspects the fields of the type to determine if they are valid.
  15227. func (s *CancelConversionTaskInput) Validate() error {
  15228. invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
  15229. if s.ConversionTaskId == nil {
  15230. invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
  15231. }
  15232. if invalidParams.Len() > 0 {
  15233. return invalidParams
  15234. }
  15235. return nil
  15236. }
  15237. // SetConversionTaskId sets the ConversionTaskId field's value.
  15238. func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
  15239. s.ConversionTaskId = &v
  15240. return s
  15241. }
  15242. // SetDryRun sets the DryRun field's value.
  15243. func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
  15244. s.DryRun = &v
  15245. return s
  15246. }
  15247. // SetReasonMessage sets the ReasonMessage field's value.
  15248. func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
  15249. s.ReasonMessage = &v
  15250. return s
  15251. }
  15252. type CancelConversionTaskOutput struct {
  15253. _ struct{} `type:"structure"`
  15254. }
  15255. // String returns the string representation
  15256. func (s CancelConversionTaskOutput) String() string {
  15257. return awsutil.Prettify(s)
  15258. }
  15259. // GoString returns the string representation
  15260. func (s CancelConversionTaskOutput) GoString() string {
  15261. return s.String()
  15262. }
  15263. // Contains the parameters for CancelExportTask.
  15264. type CancelExportTaskInput struct {
  15265. _ struct{} `type:"structure"`
  15266. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  15267. //
  15268. // ExportTaskId is a required field
  15269. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  15270. }
  15271. // String returns the string representation
  15272. func (s CancelExportTaskInput) String() string {
  15273. return awsutil.Prettify(s)
  15274. }
  15275. // GoString returns the string representation
  15276. func (s CancelExportTaskInput) GoString() string {
  15277. return s.String()
  15278. }
  15279. // Validate inspects the fields of the type to determine if they are valid.
  15280. func (s *CancelExportTaskInput) Validate() error {
  15281. invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
  15282. if s.ExportTaskId == nil {
  15283. invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
  15284. }
  15285. if invalidParams.Len() > 0 {
  15286. return invalidParams
  15287. }
  15288. return nil
  15289. }
  15290. // SetExportTaskId sets the ExportTaskId field's value.
  15291. func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
  15292. s.ExportTaskId = &v
  15293. return s
  15294. }
  15295. type CancelExportTaskOutput struct {
  15296. _ struct{} `type:"structure"`
  15297. }
  15298. // String returns the string representation
  15299. func (s CancelExportTaskOutput) String() string {
  15300. return awsutil.Prettify(s)
  15301. }
  15302. // GoString returns the string representation
  15303. func (s CancelExportTaskOutput) GoString() string {
  15304. return s.String()
  15305. }
  15306. // Contains the parameters for CancelImportTask.
  15307. type CancelImportTaskInput struct {
  15308. _ struct{} `type:"structure"`
  15309. // The reason for canceling the task.
  15310. CancelReason *string `type:"string"`
  15311. // Checks whether you have the required permissions for the action, without
  15312. // actually making the request, and provides an error response. If you have
  15313. // the required permissions, the error response is DryRunOperation. Otherwise,
  15314. // it is UnauthorizedOperation.
  15315. DryRun *bool `type:"boolean"`
  15316. // The ID of the import image or import snapshot task to be canceled.
  15317. ImportTaskId *string `type:"string"`
  15318. }
  15319. // String returns the string representation
  15320. func (s CancelImportTaskInput) String() string {
  15321. return awsutil.Prettify(s)
  15322. }
  15323. // GoString returns the string representation
  15324. func (s CancelImportTaskInput) GoString() string {
  15325. return s.String()
  15326. }
  15327. // SetCancelReason sets the CancelReason field's value.
  15328. func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
  15329. s.CancelReason = &v
  15330. return s
  15331. }
  15332. // SetDryRun sets the DryRun field's value.
  15333. func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
  15334. s.DryRun = &v
  15335. return s
  15336. }
  15337. // SetImportTaskId sets the ImportTaskId field's value.
  15338. func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
  15339. s.ImportTaskId = &v
  15340. return s
  15341. }
  15342. // Contains the output for CancelImportTask.
  15343. type CancelImportTaskOutput struct {
  15344. _ struct{} `type:"structure"`
  15345. // The ID of the task being canceled.
  15346. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  15347. // The current state of the task being canceled.
  15348. PreviousState *string `locationName:"previousState" type:"string"`
  15349. // The current state of the task being canceled.
  15350. State *string `locationName:"state" type:"string"`
  15351. }
  15352. // String returns the string representation
  15353. func (s CancelImportTaskOutput) String() string {
  15354. return awsutil.Prettify(s)
  15355. }
  15356. // GoString returns the string representation
  15357. func (s CancelImportTaskOutput) GoString() string {
  15358. return s.String()
  15359. }
  15360. // SetImportTaskId sets the ImportTaskId field's value.
  15361. func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
  15362. s.ImportTaskId = &v
  15363. return s
  15364. }
  15365. // SetPreviousState sets the PreviousState field's value.
  15366. func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
  15367. s.PreviousState = &v
  15368. return s
  15369. }
  15370. // SetState sets the State field's value.
  15371. func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
  15372. s.State = &v
  15373. return s
  15374. }
  15375. // Contains the parameters for CancelReservedInstancesListing.
  15376. type CancelReservedInstancesListingInput struct {
  15377. _ struct{} `type:"structure"`
  15378. // The ID of the Reserved Instance listing.
  15379. //
  15380. // ReservedInstancesListingId is a required field
  15381. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  15382. }
  15383. // String returns the string representation
  15384. func (s CancelReservedInstancesListingInput) String() string {
  15385. return awsutil.Prettify(s)
  15386. }
  15387. // GoString returns the string representation
  15388. func (s CancelReservedInstancesListingInput) GoString() string {
  15389. return s.String()
  15390. }
  15391. // Validate inspects the fields of the type to determine if they are valid.
  15392. func (s *CancelReservedInstancesListingInput) Validate() error {
  15393. invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
  15394. if s.ReservedInstancesListingId == nil {
  15395. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
  15396. }
  15397. if invalidParams.Len() > 0 {
  15398. return invalidParams
  15399. }
  15400. return nil
  15401. }
  15402. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  15403. func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
  15404. s.ReservedInstancesListingId = &v
  15405. return s
  15406. }
  15407. // Contains the output of CancelReservedInstancesListing.
  15408. type CancelReservedInstancesListingOutput struct {
  15409. _ struct{} `type:"structure"`
  15410. // The Reserved Instance listing.
  15411. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  15412. }
  15413. // String returns the string representation
  15414. func (s CancelReservedInstancesListingOutput) String() string {
  15415. return awsutil.Prettify(s)
  15416. }
  15417. // GoString returns the string representation
  15418. func (s CancelReservedInstancesListingOutput) GoString() string {
  15419. return s.String()
  15420. }
  15421. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  15422. func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
  15423. s.ReservedInstancesListings = v
  15424. return s
  15425. }
  15426. // Describes a Spot fleet error.
  15427. type CancelSpotFleetRequestsError struct {
  15428. _ struct{} `type:"structure"`
  15429. // The error code.
  15430. //
  15431. // Code is a required field
  15432. Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
  15433. // The description for the error code.
  15434. //
  15435. // Message is a required field
  15436. Message *string `locationName:"message" type:"string" required:"true"`
  15437. }
  15438. // String returns the string representation
  15439. func (s CancelSpotFleetRequestsError) String() string {
  15440. return awsutil.Prettify(s)
  15441. }
  15442. // GoString returns the string representation
  15443. func (s CancelSpotFleetRequestsError) GoString() string {
  15444. return s.String()
  15445. }
  15446. // SetCode sets the Code field's value.
  15447. func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
  15448. s.Code = &v
  15449. return s
  15450. }
  15451. // SetMessage sets the Message field's value.
  15452. func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
  15453. s.Message = &v
  15454. return s
  15455. }
  15456. // Describes a Spot fleet request that was not successfully canceled.
  15457. type CancelSpotFleetRequestsErrorItem struct {
  15458. _ struct{} `type:"structure"`
  15459. // The error.
  15460. //
  15461. // Error is a required field
  15462. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
  15463. // The ID of the Spot fleet request.
  15464. //
  15465. // SpotFleetRequestId is a required field
  15466. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  15467. }
  15468. // String returns the string representation
  15469. func (s CancelSpotFleetRequestsErrorItem) String() string {
  15470. return awsutil.Prettify(s)
  15471. }
  15472. // GoString returns the string representation
  15473. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  15474. return s.String()
  15475. }
  15476. // SetError sets the Error field's value.
  15477. func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
  15478. s.Error = v
  15479. return s
  15480. }
  15481. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  15482. func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
  15483. s.SpotFleetRequestId = &v
  15484. return s
  15485. }
  15486. // Contains the parameters for CancelSpotFleetRequests.
  15487. type CancelSpotFleetRequestsInput struct {
  15488. _ struct{} `type:"structure"`
  15489. // Checks whether you have the required permissions for the action, without
  15490. // actually making the request, and provides an error response. If you have
  15491. // the required permissions, the error response is DryRunOperation. Otherwise,
  15492. // it is UnauthorizedOperation.
  15493. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15494. // The IDs of the Spot fleet requests.
  15495. //
  15496. // SpotFleetRequestIds is a required field
  15497. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  15498. // Indicates whether to terminate instances for a Spot fleet request if it is
  15499. // canceled successfully.
  15500. //
  15501. // TerminateInstances is a required field
  15502. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  15503. }
  15504. // String returns the string representation
  15505. func (s CancelSpotFleetRequestsInput) String() string {
  15506. return awsutil.Prettify(s)
  15507. }
  15508. // GoString returns the string representation
  15509. func (s CancelSpotFleetRequestsInput) GoString() string {
  15510. return s.String()
  15511. }
  15512. // Validate inspects the fields of the type to determine if they are valid.
  15513. func (s *CancelSpotFleetRequestsInput) Validate() error {
  15514. invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
  15515. if s.SpotFleetRequestIds == nil {
  15516. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
  15517. }
  15518. if s.TerminateInstances == nil {
  15519. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  15520. }
  15521. if invalidParams.Len() > 0 {
  15522. return invalidParams
  15523. }
  15524. return nil
  15525. }
  15526. // SetDryRun sets the DryRun field's value.
  15527. func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
  15528. s.DryRun = &v
  15529. return s
  15530. }
  15531. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  15532. func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
  15533. s.SpotFleetRequestIds = v
  15534. return s
  15535. }
  15536. // SetTerminateInstances sets the TerminateInstances field's value.
  15537. func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
  15538. s.TerminateInstances = &v
  15539. return s
  15540. }
  15541. // Contains the output of CancelSpotFleetRequests.
  15542. type CancelSpotFleetRequestsOutput struct {
  15543. _ struct{} `type:"structure"`
  15544. // Information about the Spot fleet requests that are successfully canceled.
  15545. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  15546. // Information about the Spot fleet requests that are not successfully canceled.
  15547. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  15548. }
  15549. // String returns the string representation
  15550. func (s CancelSpotFleetRequestsOutput) String() string {
  15551. return awsutil.Prettify(s)
  15552. }
  15553. // GoString returns the string representation
  15554. func (s CancelSpotFleetRequestsOutput) GoString() string {
  15555. return s.String()
  15556. }
  15557. // SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
  15558. func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
  15559. s.SuccessfulFleetRequests = v
  15560. return s
  15561. }
  15562. // SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
  15563. func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
  15564. s.UnsuccessfulFleetRequests = v
  15565. return s
  15566. }
  15567. // Describes a Spot fleet request that was successfully canceled.
  15568. type CancelSpotFleetRequestsSuccessItem struct {
  15569. _ struct{} `type:"structure"`
  15570. // The current state of the Spot fleet request.
  15571. //
  15572. // CurrentSpotFleetRequestState is a required field
  15573. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  15574. // The previous state of the Spot fleet request.
  15575. //
  15576. // PreviousSpotFleetRequestState is a required field
  15577. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  15578. // The ID of the Spot fleet request.
  15579. //
  15580. // SpotFleetRequestId is a required field
  15581. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  15582. }
  15583. // String returns the string representation
  15584. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  15585. return awsutil.Prettify(s)
  15586. }
  15587. // GoString returns the string representation
  15588. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  15589. return s.String()
  15590. }
  15591. // SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
  15592. func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  15593. s.CurrentSpotFleetRequestState = &v
  15594. return s
  15595. }
  15596. // SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
  15597. func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  15598. s.PreviousSpotFleetRequestState = &v
  15599. return s
  15600. }
  15601. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  15602. func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
  15603. s.SpotFleetRequestId = &v
  15604. return s
  15605. }
  15606. // Contains the parameters for CancelSpotInstanceRequests.
  15607. type CancelSpotInstanceRequestsInput struct {
  15608. _ struct{} `type:"structure"`
  15609. // Checks whether you have the required permissions for the action, without
  15610. // actually making the request, and provides an error response. If you have
  15611. // the required permissions, the error response is DryRunOperation. Otherwise,
  15612. // it is UnauthorizedOperation.
  15613. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15614. // One or more Spot instance request IDs.
  15615. //
  15616. // SpotInstanceRequestIds is a required field
  15617. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  15618. }
  15619. // String returns the string representation
  15620. func (s CancelSpotInstanceRequestsInput) String() string {
  15621. return awsutil.Prettify(s)
  15622. }
  15623. // GoString returns the string representation
  15624. func (s CancelSpotInstanceRequestsInput) GoString() string {
  15625. return s.String()
  15626. }
  15627. // Validate inspects the fields of the type to determine if they are valid.
  15628. func (s *CancelSpotInstanceRequestsInput) Validate() error {
  15629. invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
  15630. if s.SpotInstanceRequestIds == nil {
  15631. invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
  15632. }
  15633. if invalidParams.Len() > 0 {
  15634. return invalidParams
  15635. }
  15636. return nil
  15637. }
  15638. // SetDryRun sets the DryRun field's value.
  15639. func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
  15640. s.DryRun = &v
  15641. return s
  15642. }
  15643. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  15644. func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
  15645. s.SpotInstanceRequestIds = v
  15646. return s
  15647. }
  15648. // Contains the output of CancelSpotInstanceRequests.
  15649. type CancelSpotInstanceRequestsOutput struct {
  15650. _ struct{} `type:"structure"`
  15651. // One or more Spot instance requests.
  15652. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  15653. }
  15654. // String returns the string representation
  15655. func (s CancelSpotInstanceRequestsOutput) String() string {
  15656. return awsutil.Prettify(s)
  15657. }
  15658. // GoString returns the string representation
  15659. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  15660. return s.String()
  15661. }
  15662. // SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
  15663. func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
  15664. s.CancelledSpotInstanceRequests = v
  15665. return s
  15666. }
  15667. // Describes a request to cancel a Spot instance.
  15668. type CancelledSpotInstanceRequest struct {
  15669. _ struct{} `type:"structure"`
  15670. // The ID of the Spot instance request.
  15671. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  15672. // The state of the Spot instance request.
  15673. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  15674. }
  15675. // String returns the string representation
  15676. func (s CancelledSpotInstanceRequest) String() string {
  15677. return awsutil.Prettify(s)
  15678. }
  15679. // GoString returns the string representation
  15680. func (s CancelledSpotInstanceRequest) GoString() string {
  15681. return s.String()
  15682. }
  15683. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  15684. func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
  15685. s.SpotInstanceRequestId = &v
  15686. return s
  15687. }
  15688. // SetState sets the State field's value.
  15689. func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
  15690. s.State = &v
  15691. return s
  15692. }
  15693. // Describes the ClassicLink DNS support status of a VPC.
  15694. type ClassicLinkDnsSupport struct {
  15695. _ struct{} `type:"structure"`
  15696. // Indicates whether ClassicLink DNS support is enabled for the VPC.
  15697. ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
  15698. // The ID of the VPC.
  15699. VpcId *string `locationName:"vpcId" type:"string"`
  15700. }
  15701. // String returns the string representation
  15702. func (s ClassicLinkDnsSupport) String() string {
  15703. return awsutil.Prettify(s)
  15704. }
  15705. // GoString returns the string representation
  15706. func (s ClassicLinkDnsSupport) GoString() string {
  15707. return s.String()
  15708. }
  15709. // SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
  15710. func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
  15711. s.ClassicLinkDnsSupported = &v
  15712. return s
  15713. }
  15714. // SetVpcId sets the VpcId field's value.
  15715. func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
  15716. s.VpcId = &v
  15717. return s
  15718. }
  15719. // Describes a linked EC2-Classic instance.
  15720. type ClassicLinkInstance struct {
  15721. _ struct{} `type:"structure"`
  15722. // A list of security groups.
  15723. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  15724. // The ID of the instance.
  15725. InstanceId *string `locationName:"instanceId" type:"string"`
  15726. // Any tags assigned to the instance.
  15727. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  15728. // The ID of the VPC.
  15729. VpcId *string `locationName:"vpcId" type:"string"`
  15730. }
  15731. // String returns the string representation
  15732. func (s ClassicLinkInstance) String() string {
  15733. return awsutil.Prettify(s)
  15734. }
  15735. // GoString returns the string representation
  15736. func (s ClassicLinkInstance) GoString() string {
  15737. return s.String()
  15738. }
  15739. // SetGroups sets the Groups field's value.
  15740. func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
  15741. s.Groups = v
  15742. return s
  15743. }
  15744. // SetInstanceId sets the InstanceId field's value.
  15745. func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
  15746. s.InstanceId = &v
  15747. return s
  15748. }
  15749. // SetTags sets the Tags field's value.
  15750. func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
  15751. s.Tags = v
  15752. return s
  15753. }
  15754. // SetVpcId sets the VpcId field's value.
  15755. func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
  15756. s.VpcId = &v
  15757. return s
  15758. }
  15759. // Describes the client-specific data.
  15760. type ClientData struct {
  15761. _ struct{} `type:"structure"`
  15762. // A user-defined comment about the disk upload.
  15763. Comment *string `type:"string"`
  15764. // The time that the disk upload ends.
  15765. UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  15766. // The size of the uploaded disk image, in GiB.
  15767. UploadSize *float64 `type:"double"`
  15768. // The time that the disk upload starts.
  15769. UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  15770. }
  15771. // String returns the string representation
  15772. func (s ClientData) String() string {
  15773. return awsutil.Prettify(s)
  15774. }
  15775. // GoString returns the string representation
  15776. func (s ClientData) GoString() string {
  15777. return s.String()
  15778. }
  15779. // SetComment sets the Comment field's value.
  15780. func (s *ClientData) SetComment(v string) *ClientData {
  15781. s.Comment = &v
  15782. return s
  15783. }
  15784. // SetUploadEnd sets the UploadEnd field's value.
  15785. func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
  15786. s.UploadEnd = &v
  15787. return s
  15788. }
  15789. // SetUploadSize sets the UploadSize field's value.
  15790. func (s *ClientData) SetUploadSize(v float64) *ClientData {
  15791. s.UploadSize = &v
  15792. return s
  15793. }
  15794. // SetUploadStart sets the UploadStart field's value.
  15795. func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
  15796. s.UploadStart = &v
  15797. return s
  15798. }
  15799. // Contains the parameters for ConfirmProductInstance.
  15800. type ConfirmProductInstanceInput struct {
  15801. _ struct{} `type:"structure"`
  15802. // Checks whether you have the required permissions for the action, without
  15803. // actually making the request, and provides an error response. If you have
  15804. // the required permissions, the error response is DryRunOperation. Otherwise,
  15805. // it is UnauthorizedOperation.
  15806. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15807. // The ID of the instance.
  15808. //
  15809. // InstanceId is a required field
  15810. InstanceId *string `type:"string" required:"true"`
  15811. // The product code. This must be a product code that you own.
  15812. //
  15813. // ProductCode is a required field
  15814. ProductCode *string `type:"string" required:"true"`
  15815. }
  15816. // String returns the string representation
  15817. func (s ConfirmProductInstanceInput) String() string {
  15818. return awsutil.Prettify(s)
  15819. }
  15820. // GoString returns the string representation
  15821. func (s ConfirmProductInstanceInput) GoString() string {
  15822. return s.String()
  15823. }
  15824. // Validate inspects the fields of the type to determine if they are valid.
  15825. func (s *ConfirmProductInstanceInput) Validate() error {
  15826. invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
  15827. if s.InstanceId == nil {
  15828. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  15829. }
  15830. if s.ProductCode == nil {
  15831. invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  15832. }
  15833. if invalidParams.Len() > 0 {
  15834. return invalidParams
  15835. }
  15836. return nil
  15837. }
  15838. // SetDryRun sets the DryRun field's value.
  15839. func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
  15840. s.DryRun = &v
  15841. return s
  15842. }
  15843. // SetInstanceId sets the InstanceId field's value.
  15844. func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
  15845. s.InstanceId = &v
  15846. return s
  15847. }
  15848. // SetProductCode sets the ProductCode field's value.
  15849. func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
  15850. s.ProductCode = &v
  15851. return s
  15852. }
  15853. // Contains the output of ConfirmProductInstance.
  15854. type ConfirmProductInstanceOutput struct {
  15855. _ struct{} `type:"structure"`
  15856. // The AWS account ID of the instance owner. This is only present if the product
  15857. // code is attached to the instance.
  15858. OwnerId *string `locationName:"ownerId" type:"string"`
  15859. // The return value of the request. Returns true if the specified product code
  15860. // is owned by the requester and associated with the specified instance.
  15861. Return *bool `locationName:"return" type:"boolean"`
  15862. }
  15863. // String returns the string representation
  15864. func (s ConfirmProductInstanceOutput) String() string {
  15865. return awsutil.Prettify(s)
  15866. }
  15867. // GoString returns the string representation
  15868. func (s ConfirmProductInstanceOutput) GoString() string {
  15869. return s.String()
  15870. }
  15871. // SetOwnerId sets the OwnerId field's value.
  15872. func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
  15873. s.OwnerId = &v
  15874. return s
  15875. }
  15876. // SetReturn sets the Return field's value.
  15877. func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
  15878. s.Return = &v
  15879. return s
  15880. }
  15881. // Describes a conversion task.
  15882. type ConversionTask struct {
  15883. _ struct{} `type:"structure"`
  15884. // The ID of the conversion task.
  15885. //
  15886. // ConversionTaskId is a required field
  15887. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  15888. // The time when the task expires. If the upload isn't complete before the expiration
  15889. // time, we automatically cancel the task.
  15890. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  15891. // If the task is for importing an instance, this contains information about
  15892. // the import instance task.
  15893. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  15894. // If the task is for importing a volume, this contains information about the
  15895. // import volume task.
  15896. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  15897. // The state of the conversion task.
  15898. //
  15899. // State is a required field
  15900. State *string `locationName:"state" type:"string" required:"true" enum:"ConversionTaskState"`
  15901. // The status message related to the conversion task.
  15902. StatusMessage *string `locationName:"statusMessage" type:"string"`
  15903. // Any tags assigned to the task.
  15904. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  15905. }
  15906. // String returns the string representation
  15907. func (s ConversionTask) String() string {
  15908. return awsutil.Prettify(s)
  15909. }
  15910. // GoString returns the string representation
  15911. func (s ConversionTask) GoString() string {
  15912. return s.String()
  15913. }
  15914. // SetConversionTaskId sets the ConversionTaskId field's value.
  15915. func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
  15916. s.ConversionTaskId = &v
  15917. return s
  15918. }
  15919. // SetExpirationTime sets the ExpirationTime field's value.
  15920. func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
  15921. s.ExpirationTime = &v
  15922. return s
  15923. }
  15924. // SetImportInstance sets the ImportInstance field's value.
  15925. func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
  15926. s.ImportInstance = v
  15927. return s
  15928. }
  15929. // SetImportVolume sets the ImportVolume field's value.
  15930. func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
  15931. s.ImportVolume = v
  15932. return s
  15933. }
  15934. // SetState sets the State field's value.
  15935. func (s *ConversionTask) SetState(v string) *ConversionTask {
  15936. s.State = &v
  15937. return s
  15938. }
  15939. // SetStatusMessage sets the StatusMessage field's value.
  15940. func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
  15941. s.StatusMessage = &v
  15942. return s
  15943. }
  15944. // SetTags sets the Tags field's value.
  15945. func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
  15946. s.Tags = v
  15947. return s
  15948. }
  15949. // Contains the parameters for CopyImage.
  15950. type CopyImageInput struct {
  15951. _ struct{} `type:"structure"`
  15952. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  15953. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  15954. // in the Amazon Elastic Compute Cloud User Guide.
  15955. ClientToken *string `type:"string"`
  15956. // A description for the new AMI in the destination region.
  15957. Description *string `type:"string"`
  15958. // Checks whether you have the required permissions for the action, without
  15959. // actually making the request, and provides an error response. If you have
  15960. // the required permissions, the error response is DryRunOperation. Otherwise,
  15961. // it is UnauthorizedOperation.
  15962. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15963. // Specifies whether the destination snapshots of the copied image should be
  15964. // encrypted. The default CMK for EBS is used unless a non-default AWS Key Management
  15965. // Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see
  15966. // Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  15967. // in the Amazon Elastic Compute Cloud User Guide.
  15968. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  15969. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  15970. // encrypting the snapshots of an image during a copy operation. This parameter
  15971. // is only required if you want to use a non-default CMK; if this parameter
  15972. // is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms
  15973. // namespace, followed by the region of the CMK, the AWS account ID of the CMK
  15974. // owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  15975. // The specified CMK must exist in the region that the snapshot is being copied
  15976. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  15977. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  15978. // The name of the new AMI in the destination region.
  15979. //
  15980. // Name is a required field
  15981. Name *string `type:"string" required:"true"`
  15982. // The ID of the AMI to copy.
  15983. //
  15984. // SourceImageId is a required field
  15985. SourceImageId *string `type:"string" required:"true"`
  15986. // The name of the region that contains the AMI to copy.
  15987. //
  15988. // SourceRegion is a required field
  15989. SourceRegion *string `type:"string" required:"true"`
  15990. }
  15991. // String returns the string representation
  15992. func (s CopyImageInput) String() string {
  15993. return awsutil.Prettify(s)
  15994. }
  15995. // GoString returns the string representation
  15996. func (s CopyImageInput) GoString() string {
  15997. return s.String()
  15998. }
  15999. // Validate inspects the fields of the type to determine if they are valid.
  16000. func (s *CopyImageInput) Validate() error {
  16001. invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  16002. if s.Name == nil {
  16003. invalidParams.Add(request.NewErrParamRequired("Name"))
  16004. }
  16005. if s.SourceImageId == nil {
  16006. invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  16007. }
  16008. if s.SourceRegion == nil {
  16009. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  16010. }
  16011. if invalidParams.Len() > 0 {
  16012. return invalidParams
  16013. }
  16014. return nil
  16015. }
  16016. // SetClientToken sets the ClientToken field's value.
  16017. func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
  16018. s.ClientToken = &v
  16019. return s
  16020. }
  16021. // SetDescription sets the Description field's value.
  16022. func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
  16023. s.Description = &v
  16024. return s
  16025. }
  16026. // SetDryRun sets the DryRun field's value.
  16027. func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
  16028. s.DryRun = &v
  16029. return s
  16030. }
  16031. // SetEncrypted sets the Encrypted field's value.
  16032. func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
  16033. s.Encrypted = &v
  16034. return s
  16035. }
  16036. // SetKmsKeyId sets the KmsKeyId field's value.
  16037. func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
  16038. s.KmsKeyId = &v
  16039. return s
  16040. }
  16041. // SetName sets the Name field's value.
  16042. func (s *CopyImageInput) SetName(v string) *CopyImageInput {
  16043. s.Name = &v
  16044. return s
  16045. }
  16046. // SetSourceImageId sets the SourceImageId field's value.
  16047. func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
  16048. s.SourceImageId = &v
  16049. return s
  16050. }
  16051. // SetSourceRegion sets the SourceRegion field's value.
  16052. func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
  16053. s.SourceRegion = &v
  16054. return s
  16055. }
  16056. // Contains the output of CopyImage.
  16057. type CopyImageOutput struct {
  16058. _ struct{} `type:"structure"`
  16059. // The ID of the new AMI.
  16060. ImageId *string `locationName:"imageId" type:"string"`
  16061. }
  16062. // String returns the string representation
  16063. func (s CopyImageOutput) String() string {
  16064. return awsutil.Prettify(s)
  16065. }
  16066. // GoString returns the string representation
  16067. func (s CopyImageOutput) GoString() string {
  16068. return s.String()
  16069. }
  16070. // SetImageId sets the ImageId field's value.
  16071. func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
  16072. s.ImageId = &v
  16073. return s
  16074. }
  16075. // Contains the parameters for CopySnapshot.
  16076. type CopySnapshotInput struct {
  16077. _ struct{} `type:"structure"`
  16078. // A description for the EBS snapshot.
  16079. Description *string `type:"string"`
  16080. // The destination region to use in the PresignedUrl parameter of a snapshot
  16081. // copy operation. This parameter is only valid for specifying the destination
  16082. // region in a PresignedUrl parameter, where it is required.
  16083. //
  16084. // CopySnapshot sends the snapshot copy to the regional endpoint that you send
  16085. // the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS CLI,
  16086. // this is specified with the --region parameter or the default region in your
  16087. // AWS configuration file).
  16088. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  16089. // Checks whether you have the required permissions for the action, without
  16090. // actually making the request, and provides an error response. If you have
  16091. // the required permissions, the error response is DryRunOperation. Otherwise,
  16092. // it is UnauthorizedOperation.
  16093. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16094. // Specifies whether the destination snapshot should be encrypted. You can encrypt
  16095. // a copy of an unencrypted snapshot using this flag, but you cannot use it
  16096. // to create an unencrypted copy from an encrypted snapshot. Your default CMK
  16097. // for EBS is used unless a non-default AWS Key Management Service (AWS KMS)
  16098. // CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption
  16099. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in
  16100. // the Amazon Elastic Compute Cloud User Guide.
  16101. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  16102. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  16103. // creating the snapshot copy. This parameter is only required if you want to
  16104. // use a non-default CMK; if this parameter is not specified, the default CMK
  16105. // for EBS is used. The ARN contains the arn:aws:kms namespace, followed by
  16106. // the region of the CMK, the AWS account ID of the CMK owner, the key namespace,
  16107. // and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  16108. // The specified CMK must exist in the region that the snapshot is being copied
  16109. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  16110. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  16111. // The pre-signed URL that facilitates copying an encrypted snapshot. This parameter
  16112. // is only required when copying an encrypted snapshot with the Amazon EC2 Query
  16113. // API; it is available as an optional parameter in all other cases. The PresignedUrl
  16114. // should use the snapshot source endpoint, the CopySnapshot action, and include
  16115. // the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The
  16116. // PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots
  16117. // are stored in Amazon S3, the signing algorithm for this parameter uses the
  16118. // same logic that is described in Authenticating Requests by Using Query Parameters
  16119. // (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  16120. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  16121. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  16122. // and the snapshot will move to an error state.
  16123. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  16124. // The ID of the region that contains the snapshot to be copied.
  16125. //
  16126. // SourceRegion is a required field
  16127. SourceRegion *string `type:"string" required:"true"`
  16128. // The ID of the EBS snapshot to copy.
  16129. //
  16130. // SourceSnapshotId is a required field
  16131. SourceSnapshotId *string `type:"string" required:"true"`
  16132. }
  16133. // String returns the string representation
  16134. func (s CopySnapshotInput) String() string {
  16135. return awsutil.Prettify(s)
  16136. }
  16137. // GoString returns the string representation
  16138. func (s CopySnapshotInput) GoString() string {
  16139. return s.String()
  16140. }
  16141. // Validate inspects the fields of the type to determine if they are valid.
  16142. func (s *CopySnapshotInput) Validate() error {
  16143. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  16144. if s.SourceRegion == nil {
  16145. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  16146. }
  16147. if s.SourceSnapshotId == nil {
  16148. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
  16149. }
  16150. if invalidParams.Len() > 0 {
  16151. return invalidParams
  16152. }
  16153. return nil
  16154. }
  16155. // SetDescription sets the Description field's value.
  16156. func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
  16157. s.Description = &v
  16158. return s
  16159. }
  16160. // SetDestinationRegion sets the DestinationRegion field's value.
  16161. func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
  16162. s.DestinationRegion = &v
  16163. return s
  16164. }
  16165. // SetDryRun sets the DryRun field's value.
  16166. func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
  16167. s.DryRun = &v
  16168. return s
  16169. }
  16170. // SetEncrypted sets the Encrypted field's value.
  16171. func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
  16172. s.Encrypted = &v
  16173. return s
  16174. }
  16175. // SetKmsKeyId sets the KmsKeyId field's value.
  16176. func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
  16177. s.KmsKeyId = &v
  16178. return s
  16179. }
  16180. // SetPresignedUrl sets the PresignedUrl field's value.
  16181. func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
  16182. s.PresignedUrl = &v
  16183. return s
  16184. }
  16185. // SetSourceRegion sets the SourceRegion field's value.
  16186. func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
  16187. s.SourceRegion = &v
  16188. return s
  16189. }
  16190. // SetSourceSnapshotId sets the SourceSnapshotId field's value.
  16191. func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
  16192. s.SourceSnapshotId = &v
  16193. return s
  16194. }
  16195. // Contains the output of CopySnapshot.
  16196. type CopySnapshotOutput struct {
  16197. _ struct{} `type:"structure"`
  16198. // The ID of the new snapshot.
  16199. SnapshotId *string `locationName:"snapshotId" type:"string"`
  16200. }
  16201. // String returns the string representation
  16202. func (s CopySnapshotOutput) String() string {
  16203. return awsutil.Prettify(s)
  16204. }
  16205. // GoString returns the string representation
  16206. func (s CopySnapshotOutput) GoString() string {
  16207. return s.String()
  16208. }
  16209. // SetSnapshotId sets the SnapshotId field's value.
  16210. func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
  16211. s.SnapshotId = &v
  16212. return s
  16213. }
  16214. // Contains the parameters for CreateCustomerGateway.
  16215. type CreateCustomerGatewayInput struct {
  16216. _ struct{} `type:"structure"`
  16217. // For devices that support BGP, the customer gateway's BGP ASN.
  16218. //
  16219. // Default: 65000
  16220. //
  16221. // BgpAsn is a required field
  16222. BgpAsn *int64 `type:"integer" required:"true"`
  16223. // Checks whether you have the required permissions for the action, without
  16224. // actually making the request, and provides an error response. If you have
  16225. // the required permissions, the error response is DryRunOperation. Otherwise,
  16226. // it is UnauthorizedOperation.
  16227. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16228. // The Internet-routable IP address for the customer gateway's outside interface.
  16229. // The address must be static.
  16230. //
  16231. // PublicIp is a required field
  16232. PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
  16233. // The type of VPN connection that this customer gateway supports (ipsec.1).
  16234. //
  16235. // Type is a required field
  16236. Type *string `type:"string" required:"true" enum:"GatewayType"`
  16237. }
  16238. // String returns the string representation
  16239. func (s CreateCustomerGatewayInput) String() string {
  16240. return awsutil.Prettify(s)
  16241. }
  16242. // GoString returns the string representation
  16243. func (s CreateCustomerGatewayInput) GoString() string {
  16244. return s.String()
  16245. }
  16246. // Validate inspects the fields of the type to determine if they are valid.
  16247. func (s *CreateCustomerGatewayInput) Validate() error {
  16248. invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
  16249. if s.BgpAsn == nil {
  16250. invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
  16251. }
  16252. if s.PublicIp == nil {
  16253. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  16254. }
  16255. if s.Type == nil {
  16256. invalidParams.Add(request.NewErrParamRequired("Type"))
  16257. }
  16258. if invalidParams.Len() > 0 {
  16259. return invalidParams
  16260. }
  16261. return nil
  16262. }
  16263. // SetBgpAsn sets the BgpAsn field's value.
  16264. func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
  16265. s.BgpAsn = &v
  16266. return s
  16267. }
  16268. // SetDryRun sets the DryRun field's value.
  16269. func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
  16270. s.DryRun = &v
  16271. return s
  16272. }
  16273. // SetPublicIp sets the PublicIp field's value.
  16274. func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
  16275. s.PublicIp = &v
  16276. return s
  16277. }
  16278. // SetType sets the Type field's value.
  16279. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
  16280. s.Type = &v
  16281. return s
  16282. }
  16283. // Contains the output of CreateCustomerGateway.
  16284. type CreateCustomerGatewayOutput struct {
  16285. _ struct{} `type:"structure"`
  16286. // Information about the customer gateway.
  16287. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  16288. }
  16289. // String returns the string representation
  16290. func (s CreateCustomerGatewayOutput) String() string {
  16291. return awsutil.Prettify(s)
  16292. }
  16293. // GoString returns the string representation
  16294. func (s CreateCustomerGatewayOutput) GoString() string {
  16295. return s.String()
  16296. }
  16297. // SetCustomerGateway sets the CustomerGateway field's value.
  16298. func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
  16299. s.CustomerGateway = v
  16300. return s
  16301. }
  16302. // Contains the parameters for CreateDhcpOptions.
  16303. type CreateDhcpOptionsInput struct {
  16304. _ struct{} `type:"structure"`
  16305. // A DHCP configuration option.
  16306. //
  16307. // DhcpConfigurations is a required field
  16308. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  16309. // Checks whether you have the required permissions for the action, without
  16310. // actually making the request, and provides an error response. If you have
  16311. // the required permissions, the error response is DryRunOperation. Otherwise,
  16312. // it is UnauthorizedOperation.
  16313. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16314. }
  16315. // String returns the string representation
  16316. func (s CreateDhcpOptionsInput) String() string {
  16317. return awsutil.Prettify(s)
  16318. }
  16319. // GoString returns the string representation
  16320. func (s CreateDhcpOptionsInput) GoString() string {
  16321. return s.String()
  16322. }
  16323. // Validate inspects the fields of the type to determine if they are valid.
  16324. func (s *CreateDhcpOptionsInput) Validate() error {
  16325. invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
  16326. if s.DhcpConfigurations == nil {
  16327. invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
  16328. }
  16329. if invalidParams.Len() > 0 {
  16330. return invalidParams
  16331. }
  16332. return nil
  16333. }
  16334. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  16335. func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
  16336. s.DhcpConfigurations = v
  16337. return s
  16338. }
  16339. // SetDryRun sets the DryRun field's value.
  16340. func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
  16341. s.DryRun = &v
  16342. return s
  16343. }
  16344. // Contains the output of CreateDhcpOptions.
  16345. type CreateDhcpOptionsOutput struct {
  16346. _ struct{} `type:"structure"`
  16347. // A set of DHCP options.
  16348. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  16349. }
  16350. // String returns the string representation
  16351. func (s CreateDhcpOptionsOutput) String() string {
  16352. return awsutil.Prettify(s)
  16353. }
  16354. // GoString returns the string representation
  16355. func (s CreateDhcpOptionsOutput) GoString() string {
  16356. return s.String()
  16357. }
  16358. // SetDhcpOptions sets the DhcpOptions field's value.
  16359. func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
  16360. s.DhcpOptions = v
  16361. return s
  16362. }
  16363. // Contains the parameters for CreateFlowLogs.
  16364. type CreateFlowLogsInput struct {
  16365. _ struct{} `type:"structure"`
  16366. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  16367. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  16368. ClientToken *string `type:"string"`
  16369. // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
  16370. // log group.
  16371. //
  16372. // DeliverLogsPermissionArn is a required field
  16373. DeliverLogsPermissionArn *string `type:"string" required:"true"`
  16374. // The name of the CloudWatch log group.
  16375. //
  16376. // LogGroupName is a required field
  16377. LogGroupName *string `type:"string" required:"true"`
  16378. // One or more subnet, network interface, or VPC IDs.
  16379. //
  16380. // Constraints: Maximum of 1000 resources
  16381. //
  16382. // ResourceIds is a required field
  16383. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  16384. // The type of resource on which to create the flow log.
  16385. //
  16386. // ResourceType is a required field
  16387. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  16388. // The type of traffic to log.
  16389. //
  16390. // TrafficType is a required field
  16391. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  16392. }
  16393. // String returns the string representation
  16394. func (s CreateFlowLogsInput) String() string {
  16395. return awsutil.Prettify(s)
  16396. }
  16397. // GoString returns the string representation
  16398. func (s CreateFlowLogsInput) GoString() string {
  16399. return s.String()
  16400. }
  16401. // Validate inspects the fields of the type to determine if they are valid.
  16402. func (s *CreateFlowLogsInput) Validate() error {
  16403. invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
  16404. if s.DeliverLogsPermissionArn == nil {
  16405. invalidParams.Add(request.NewErrParamRequired("DeliverLogsPermissionArn"))
  16406. }
  16407. if s.LogGroupName == nil {
  16408. invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
  16409. }
  16410. if s.ResourceIds == nil {
  16411. invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  16412. }
  16413. if s.ResourceType == nil {
  16414. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  16415. }
  16416. if s.TrafficType == nil {
  16417. invalidParams.Add(request.NewErrParamRequired("TrafficType"))
  16418. }
  16419. if invalidParams.Len() > 0 {
  16420. return invalidParams
  16421. }
  16422. return nil
  16423. }
  16424. // SetClientToken sets the ClientToken field's value.
  16425. func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
  16426. s.ClientToken = &v
  16427. return s
  16428. }
  16429. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  16430. func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
  16431. s.DeliverLogsPermissionArn = &v
  16432. return s
  16433. }
  16434. // SetLogGroupName sets the LogGroupName field's value.
  16435. func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
  16436. s.LogGroupName = &v
  16437. return s
  16438. }
  16439. // SetResourceIds sets the ResourceIds field's value.
  16440. func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
  16441. s.ResourceIds = v
  16442. return s
  16443. }
  16444. // SetResourceType sets the ResourceType field's value.
  16445. func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
  16446. s.ResourceType = &v
  16447. return s
  16448. }
  16449. // SetTrafficType sets the TrafficType field's value.
  16450. func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
  16451. s.TrafficType = &v
  16452. return s
  16453. }
  16454. // Contains the output of CreateFlowLogs.
  16455. type CreateFlowLogsOutput struct {
  16456. _ struct{} `type:"structure"`
  16457. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  16458. // the request.
  16459. ClientToken *string `locationName:"clientToken" type:"string"`
  16460. // The IDs of the flow logs.
  16461. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  16462. // Information about the flow logs that could not be created successfully.
  16463. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  16464. }
  16465. // String returns the string representation
  16466. func (s CreateFlowLogsOutput) String() string {
  16467. return awsutil.Prettify(s)
  16468. }
  16469. // GoString returns the string representation
  16470. func (s CreateFlowLogsOutput) GoString() string {
  16471. return s.String()
  16472. }
  16473. // SetClientToken sets the ClientToken field's value.
  16474. func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
  16475. s.ClientToken = &v
  16476. return s
  16477. }
  16478. // SetFlowLogIds sets the FlowLogIds field's value.
  16479. func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
  16480. s.FlowLogIds = v
  16481. return s
  16482. }
  16483. // SetUnsuccessful sets the Unsuccessful field's value.
  16484. func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
  16485. s.Unsuccessful = v
  16486. return s
  16487. }
  16488. // Contains the parameters for CreateImage.
  16489. type CreateImageInput struct {
  16490. _ struct{} `type:"structure"`
  16491. // Information about one or more block device mappings.
  16492. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  16493. // A description for the new image.
  16494. Description *string `locationName:"description" type:"string"`
  16495. // Checks whether you have the required permissions for the action, without
  16496. // actually making the request, and provides an error response. If you have
  16497. // the required permissions, the error response is DryRunOperation. Otherwise,
  16498. // it is UnauthorizedOperation.
  16499. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16500. // The ID of the instance.
  16501. //
  16502. // InstanceId is a required field
  16503. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  16504. // A name for the new image.
  16505. //
  16506. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  16507. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  16508. // at-signs (@), or underscores(_)
  16509. //
  16510. // Name is a required field
  16511. Name *string `locationName:"name" type:"string" required:"true"`
  16512. // By default, Amazon EC2 attempts to shut down and reboot the instance before
  16513. // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
  16514. // shut down the instance before creating the image. When this option is used,
  16515. // file system integrity on the created image can't be guaranteed.
  16516. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  16517. }
  16518. // String returns the string representation
  16519. func (s CreateImageInput) String() string {
  16520. return awsutil.Prettify(s)
  16521. }
  16522. // GoString returns the string representation
  16523. func (s CreateImageInput) GoString() string {
  16524. return s.String()
  16525. }
  16526. // Validate inspects the fields of the type to determine if they are valid.
  16527. func (s *CreateImageInput) Validate() error {
  16528. invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  16529. if s.InstanceId == nil {
  16530. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  16531. }
  16532. if s.Name == nil {
  16533. invalidParams.Add(request.NewErrParamRequired("Name"))
  16534. }
  16535. if invalidParams.Len() > 0 {
  16536. return invalidParams
  16537. }
  16538. return nil
  16539. }
  16540. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  16541. func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
  16542. s.BlockDeviceMappings = v
  16543. return s
  16544. }
  16545. // SetDescription sets the Description field's value.
  16546. func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
  16547. s.Description = &v
  16548. return s
  16549. }
  16550. // SetDryRun sets the DryRun field's value.
  16551. func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
  16552. s.DryRun = &v
  16553. return s
  16554. }
  16555. // SetInstanceId sets the InstanceId field's value.
  16556. func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
  16557. s.InstanceId = &v
  16558. return s
  16559. }
  16560. // SetName sets the Name field's value.
  16561. func (s *CreateImageInput) SetName(v string) *CreateImageInput {
  16562. s.Name = &v
  16563. return s
  16564. }
  16565. // SetNoReboot sets the NoReboot field's value.
  16566. func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
  16567. s.NoReboot = &v
  16568. return s
  16569. }
  16570. // Contains the output of CreateImage.
  16571. type CreateImageOutput struct {
  16572. _ struct{} `type:"structure"`
  16573. // The ID of the new AMI.
  16574. ImageId *string `locationName:"imageId" type:"string"`
  16575. }
  16576. // String returns the string representation
  16577. func (s CreateImageOutput) String() string {
  16578. return awsutil.Prettify(s)
  16579. }
  16580. // GoString returns the string representation
  16581. func (s CreateImageOutput) GoString() string {
  16582. return s.String()
  16583. }
  16584. // SetImageId sets the ImageId field's value.
  16585. func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
  16586. s.ImageId = &v
  16587. return s
  16588. }
  16589. // Contains the parameters for CreateInstanceExportTask.
  16590. type CreateInstanceExportTaskInput struct {
  16591. _ struct{} `type:"structure"`
  16592. // A description for the conversion task or the resource being exported. The
  16593. // maximum length is 255 bytes.
  16594. Description *string `locationName:"description" type:"string"`
  16595. // The format and location for an instance export task.
  16596. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  16597. // The ID of the instance.
  16598. //
  16599. // InstanceId is a required field
  16600. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  16601. // The target virtualization environment.
  16602. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  16603. }
  16604. // String returns the string representation
  16605. func (s CreateInstanceExportTaskInput) String() string {
  16606. return awsutil.Prettify(s)
  16607. }
  16608. // GoString returns the string representation
  16609. func (s CreateInstanceExportTaskInput) GoString() string {
  16610. return s.String()
  16611. }
  16612. // Validate inspects the fields of the type to determine if they are valid.
  16613. func (s *CreateInstanceExportTaskInput) Validate() error {
  16614. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
  16615. if s.InstanceId == nil {
  16616. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  16617. }
  16618. if invalidParams.Len() > 0 {
  16619. return invalidParams
  16620. }
  16621. return nil
  16622. }
  16623. // SetDescription sets the Description field's value.
  16624. func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
  16625. s.Description = &v
  16626. return s
  16627. }
  16628. // SetExportToS3Task sets the ExportToS3Task field's value.
  16629. func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
  16630. s.ExportToS3Task = v
  16631. return s
  16632. }
  16633. // SetInstanceId sets the InstanceId field's value.
  16634. func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
  16635. s.InstanceId = &v
  16636. return s
  16637. }
  16638. // SetTargetEnvironment sets the TargetEnvironment field's value.
  16639. func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
  16640. s.TargetEnvironment = &v
  16641. return s
  16642. }
  16643. // Contains the output for CreateInstanceExportTask.
  16644. type CreateInstanceExportTaskOutput struct {
  16645. _ struct{} `type:"structure"`
  16646. // Information about the instance export task.
  16647. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  16648. }
  16649. // String returns the string representation
  16650. func (s CreateInstanceExportTaskOutput) String() string {
  16651. return awsutil.Prettify(s)
  16652. }
  16653. // GoString returns the string representation
  16654. func (s CreateInstanceExportTaskOutput) GoString() string {
  16655. return s.String()
  16656. }
  16657. // SetExportTask sets the ExportTask field's value.
  16658. func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
  16659. s.ExportTask = v
  16660. return s
  16661. }
  16662. // Contains the parameters for CreateInternetGateway.
  16663. type CreateInternetGatewayInput struct {
  16664. _ struct{} `type:"structure"`
  16665. // Checks whether you have the required permissions for the action, without
  16666. // actually making the request, and provides an error response. If you have
  16667. // the required permissions, the error response is DryRunOperation. Otherwise,
  16668. // it is UnauthorizedOperation.
  16669. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16670. }
  16671. // String returns the string representation
  16672. func (s CreateInternetGatewayInput) String() string {
  16673. return awsutil.Prettify(s)
  16674. }
  16675. // GoString returns the string representation
  16676. func (s CreateInternetGatewayInput) GoString() string {
  16677. return s.String()
  16678. }
  16679. // SetDryRun sets the DryRun field's value.
  16680. func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
  16681. s.DryRun = &v
  16682. return s
  16683. }
  16684. // Contains the output of CreateInternetGateway.
  16685. type CreateInternetGatewayOutput struct {
  16686. _ struct{} `type:"structure"`
  16687. // Information about the Internet gateway.
  16688. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  16689. }
  16690. // String returns the string representation
  16691. func (s CreateInternetGatewayOutput) String() string {
  16692. return awsutil.Prettify(s)
  16693. }
  16694. // GoString returns the string representation
  16695. func (s CreateInternetGatewayOutput) GoString() string {
  16696. return s.String()
  16697. }
  16698. // SetInternetGateway sets the InternetGateway field's value.
  16699. func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
  16700. s.InternetGateway = v
  16701. return s
  16702. }
  16703. // Contains the parameters for CreateKeyPair.
  16704. type CreateKeyPairInput struct {
  16705. _ struct{} `type:"structure"`
  16706. // Checks whether you have the required permissions for the action, without
  16707. // actually making the request, and provides an error response. If you have
  16708. // the required permissions, the error response is DryRunOperation. Otherwise,
  16709. // it is UnauthorizedOperation.
  16710. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16711. // A unique name for the key pair.
  16712. //
  16713. // Constraints: Up to 255 ASCII characters
  16714. //
  16715. // KeyName is a required field
  16716. KeyName *string `type:"string" required:"true"`
  16717. }
  16718. // String returns the string representation
  16719. func (s CreateKeyPairInput) String() string {
  16720. return awsutil.Prettify(s)
  16721. }
  16722. // GoString returns the string representation
  16723. func (s CreateKeyPairInput) GoString() string {
  16724. return s.String()
  16725. }
  16726. // Validate inspects the fields of the type to determine if they are valid.
  16727. func (s *CreateKeyPairInput) Validate() error {
  16728. invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
  16729. if s.KeyName == nil {
  16730. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  16731. }
  16732. if invalidParams.Len() > 0 {
  16733. return invalidParams
  16734. }
  16735. return nil
  16736. }
  16737. // SetDryRun sets the DryRun field's value.
  16738. func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
  16739. s.DryRun = &v
  16740. return s
  16741. }
  16742. // SetKeyName sets the KeyName field's value.
  16743. func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
  16744. s.KeyName = &v
  16745. return s
  16746. }
  16747. // Describes a key pair.
  16748. type CreateKeyPairOutput struct {
  16749. _ struct{} `type:"structure"`
  16750. // The SHA-1 digest of the DER encoded private key.
  16751. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  16752. // An unencrypted PEM encoded RSA private key.
  16753. KeyMaterial *string `locationName:"keyMaterial" type:"string"`
  16754. // The name of the key pair.
  16755. KeyName *string `locationName:"keyName" type:"string"`
  16756. }
  16757. // String returns the string representation
  16758. func (s CreateKeyPairOutput) String() string {
  16759. return awsutil.Prettify(s)
  16760. }
  16761. // GoString returns the string representation
  16762. func (s CreateKeyPairOutput) GoString() string {
  16763. return s.String()
  16764. }
  16765. // SetKeyFingerprint sets the KeyFingerprint field's value.
  16766. func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
  16767. s.KeyFingerprint = &v
  16768. return s
  16769. }
  16770. // SetKeyMaterial sets the KeyMaterial field's value.
  16771. func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
  16772. s.KeyMaterial = &v
  16773. return s
  16774. }
  16775. // SetKeyName sets the KeyName field's value.
  16776. func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
  16777. s.KeyName = &v
  16778. return s
  16779. }
  16780. // Contains the parameters for CreateNatGateway.
  16781. type CreateNatGatewayInput struct {
  16782. _ struct{} `type:"structure"`
  16783. // The allocation ID of an Elastic IP address to associate with the NAT gateway.
  16784. // If the Elastic IP address is associated with another resource, you must first
  16785. // disassociate it.
  16786. //
  16787. // AllocationId is a required field
  16788. AllocationId *string `type:"string" required:"true"`
  16789. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  16790. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  16791. //
  16792. // Constraint: Maximum 64 ASCII characters.
  16793. ClientToken *string `type:"string"`
  16794. // The subnet in which to create the NAT gateway.
  16795. //
  16796. // SubnetId is a required field
  16797. SubnetId *string `type:"string" required:"true"`
  16798. }
  16799. // String returns the string representation
  16800. func (s CreateNatGatewayInput) String() string {
  16801. return awsutil.Prettify(s)
  16802. }
  16803. // GoString returns the string representation
  16804. func (s CreateNatGatewayInput) GoString() string {
  16805. return s.String()
  16806. }
  16807. // Validate inspects the fields of the type to determine if they are valid.
  16808. func (s *CreateNatGatewayInput) Validate() error {
  16809. invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
  16810. if s.AllocationId == nil {
  16811. invalidParams.Add(request.NewErrParamRequired("AllocationId"))
  16812. }
  16813. if s.SubnetId == nil {
  16814. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  16815. }
  16816. if invalidParams.Len() > 0 {
  16817. return invalidParams
  16818. }
  16819. return nil
  16820. }
  16821. // SetAllocationId sets the AllocationId field's value.
  16822. func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
  16823. s.AllocationId = &v
  16824. return s
  16825. }
  16826. // SetClientToken sets the ClientToken field's value.
  16827. func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
  16828. s.ClientToken = &v
  16829. return s
  16830. }
  16831. // SetSubnetId sets the SubnetId field's value.
  16832. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
  16833. s.SubnetId = &v
  16834. return s
  16835. }
  16836. // Contains the output of CreateNatGateway.
  16837. type CreateNatGatewayOutput struct {
  16838. _ struct{} `type:"structure"`
  16839. // Unique, case-sensitive identifier to ensure the idempotency of the request.
  16840. // Only returned if a client token was provided in the request.
  16841. ClientToken *string `locationName:"clientToken" type:"string"`
  16842. // Information about the NAT gateway.
  16843. NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
  16844. }
  16845. // String returns the string representation
  16846. func (s CreateNatGatewayOutput) String() string {
  16847. return awsutil.Prettify(s)
  16848. }
  16849. // GoString returns the string representation
  16850. func (s CreateNatGatewayOutput) GoString() string {
  16851. return s.String()
  16852. }
  16853. // SetClientToken sets the ClientToken field's value.
  16854. func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
  16855. s.ClientToken = &v
  16856. return s
  16857. }
  16858. // SetNatGateway sets the NatGateway field's value.
  16859. func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
  16860. s.NatGateway = v
  16861. return s
  16862. }
  16863. // Contains the parameters for CreateNetworkAclEntry.
  16864. type CreateNetworkAclEntryInput struct {
  16865. _ struct{} `type:"structure"`
  16866. // The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  16867. //
  16868. // CidrBlock is a required field
  16869. CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"`
  16870. // Checks whether you have the required permissions for the action, without
  16871. // actually making the request, and provides an error response. If you have
  16872. // the required permissions, the error response is DryRunOperation. Otherwise,
  16873. // it is UnauthorizedOperation.
  16874. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16875. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  16876. // the subnet).
  16877. //
  16878. // Egress is a required field
  16879. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  16880. // ICMP protocol: The ICMP type and code. Required if specifying ICMP for the
  16881. // protocol.
  16882. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  16883. // The ID of the network ACL.
  16884. //
  16885. // NetworkAclId is a required field
  16886. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  16887. // TCP or UDP protocols: The range of ports the rule applies to.
  16888. PortRange *PortRange `locationName:"portRange" type:"structure"`
  16889. // The protocol. A value of -1 means all protocols.
  16890. //
  16891. // Protocol is a required field
  16892. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  16893. // Indicates whether to allow or deny the traffic that matches the rule.
  16894. //
  16895. // RuleAction is a required field
  16896. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  16897. // The rule number for the entry (for example, 100). ACL entries are processed
  16898. // in ascending order by rule number.
  16899. //
  16900. // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
  16901. // reserved for internal use.
  16902. //
  16903. // RuleNumber is a required field
  16904. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  16905. }
  16906. // String returns the string representation
  16907. func (s CreateNetworkAclEntryInput) String() string {
  16908. return awsutil.Prettify(s)
  16909. }
  16910. // GoString returns the string representation
  16911. func (s CreateNetworkAclEntryInput) GoString() string {
  16912. return s.String()
  16913. }
  16914. // Validate inspects the fields of the type to determine if they are valid.
  16915. func (s *CreateNetworkAclEntryInput) Validate() error {
  16916. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
  16917. if s.CidrBlock == nil {
  16918. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  16919. }
  16920. if s.Egress == nil {
  16921. invalidParams.Add(request.NewErrParamRequired("Egress"))
  16922. }
  16923. if s.NetworkAclId == nil {
  16924. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  16925. }
  16926. if s.Protocol == nil {
  16927. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  16928. }
  16929. if s.RuleAction == nil {
  16930. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  16931. }
  16932. if s.RuleNumber == nil {
  16933. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  16934. }
  16935. if invalidParams.Len() > 0 {
  16936. return invalidParams
  16937. }
  16938. return nil
  16939. }
  16940. // SetCidrBlock sets the CidrBlock field's value.
  16941. func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
  16942. s.CidrBlock = &v
  16943. return s
  16944. }
  16945. // SetDryRun sets the DryRun field's value.
  16946. func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
  16947. s.DryRun = &v
  16948. return s
  16949. }
  16950. // SetEgress sets the Egress field's value.
  16951. func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
  16952. s.Egress = &v
  16953. return s
  16954. }
  16955. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  16956. func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
  16957. s.IcmpTypeCode = v
  16958. return s
  16959. }
  16960. // SetNetworkAclId sets the NetworkAclId field's value.
  16961. func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
  16962. s.NetworkAclId = &v
  16963. return s
  16964. }
  16965. // SetPortRange sets the PortRange field's value.
  16966. func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
  16967. s.PortRange = v
  16968. return s
  16969. }
  16970. // SetProtocol sets the Protocol field's value.
  16971. func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
  16972. s.Protocol = &v
  16973. return s
  16974. }
  16975. // SetRuleAction sets the RuleAction field's value.
  16976. func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
  16977. s.RuleAction = &v
  16978. return s
  16979. }
  16980. // SetRuleNumber sets the RuleNumber field's value.
  16981. func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
  16982. s.RuleNumber = &v
  16983. return s
  16984. }
  16985. type CreateNetworkAclEntryOutput struct {
  16986. _ struct{} `type:"structure"`
  16987. }
  16988. // String returns the string representation
  16989. func (s CreateNetworkAclEntryOutput) String() string {
  16990. return awsutil.Prettify(s)
  16991. }
  16992. // GoString returns the string representation
  16993. func (s CreateNetworkAclEntryOutput) GoString() string {
  16994. return s.String()
  16995. }
  16996. // Contains the parameters for CreateNetworkAcl.
  16997. type CreateNetworkAclInput struct {
  16998. _ struct{} `type:"structure"`
  16999. // Checks whether you have the required permissions for the action, without
  17000. // actually making the request, and provides an error response. If you have
  17001. // the required permissions, the error response is DryRunOperation. Otherwise,
  17002. // it is UnauthorizedOperation.
  17003. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17004. // The ID of the VPC.
  17005. //
  17006. // VpcId is a required field
  17007. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  17008. }
  17009. // String returns the string representation
  17010. func (s CreateNetworkAclInput) String() string {
  17011. return awsutil.Prettify(s)
  17012. }
  17013. // GoString returns the string representation
  17014. func (s CreateNetworkAclInput) GoString() string {
  17015. return s.String()
  17016. }
  17017. // Validate inspects the fields of the type to determine if they are valid.
  17018. func (s *CreateNetworkAclInput) Validate() error {
  17019. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
  17020. if s.VpcId == nil {
  17021. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  17022. }
  17023. if invalidParams.Len() > 0 {
  17024. return invalidParams
  17025. }
  17026. return nil
  17027. }
  17028. // SetDryRun sets the DryRun field's value.
  17029. func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
  17030. s.DryRun = &v
  17031. return s
  17032. }
  17033. // SetVpcId sets the VpcId field's value.
  17034. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
  17035. s.VpcId = &v
  17036. return s
  17037. }
  17038. // Contains the output of CreateNetworkAcl.
  17039. type CreateNetworkAclOutput struct {
  17040. _ struct{} `type:"structure"`
  17041. // Information about the network ACL.
  17042. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  17043. }
  17044. // String returns the string representation
  17045. func (s CreateNetworkAclOutput) String() string {
  17046. return awsutil.Prettify(s)
  17047. }
  17048. // GoString returns the string representation
  17049. func (s CreateNetworkAclOutput) GoString() string {
  17050. return s.String()
  17051. }
  17052. // SetNetworkAcl sets the NetworkAcl field's value.
  17053. func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
  17054. s.NetworkAcl = v
  17055. return s
  17056. }
  17057. // Contains the parameters for CreateNetworkInterface.
  17058. type CreateNetworkInterfaceInput struct {
  17059. _ struct{} `type:"structure"`
  17060. // A description for the network interface.
  17061. Description *string `locationName:"description" type:"string"`
  17062. // Checks whether you have the required permissions for the action, without
  17063. // actually making the request, and provides an error response. If you have
  17064. // the required permissions, the error response is DryRunOperation. Otherwise,
  17065. // it is UnauthorizedOperation.
  17066. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17067. // The IDs of one or more security groups.
  17068. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  17069. // The primary private IP address of the network interface. If you don't specify
  17070. // an IP address, Amazon EC2 selects one for you from the subnet range. If you
  17071. // specify an IP address, you cannot indicate any IP addresses specified in
  17072. // privateIpAddresses as primary (only one IP address can be designated as primary).
  17073. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  17074. // One or more private IP addresses.
  17075. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  17076. // The number of secondary private IP addresses to assign to a network interface.
  17077. // When you specify a number of secondary IP addresses, Amazon EC2 selects these
  17078. // IP addresses within the subnet range. You can't specify this option and specify
  17079. // more than one private IP address using privateIpAddresses.
  17080. //
  17081. // The number of IP addresses you can assign to a network interface varies by
  17082. // instance type. For more information, see Private IP Addresses Per ENI Per
  17083. // Instance Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  17084. // in the Amazon Elastic Compute Cloud User Guide.
  17085. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  17086. // The ID of the subnet to associate with the network interface.
  17087. //
  17088. // SubnetId is a required field
  17089. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  17090. }
  17091. // String returns the string representation
  17092. func (s CreateNetworkInterfaceInput) String() string {
  17093. return awsutil.Prettify(s)
  17094. }
  17095. // GoString returns the string representation
  17096. func (s CreateNetworkInterfaceInput) GoString() string {
  17097. return s.String()
  17098. }
  17099. // Validate inspects the fields of the type to determine if they are valid.
  17100. func (s *CreateNetworkInterfaceInput) Validate() error {
  17101. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
  17102. if s.SubnetId == nil {
  17103. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  17104. }
  17105. if s.PrivateIpAddresses != nil {
  17106. for i, v := range s.PrivateIpAddresses {
  17107. if v == nil {
  17108. continue
  17109. }
  17110. if err := v.Validate(); err != nil {
  17111. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  17112. }
  17113. }
  17114. }
  17115. if invalidParams.Len() > 0 {
  17116. return invalidParams
  17117. }
  17118. return nil
  17119. }
  17120. // SetDescription sets the Description field's value.
  17121. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
  17122. s.Description = &v
  17123. return s
  17124. }
  17125. // SetDryRun sets the DryRun field's value.
  17126. func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
  17127. s.DryRun = &v
  17128. return s
  17129. }
  17130. // SetGroups sets the Groups field's value.
  17131. func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
  17132. s.Groups = v
  17133. return s
  17134. }
  17135. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  17136. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
  17137. s.PrivateIpAddress = &v
  17138. return s
  17139. }
  17140. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  17141. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
  17142. s.PrivateIpAddresses = v
  17143. return s
  17144. }
  17145. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  17146. func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
  17147. s.SecondaryPrivateIpAddressCount = &v
  17148. return s
  17149. }
  17150. // SetSubnetId sets the SubnetId field's value.
  17151. func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
  17152. s.SubnetId = &v
  17153. return s
  17154. }
  17155. // Contains the output of CreateNetworkInterface.
  17156. type CreateNetworkInterfaceOutput struct {
  17157. _ struct{} `type:"structure"`
  17158. // Information about the network interface.
  17159. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  17160. }
  17161. // String returns the string representation
  17162. func (s CreateNetworkInterfaceOutput) String() string {
  17163. return awsutil.Prettify(s)
  17164. }
  17165. // GoString returns the string representation
  17166. func (s CreateNetworkInterfaceOutput) GoString() string {
  17167. return s.String()
  17168. }
  17169. // SetNetworkInterface sets the NetworkInterface field's value.
  17170. func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
  17171. s.NetworkInterface = v
  17172. return s
  17173. }
  17174. // Contains the parameters for CreatePlacementGroup.
  17175. type CreatePlacementGroupInput struct {
  17176. _ struct{} `type:"structure"`
  17177. // Checks whether you have the required permissions for the action, without
  17178. // actually making the request, and provides an error response. If you have
  17179. // the required permissions, the error response is DryRunOperation. Otherwise,
  17180. // it is UnauthorizedOperation.
  17181. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17182. // A name for the placement group.
  17183. //
  17184. // Constraints: Up to 255 ASCII characters
  17185. //
  17186. // GroupName is a required field
  17187. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  17188. // The placement strategy.
  17189. //
  17190. // Strategy is a required field
  17191. Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
  17192. }
  17193. // String returns the string representation
  17194. func (s CreatePlacementGroupInput) String() string {
  17195. return awsutil.Prettify(s)
  17196. }
  17197. // GoString returns the string representation
  17198. func (s CreatePlacementGroupInput) GoString() string {
  17199. return s.String()
  17200. }
  17201. // Validate inspects the fields of the type to determine if they are valid.
  17202. func (s *CreatePlacementGroupInput) Validate() error {
  17203. invalidParams := request.ErrInvalidParams{Context: "CreatePlacementGroupInput"}
  17204. if s.GroupName == nil {
  17205. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  17206. }
  17207. if s.Strategy == nil {
  17208. invalidParams.Add(request.NewErrParamRequired("Strategy"))
  17209. }
  17210. if invalidParams.Len() > 0 {
  17211. return invalidParams
  17212. }
  17213. return nil
  17214. }
  17215. // SetDryRun sets the DryRun field's value.
  17216. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
  17217. s.DryRun = &v
  17218. return s
  17219. }
  17220. // SetGroupName sets the GroupName field's value.
  17221. func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
  17222. s.GroupName = &v
  17223. return s
  17224. }
  17225. // SetStrategy sets the Strategy field's value.
  17226. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
  17227. s.Strategy = &v
  17228. return s
  17229. }
  17230. type CreatePlacementGroupOutput struct {
  17231. _ struct{} `type:"structure"`
  17232. }
  17233. // String returns the string representation
  17234. func (s CreatePlacementGroupOutput) String() string {
  17235. return awsutil.Prettify(s)
  17236. }
  17237. // GoString returns the string representation
  17238. func (s CreatePlacementGroupOutput) GoString() string {
  17239. return s.String()
  17240. }
  17241. // Contains the parameters for CreateReservedInstancesListing.
  17242. type CreateReservedInstancesListingInput struct {
  17243. _ struct{} `type:"structure"`
  17244. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  17245. // listings. This helps avoid duplicate listings. For more information, see
  17246. // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  17247. //
  17248. // ClientToken is a required field
  17249. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  17250. // The number of instances that are a part of a Reserved Instance account to
  17251. // be listed in the Reserved Instance Marketplace. This number should be less
  17252. // than or equal to the instance count associated with the Reserved Instance
  17253. // ID specified in this call.
  17254. //
  17255. // InstanceCount is a required field
  17256. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  17257. // A list specifying the price of the Standard Reserved Instance for each month
  17258. // remaining in the Reserved Instance term.
  17259. //
  17260. // PriceSchedules is a required field
  17261. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  17262. // The ID of the active Standard Reserved Instance.
  17263. //
  17264. // ReservedInstancesId is a required field
  17265. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  17266. }
  17267. // String returns the string representation
  17268. func (s CreateReservedInstancesListingInput) String() string {
  17269. return awsutil.Prettify(s)
  17270. }
  17271. // GoString returns the string representation
  17272. func (s CreateReservedInstancesListingInput) GoString() string {
  17273. return s.String()
  17274. }
  17275. // Validate inspects the fields of the type to determine if they are valid.
  17276. func (s *CreateReservedInstancesListingInput) Validate() error {
  17277. invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
  17278. if s.ClientToken == nil {
  17279. invalidParams.Add(request.NewErrParamRequired("ClientToken"))
  17280. }
  17281. if s.InstanceCount == nil {
  17282. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  17283. }
  17284. if s.PriceSchedules == nil {
  17285. invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
  17286. }
  17287. if s.ReservedInstancesId == nil {
  17288. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
  17289. }
  17290. if invalidParams.Len() > 0 {
  17291. return invalidParams
  17292. }
  17293. return nil
  17294. }
  17295. // SetClientToken sets the ClientToken field's value.
  17296. func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
  17297. s.ClientToken = &v
  17298. return s
  17299. }
  17300. // SetInstanceCount sets the InstanceCount field's value.
  17301. func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
  17302. s.InstanceCount = &v
  17303. return s
  17304. }
  17305. // SetPriceSchedules sets the PriceSchedules field's value.
  17306. func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
  17307. s.PriceSchedules = v
  17308. return s
  17309. }
  17310. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  17311. func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
  17312. s.ReservedInstancesId = &v
  17313. return s
  17314. }
  17315. // Contains the output of CreateReservedInstancesListing.
  17316. type CreateReservedInstancesListingOutput struct {
  17317. _ struct{} `type:"structure"`
  17318. // Information about the Standard Reserved Instance listing.
  17319. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  17320. }
  17321. // String returns the string representation
  17322. func (s CreateReservedInstancesListingOutput) String() string {
  17323. return awsutil.Prettify(s)
  17324. }
  17325. // GoString returns the string representation
  17326. func (s CreateReservedInstancesListingOutput) GoString() string {
  17327. return s.String()
  17328. }
  17329. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  17330. func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
  17331. s.ReservedInstancesListings = v
  17332. return s
  17333. }
  17334. // Contains the parameters for CreateRoute.
  17335. type CreateRouteInput struct {
  17336. _ struct{} `type:"structure"`
  17337. // The CIDR address block used for the destination match. Routing decisions
  17338. // are based on the most specific match.
  17339. //
  17340. // DestinationCidrBlock is a required field
  17341. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
  17342. // Checks whether you have the required permissions for the action, without
  17343. // actually making the request, and provides an error response. If you have
  17344. // the required permissions, the error response is DryRunOperation. Otherwise,
  17345. // it is UnauthorizedOperation.
  17346. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17347. // The ID of an Internet gateway or virtual private gateway attached to your
  17348. // VPC.
  17349. GatewayId *string `locationName:"gatewayId" type:"string"`
  17350. // The ID of a NAT instance in your VPC. The operation fails if you specify
  17351. // an instance ID unless exactly one network interface is attached.
  17352. InstanceId *string `locationName:"instanceId" type:"string"`
  17353. // The ID of a NAT gateway.
  17354. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  17355. // The ID of a network interface.
  17356. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  17357. // The ID of the route table for the route.
  17358. //
  17359. // RouteTableId is a required field
  17360. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  17361. // The ID of a VPC peering connection.
  17362. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  17363. }
  17364. // String returns the string representation
  17365. func (s CreateRouteInput) String() string {
  17366. return awsutil.Prettify(s)
  17367. }
  17368. // GoString returns the string representation
  17369. func (s CreateRouteInput) GoString() string {
  17370. return s.String()
  17371. }
  17372. // Validate inspects the fields of the type to determine if they are valid.
  17373. func (s *CreateRouteInput) Validate() error {
  17374. invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  17375. if s.DestinationCidrBlock == nil {
  17376. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  17377. }
  17378. if s.RouteTableId == nil {
  17379. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  17380. }
  17381. if invalidParams.Len() > 0 {
  17382. return invalidParams
  17383. }
  17384. return nil
  17385. }
  17386. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  17387. func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
  17388. s.DestinationCidrBlock = &v
  17389. return s
  17390. }
  17391. // SetDryRun sets the DryRun field's value.
  17392. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
  17393. s.DryRun = &v
  17394. return s
  17395. }
  17396. // SetGatewayId sets the GatewayId field's value.
  17397. func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
  17398. s.GatewayId = &v
  17399. return s
  17400. }
  17401. // SetInstanceId sets the InstanceId field's value.
  17402. func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
  17403. s.InstanceId = &v
  17404. return s
  17405. }
  17406. // SetNatGatewayId sets the NatGatewayId field's value.
  17407. func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
  17408. s.NatGatewayId = &v
  17409. return s
  17410. }
  17411. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  17412. func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
  17413. s.NetworkInterfaceId = &v
  17414. return s
  17415. }
  17416. // SetRouteTableId sets the RouteTableId field's value.
  17417. func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
  17418. s.RouteTableId = &v
  17419. return s
  17420. }
  17421. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  17422. func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
  17423. s.VpcPeeringConnectionId = &v
  17424. return s
  17425. }
  17426. // Contains the output of CreateRoute.
  17427. type CreateRouteOutput struct {
  17428. _ struct{} `type:"structure"`
  17429. // Returns true if the request succeeds; otherwise, it returns an error.
  17430. Return *bool `locationName:"return" type:"boolean"`
  17431. }
  17432. // String returns the string representation
  17433. func (s CreateRouteOutput) String() string {
  17434. return awsutil.Prettify(s)
  17435. }
  17436. // GoString returns the string representation
  17437. func (s CreateRouteOutput) GoString() string {
  17438. return s.String()
  17439. }
  17440. // SetReturn sets the Return field's value.
  17441. func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
  17442. s.Return = &v
  17443. return s
  17444. }
  17445. // Contains the parameters for CreateRouteTable.
  17446. type CreateRouteTableInput struct {
  17447. _ struct{} `type:"structure"`
  17448. // Checks whether you have the required permissions for the action, without
  17449. // actually making the request, and provides an error response. If you have
  17450. // the required permissions, the error response is DryRunOperation. Otherwise,
  17451. // it is UnauthorizedOperation.
  17452. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17453. // The ID of the VPC.
  17454. //
  17455. // VpcId is a required field
  17456. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  17457. }
  17458. // String returns the string representation
  17459. func (s CreateRouteTableInput) String() string {
  17460. return awsutil.Prettify(s)
  17461. }
  17462. // GoString returns the string representation
  17463. func (s CreateRouteTableInput) GoString() string {
  17464. return s.String()
  17465. }
  17466. // Validate inspects the fields of the type to determine if they are valid.
  17467. func (s *CreateRouteTableInput) Validate() error {
  17468. invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
  17469. if s.VpcId == nil {
  17470. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  17471. }
  17472. if invalidParams.Len() > 0 {
  17473. return invalidParams
  17474. }
  17475. return nil
  17476. }
  17477. // SetDryRun sets the DryRun field's value.
  17478. func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
  17479. s.DryRun = &v
  17480. return s
  17481. }
  17482. // SetVpcId sets the VpcId field's value.
  17483. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
  17484. s.VpcId = &v
  17485. return s
  17486. }
  17487. // Contains the output of CreateRouteTable.
  17488. type CreateRouteTableOutput struct {
  17489. _ struct{} `type:"structure"`
  17490. // Information about the route table.
  17491. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  17492. }
  17493. // String returns the string representation
  17494. func (s CreateRouteTableOutput) String() string {
  17495. return awsutil.Prettify(s)
  17496. }
  17497. // GoString returns the string representation
  17498. func (s CreateRouteTableOutput) GoString() string {
  17499. return s.String()
  17500. }
  17501. // SetRouteTable sets the RouteTable field's value.
  17502. func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
  17503. s.RouteTable = v
  17504. return s
  17505. }
  17506. // Contains the parameters for CreateSecurityGroup.
  17507. type CreateSecurityGroupInput struct {
  17508. _ struct{} `type:"structure"`
  17509. // A description for the security group. This is informational only.
  17510. //
  17511. // Constraints: Up to 255 characters in length
  17512. //
  17513. // Constraints for EC2-Classic: ASCII characters
  17514. //
  17515. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  17516. //
  17517. // Description is a required field
  17518. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  17519. // Checks whether you have the required permissions for the action, without
  17520. // actually making the request, and provides an error response. If you have
  17521. // the required permissions, the error response is DryRunOperation. Otherwise,
  17522. // it is UnauthorizedOperation.
  17523. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17524. // The name of the security group.
  17525. //
  17526. // Constraints: Up to 255 characters in length
  17527. //
  17528. // Constraints for EC2-Classic: ASCII characters
  17529. //
  17530. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  17531. //
  17532. // GroupName is a required field
  17533. GroupName *string `type:"string" required:"true"`
  17534. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  17535. VpcId *string `type:"string"`
  17536. }
  17537. // String returns the string representation
  17538. func (s CreateSecurityGroupInput) String() string {
  17539. return awsutil.Prettify(s)
  17540. }
  17541. // GoString returns the string representation
  17542. func (s CreateSecurityGroupInput) GoString() string {
  17543. return s.String()
  17544. }
  17545. // Validate inspects the fields of the type to determine if they are valid.
  17546. func (s *CreateSecurityGroupInput) Validate() error {
  17547. invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
  17548. if s.Description == nil {
  17549. invalidParams.Add(request.NewErrParamRequired("Description"))
  17550. }
  17551. if s.GroupName == nil {
  17552. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  17553. }
  17554. if invalidParams.Len() > 0 {
  17555. return invalidParams
  17556. }
  17557. return nil
  17558. }
  17559. // SetDescription sets the Description field's value.
  17560. func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
  17561. s.Description = &v
  17562. return s
  17563. }
  17564. // SetDryRun sets the DryRun field's value.
  17565. func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
  17566. s.DryRun = &v
  17567. return s
  17568. }
  17569. // SetGroupName sets the GroupName field's value.
  17570. func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
  17571. s.GroupName = &v
  17572. return s
  17573. }
  17574. // SetVpcId sets the VpcId field's value.
  17575. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
  17576. s.VpcId = &v
  17577. return s
  17578. }
  17579. // Contains the output of CreateSecurityGroup.
  17580. type CreateSecurityGroupOutput struct {
  17581. _ struct{} `type:"structure"`
  17582. // The ID of the security group.
  17583. GroupId *string `locationName:"groupId" type:"string"`
  17584. }
  17585. // String returns the string representation
  17586. func (s CreateSecurityGroupOutput) String() string {
  17587. return awsutil.Prettify(s)
  17588. }
  17589. // GoString returns the string representation
  17590. func (s CreateSecurityGroupOutput) GoString() string {
  17591. return s.String()
  17592. }
  17593. // SetGroupId sets the GroupId field's value.
  17594. func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
  17595. s.GroupId = &v
  17596. return s
  17597. }
  17598. // Contains the parameters for CreateSnapshot.
  17599. type CreateSnapshotInput struct {
  17600. _ struct{} `type:"structure"`
  17601. // A description for the snapshot.
  17602. Description *string `type:"string"`
  17603. // Checks whether you have the required permissions for the action, without
  17604. // actually making the request, and provides an error response. If you have
  17605. // the required permissions, the error response is DryRunOperation. Otherwise,
  17606. // it is UnauthorizedOperation.
  17607. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17608. // The ID of the EBS volume.
  17609. //
  17610. // VolumeId is a required field
  17611. VolumeId *string `type:"string" required:"true"`
  17612. }
  17613. // String returns the string representation
  17614. func (s CreateSnapshotInput) String() string {
  17615. return awsutil.Prettify(s)
  17616. }
  17617. // GoString returns the string representation
  17618. func (s CreateSnapshotInput) GoString() string {
  17619. return s.String()
  17620. }
  17621. // Validate inspects the fields of the type to determine if they are valid.
  17622. func (s *CreateSnapshotInput) Validate() error {
  17623. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  17624. if s.VolumeId == nil {
  17625. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  17626. }
  17627. if invalidParams.Len() > 0 {
  17628. return invalidParams
  17629. }
  17630. return nil
  17631. }
  17632. // SetDescription sets the Description field's value.
  17633. func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
  17634. s.Description = &v
  17635. return s
  17636. }
  17637. // SetDryRun sets the DryRun field's value.
  17638. func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
  17639. s.DryRun = &v
  17640. return s
  17641. }
  17642. // SetVolumeId sets the VolumeId field's value.
  17643. func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
  17644. s.VolumeId = &v
  17645. return s
  17646. }
  17647. // Contains the parameters for CreateSpotDatafeedSubscription.
  17648. type CreateSpotDatafeedSubscriptionInput struct {
  17649. _ struct{} `type:"structure"`
  17650. // The Amazon S3 bucket in which to store the Spot instance data feed.
  17651. //
  17652. // Bucket is a required field
  17653. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  17654. // Checks whether you have the required permissions for the action, without
  17655. // actually making the request, and provides an error response. If you have
  17656. // the required permissions, the error response is DryRunOperation. Otherwise,
  17657. // it is UnauthorizedOperation.
  17658. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17659. // A prefix for the data feed file names.
  17660. Prefix *string `locationName:"prefix" type:"string"`
  17661. }
  17662. // String returns the string representation
  17663. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  17664. return awsutil.Prettify(s)
  17665. }
  17666. // GoString returns the string representation
  17667. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  17668. return s.String()
  17669. }
  17670. // Validate inspects the fields of the type to determine if they are valid.
  17671. func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
  17672. invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
  17673. if s.Bucket == nil {
  17674. invalidParams.Add(request.NewErrParamRequired("Bucket"))
  17675. }
  17676. if invalidParams.Len() > 0 {
  17677. return invalidParams
  17678. }
  17679. return nil
  17680. }
  17681. // SetBucket sets the Bucket field's value.
  17682. func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
  17683. s.Bucket = &v
  17684. return s
  17685. }
  17686. // SetDryRun sets the DryRun field's value.
  17687. func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
  17688. s.DryRun = &v
  17689. return s
  17690. }
  17691. // SetPrefix sets the Prefix field's value.
  17692. func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
  17693. s.Prefix = &v
  17694. return s
  17695. }
  17696. // Contains the output of CreateSpotDatafeedSubscription.
  17697. type CreateSpotDatafeedSubscriptionOutput struct {
  17698. _ struct{} `type:"structure"`
  17699. // The Spot instance data feed subscription.
  17700. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  17701. }
  17702. // String returns the string representation
  17703. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  17704. return awsutil.Prettify(s)
  17705. }
  17706. // GoString returns the string representation
  17707. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  17708. return s.String()
  17709. }
  17710. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  17711. func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
  17712. s.SpotDatafeedSubscription = v
  17713. return s
  17714. }
  17715. // Contains the parameters for CreateSubnet.
  17716. type CreateSubnetInput struct {
  17717. _ struct{} `type:"structure"`
  17718. // The Availability Zone for the subnet.
  17719. //
  17720. // Default: AWS selects one for you. If you create more than one subnet in your
  17721. // VPC, we may not necessarily select a different zone for each subnet.
  17722. AvailabilityZone *string `type:"string"`
  17723. // The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  17724. //
  17725. // CidrBlock is a required field
  17726. CidrBlock *string `type:"string" required:"true"`
  17727. // Checks whether you have the required permissions for the action, without
  17728. // actually making the request, and provides an error response. If you have
  17729. // the required permissions, the error response is DryRunOperation. Otherwise,
  17730. // it is UnauthorizedOperation.
  17731. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17732. // The ID of the VPC.
  17733. //
  17734. // VpcId is a required field
  17735. VpcId *string `type:"string" required:"true"`
  17736. }
  17737. // String returns the string representation
  17738. func (s CreateSubnetInput) String() string {
  17739. return awsutil.Prettify(s)
  17740. }
  17741. // GoString returns the string representation
  17742. func (s CreateSubnetInput) GoString() string {
  17743. return s.String()
  17744. }
  17745. // Validate inspects the fields of the type to determine if they are valid.
  17746. func (s *CreateSubnetInput) Validate() error {
  17747. invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
  17748. if s.CidrBlock == nil {
  17749. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  17750. }
  17751. if s.VpcId == nil {
  17752. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  17753. }
  17754. if invalidParams.Len() > 0 {
  17755. return invalidParams
  17756. }
  17757. return nil
  17758. }
  17759. // SetAvailabilityZone sets the AvailabilityZone field's value.
  17760. func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
  17761. s.AvailabilityZone = &v
  17762. return s
  17763. }
  17764. // SetCidrBlock sets the CidrBlock field's value.
  17765. func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
  17766. s.CidrBlock = &v
  17767. return s
  17768. }
  17769. // SetDryRun sets the DryRun field's value.
  17770. func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
  17771. s.DryRun = &v
  17772. return s
  17773. }
  17774. // SetVpcId sets the VpcId field's value.
  17775. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
  17776. s.VpcId = &v
  17777. return s
  17778. }
  17779. // Contains the output of CreateSubnet.
  17780. type CreateSubnetOutput struct {
  17781. _ struct{} `type:"structure"`
  17782. // Information about the subnet.
  17783. Subnet *Subnet `locationName:"subnet" type:"structure"`
  17784. }
  17785. // String returns the string representation
  17786. func (s CreateSubnetOutput) String() string {
  17787. return awsutil.Prettify(s)
  17788. }
  17789. // GoString returns the string representation
  17790. func (s CreateSubnetOutput) GoString() string {
  17791. return s.String()
  17792. }
  17793. // SetSubnet sets the Subnet field's value.
  17794. func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
  17795. s.Subnet = v
  17796. return s
  17797. }
  17798. // Contains the parameters for CreateTags.
  17799. type CreateTagsInput struct {
  17800. _ struct{} `type:"structure"`
  17801. // Checks whether you have the required permissions for the action, without
  17802. // actually making the request, and provides an error response. If you have
  17803. // the required permissions, the error response is DryRunOperation. Otherwise,
  17804. // it is UnauthorizedOperation.
  17805. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17806. // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
  17807. //
  17808. // Resources is a required field
  17809. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  17810. // One or more tags. The value parameter is required, but if you don't want
  17811. // the tag to have a value, specify the parameter with no value, and we set
  17812. // the value to an empty string.
  17813. //
  17814. // Tags is a required field
  17815. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  17816. }
  17817. // String returns the string representation
  17818. func (s CreateTagsInput) String() string {
  17819. return awsutil.Prettify(s)
  17820. }
  17821. // GoString returns the string representation
  17822. func (s CreateTagsInput) GoString() string {
  17823. return s.String()
  17824. }
  17825. // Validate inspects the fields of the type to determine if they are valid.
  17826. func (s *CreateTagsInput) Validate() error {
  17827. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  17828. if s.Resources == nil {
  17829. invalidParams.Add(request.NewErrParamRequired("Resources"))
  17830. }
  17831. if s.Tags == nil {
  17832. invalidParams.Add(request.NewErrParamRequired("Tags"))
  17833. }
  17834. if invalidParams.Len() > 0 {
  17835. return invalidParams
  17836. }
  17837. return nil
  17838. }
  17839. // SetDryRun sets the DryRun field's value.
  17840. func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
  17841. s.DryRun = &v
  17842. return s
  17843. }
  17844. // SetResources sets the Resources field's value.
  17845. func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
  17846. s.Resources = v
  17847. return s
  17848. }
  17849. // SetTags sets the Tags field's value.
  17850. func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  17851. s.Tags = v
  17852. return s
  17853. }
  17854. type CreateTagsOutput struct {
  17855. _ struct{} `type:"structure"`
  17856. }
  17857. // String returns the string representation
  17858. func (s CreateTagsOutput) String() string {
  17859. return awsutil.Prettify(s)
  17860. }
  17861. // GoString returns the string representation
  17862. func (s CreateTagsOutput) GoString() string {
  17863. return s.String()
  17864. }
  17865. // Contains the parameters for CreateVolume.
  17866. type CreateVolumeInput struct {
  17867. _ struct{} `type:"structure"`
  17868. // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
  17869. // to list the Availability Zones that are currently available to you.
  17870. //
  17871. // AvailabilityZone is a required field
  17872. AvailabilityZone *string `type:"string" required:"true"`
  17873. // Checks whether you have the required permissions for the action, without
  17874. // actually making the request, and provides an error response. If you have
  17875. // the required permissions, the error response is DryRunOperation. Otherwise,
  17876. // it is UnauthorizedOperation.
  17877. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17878. // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
  17879. // may only be attached to instances that support Amazon EBS encryption. Volumes
  17880. // that are created from encrypted snapshots are automatically encrypted. There
  17881. // is no way to create an encrypted volume from an unencrypted snapshot or vice
  17882. // versa. If your AMI uses encrypted volumes, you can only launch it on supported
  17883. // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  17884. // in the Amazon Elastic Compute Cloud User Guide.
  17885. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  17886. // Only valid for Provisioned IOPS SSD volumes. The number of I/O operations
  17887. // per second (IOPS) to provision for the volume, with a maximum ratio of 30
  17888. // IOPS/GiB.
  17889. //
  17890. // Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes
  17891. Iops *int64 `type:"integer"`
  17892. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  17893. // key (CMK) to use when creating the encrypted volume. This parameter is only
  17894. // required if you want to use a non-default CMK; if this parameter is not specified,
  17895. // the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace,
  17896. // followed by the region of the CMK, the AWS account ID of the CMK owner, the
  17897. // key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  17898. // If a KmsKeyId is specified, the Encrypted flag must also be set.
  17899. KmsKeyId *string `type:"string"`
  17900. // The size of the volume, in GiBs.
  17901. //
  17902. // Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384
  17903. // for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size
  17904. // must be equal to or larger than the snapshot size.
  17905. //
  17906. // Default: If you're creating the volume from a snapshot and don't specify
  17907. // a volume size, the default is the snapshot size.
  17908. Size *int64 `type:"integer"`
  17909. // The snapshot from which to create the volume.
  17910. SnapshotId *string `type:"string"`
  17911. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  17912. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  17913. // for Magnetic volumes.
  17914. //
  17915. // Default: standard
  17916. VolumeType *string `type:"string" enum:"VolumeType"`
  17917. }
  17918. // String returns the string representation
  17919. func (s CreateVolumeInput) String() string {
  17920. return awsutil.Prettify(s)
  17921. }
  17922. // GoString returns the string representation
  17923. func (s CreateVolumeInput) GoString() string {
  17924. return s.String()
  17925. }
  17926. // Validate inspects the fields of the type to determine if they are valid.
  17927. func (s *CreateVolumeInput) Validate() error {
  17928. invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  17929. if s.AvailabilityZone == nil {
  17930. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  17931. }
  17932. if invalidParams.Len() > 0 {
  17933. return invalidParams
  17934. }
  17935. return nil
  17936. }
  17937. // SetAvailabilityZone sets the AvailabilityZone field's value.
  17938. func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
  17939. s.AvailabilityZone = &v
  17940. return s
  17941. }
  17942. // SetDryRun sets the DryRun field's value.
  17943. func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
  17944. s.DryRun = &v
  17945. return s
  17946. }
  17947. // SetEncrypted sets the Encrypted field's value.
  17948. func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
  17949. s.Encrypted = &v
  17950. return s
  17951. }
  17952. // SetIops sets the Iops field's value.
  17953. func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
  17954. s.Iops = &v
  17955. return s
  17956. }
  17957. // SetKmsKeyId sets the KmsKeyId field's value.
  17958. func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
  17959. s.KmsKeyId = &v
  17960. return s
  17961. }
  17962. // SetSize sets the Size field's value.
  17963. func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
  17964. s.Size = &v
  17965. return s
  17966. }
  17967. // SetSnapshotId sets the SnapshotId field's value.
  17968. func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
  17969. s.SnapshotId = &v
  17970. return s
  17971. }
  17972. // SetVolumeType sets the VolumeType field's value.
  17973. func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
  17974. s.VolumeType = &v
  17975. return s
  17976. }
  17977. // Describes the user or group to be added or removed from the permissions for
  17978. // a volume.
  17979. type CreateVolumePermission struct {
  17980. _ struct{} `type:"structure"`
  17981. // The specific group that is to be added or removed from a volume's list of
  17982. // create volume permissions.
  17983. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  17984. // The specific AWS account ID that is to be added or removed from a volume's
  17985. // list of create volume permissions.
  17986. UserId *string `locationName:"userId" type:"string"`
  17987. }
  17988. // String returns the string representation
  17989. func (s CreateVolumePermission) String() string {
  17990. return awsutil.Prettify(s)
  17991. }
  17992. // GoString returns the string representation
  17993. func (s CreateVolumePermission) GoString() string {
  17994. return s.String()
  17995. }
  17996. // SetGroup sets the Group field's value.
  17997. func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
  17998. s.Group = &v
  17999. return s
  18000. }
  18001. // SetUserId sets the UserId field's value.
  18002. func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
  18003. s.UserId = &v
  18004. return s
  18005. }
  18006. // Describes modifications to the permissions for a volume.
  18007. type CreateVolumePermissionModifications struct {
  18008. _ struct{} `type:"structure"`
  18009. // Adds a specific AWS account ID or group to a volume's list of create volume
  18010. // permissions.
  18011. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  18012. // Removes a specific AWS account ID or group from a volume's list of create
  18013. // volume permissions.
  18014. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  18015. }
  18016. // String returns the string representation
  18017. func (s CreateVolumePermissionModifications) String() string {
  18018. return awsutil.Prettify(s)
  18019. }
  18020. // GoString returns the string representation
  18021. func (s CreateVolumePermissionModifications) GoString() string {
  18022. return s.String()
  18023. }
  18024. // SetAdd sets the Add field's value.
  18025. func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  18026. s.Add = v
  18027. return s
  18028. }
  18029. // SetRemove sets the Remove field's value.
  18030. func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  18031. s.Remove = v
  18032. return s
  18033. }
  18034. // Contains the parameters for CreateVpcEndpoint.
  18035. type CreateVpcEndpointInput struct {
  18036. _ struct{} `type:"structure"`
  18037. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  18038. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  18039. ClientToken *string `type:"string"`
  18040. // Checks whether you have the required permissions for the action, without
  18041. // actually making the request, and provides an error response. If you have
  18042. // the required permissions, the error response is DryRunOperation. Otherwise,
  18043. // it is UnauthorizedOperation.
  18044. DryRun *bool `type:"boolean"`
  18045. // A policy to attach to the endpoint that controls access to the service. The
  18046. // policy must be in valid JSON format. If this parameter is not specified,
  18047. // we attach a default policy that allows full access to the service.
  18048. PolicyDocument *string `type:"string"`
  18049. // One or more route table IDs.
  18050. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  18051. // The AWS service name, in the form com.amazonaws.region.service. To get a
  18052. // list of available services, use the DescribeVpcEndpointServices request.
  18053. //
  18054. // ServiceName is a required field
  18055. ServiceName *string `type:"string" required:"true"`
  18056. // The ID of the VPC in which the endpoint will be used.
  18057. //
  18058. // VpcId is a required field
  18059. VpcId *string `type:"string" required:"true"`
  18060. }
  18061. // String returns the string representation
  18062. func (s CreateVpcEndpointInput) String() string {
  18063. return awsutil.Prettify(s)
  18064. }
  18065. // GoString returns the string representation
  18066. func (s CreateVpcEndpointInput) GoString() string {
  18067. return s.String()
  18068. }
  18069. // Validate inspects the fields of the type to determine if they are valid.
  18070. func (s *CreateVpcEndpointInput) Validate() error {
  18071. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
  18072. if s.ServiceName == nil {
  18073. invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  18074. }
  18075. if s.VpcId == nil {
  18076. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  18077. }
  18078. if invalidParams.Len() > 0 {
  18079. return invalidParams
  18080. }
  18081. return nil
  18082. }
  18083. // SetClientToken sets the ClientToken field's value.
  18084. func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
  18085. s.ClientToken = &v
  18086. return s
  18087. }
  18088. // SetDryRun sets the DryRun field's value.
  18089. func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
  18090. s.DryRun = &v
  18091. return s
  18092. }
  18093. // SetPolicyDocument sets the PolicyDocument field's value.
  18094. func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
  18095. s.PolicyDocument = &v
  18096. return s
  18097. }
  18098. // SetRouteTableIds sets the RouteTableIds field's value.
  18099. func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
  18100. s.RouteTableIds = v
  18101. return s
  18102. }
  18103. // SetServiceName sets the ServiceName field's value.
  18104. func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
  18105. s.ServiceName = &v
  18106. return s
  18107. }
  18108. // SetVpcId sets the VpcId field's value.
  18109. func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
  18110. s.VpcId = &v
  18111. return s
  18112. }
  18113. // Contains the output of CreateVpcEndpoint.
  18114. type CreateVpcEndpointOutput struct {
  18115. _ struct{} `type:"structure"`
  18116. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  18117. // the request.
  18118. ClientToken *string `locationName:"clientToken" type:"string"`
  18119. // Information about the endpoint.
  18120. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  18121. }
  18122. // String returns the string representation
  18123. func (s CreateVpcEndpointOutput) String() string {
  18124. return awsutil.Prettify(s)
  18125. }
  18126. // GoString returns the string representation
  18127. func (s CreateVpcEndpointOutput) GoString() string {
  18128. return s.String()
  18129. }
  18130. // SetClientToken sets the ClientToken field's value.
  18131. func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
  18132. s.ClientToken = &v
  18133. return s
  18134. }
  18135. // SetVpcEndpoint sets the VpcEndpoint field's value.
  18136. func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
  18137. s.VpcEndpoint = v
  18138. return s
  18139. }
  18140. // Contains the parameters for CreateVpc.
  18141. type CreateVpcInput struct {
  18142. _ struct{} `type:"structure"`
  18143. // The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  18144. //
  18145. // CidrBlock is a required field
  18146. CidrBlock *string `type:"string" required:"true"`
  18147. // Checks whether you have the required permissions for the action, without
  18148. // actually making the request, and provides an error response. If you have
  18149. // the required permissions, the error response is DryRunOperation. Otherwise,
  18150. // it is UnauthorizedOperation.
  18151. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18152. // The tenancy options for instances launched into the VPC. For default, instances
  18153. // are launched with shared tenancy by default. You can launch instances with
  18154. // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
  18155. // as dedicated tenancy instances by default. You can only launch instances
  18156. // with a tenancy of dedicated or host into a dedicated tenancy VPC.
  18157. //
  18158. // Important: The host value cannot be used with this parameter. Use the default
  18159. // or dedicated values only.
  18160. //
  18161. // Default: default
  18162. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  18163. }
  18164. // String returns the string representation
  18165. func (s CreateVpcInput) String() string {
  18166. return awsutil.Prettify(s)
  18167. }
  18168. // GoString returns the string representation
  18169. func (s CreateVpcInput) GoString() string {
  18170. return s.String()
  18171. }
  18172. // Validate inspects the fields of the type to determine if they are valid.
  18173. func (s *CreateVpcInput) Validate() error {
  18174. invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
  18175. if s.CidrBlock == nil {
  18176. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  18177. }
  18178. if invalidParams.Len() > 0 {
  18179. return invalidParams
  18180. }
  18181. return nil
  18182. }
  18183. // SetCidrBlock sets the CidrBlock field's value.
  18184. func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
  18185. s.CidrBlock = &v
  18186. return s
  18187. }
  18188. // SetDryRun sets the DryRun field's value.
  18189. func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
  18190. s.DryRun = &v
  18191. return s
  18192. }
  18193. // SetInstanceTenancy sets the InstanceTenancy field's value.
  18194. func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
  18195. s.InstanceTenancy = &v
  18196. return s
  18197. }
  18198. // Contains the output of CreateVpc.
  18199. type CreateVpcOutput struct {
  18200. _ struct{} `type:"structure"`
  18201. // Information about the VPC.
  18202. Vpc *Vpc `locationName:"vpc" type:"structure"`
  18203. }
  18204. // String returns the string representation
  18205. func (s CreateVpcOutput) String() string {
  18206. return awsutil.Prettify(s)
  18207. }
  18208. // GoString returns the string representation
  18209. func (s CreateVpcOutput) GoString() string {
  18210. return s.String()
  18211. }
  18212. // SetVpc sets the Vpc field's value.
  18213. func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
  18214. s.Vpc = v
  18215. return s
  18216. }
  18217. // Contains the parameters for CreateVpcPeeringConnection.
  18218. type CreateVpcPeeringConnectionInput struct {
  18219. _ struct{} `type:"structure"`
  18220. // Checks whether you have the required permissions for the action, without
  18221. // actually making the request, and provides an error response. If you have
  18222. // the required permissions, the error response is DryRunOperation. Otherwise,
  18223. // it is UnauthorizedOperation.
  18224. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18225. // The AWS account ID of the owner of the peer VPC.
  18226. //
  18227. // Default: Your AWS account ID
  18228. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  18229. // The ID of the VPC with which you are creating the VPC peering connection.
  18230. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  18231. // The ID of the requester VPC.
  18232. VpcId *string `locationName:"vpcId" type:"string"`
  18233. }
  18234. // String returns the string representation
  18235. func (s CreateVpcPeeringConnectionInput) String() string {
  18236. return awsutil.Prettify(s)
  18237. }
  18238. // GoString returns the string representation
  18239. func (s CreateVpcPeeringConnectionInput) GoString() string {
  18240. return s.String()
  18241. }
  18242. // SetDryRun sets the DryRun field's value.
  18243. func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
  18244. s.DryRun = &v
  18245. return s
  18246. }
  18247. // SetPeerOwnerId sets the PeerOwnerId field's value.
  18248. func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
  18249. s.PeerOwnerId = &v
  18250. return s
  18251. }
  18252. // SetPeerVpcId sets the PeerVpcId field's value.
  18253. func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
  18254. s.PeerVpcId = &v
  18255. return s
  18256. }
  18257. // SetVpcId sets the VpcId field's value.
  18258. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
  18259. s.VpcId = &v
  18260. return s
  18261. }
  18262. // Contains the output of CreateVpcPeeringConnection.
  18263. type CreateVpcPeeringConnectionOutput struct {
  18264. _ struct{} `type:"structure"`
  18265. // Information about the VPC peering connection.
  18266. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  18267. }
  18268. // String returns the string representation
  18269. func (s CreateVpcPeeringConnectionOutput) String() string {
  18270. return awsutil.Prettify(s)
  18271. }
  18272. // GoString returns the string representation
  18273. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  18274. return s.String()
  18275. }
  18276. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  18277. func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
  18278. s.VpcPeeringConnection = v
  18279. return s
  18280. }
  18281. // Contains the parameters for CreateVpnConnection.
  18282. type CreateVpnConnectionInput struct {
  18283. _ struct{} `type:"structure"`
  18284. // The ID of the customer gateway.
  18285. //
  18286. // CustomerGatewayId is a required field
  18287. CustomerGatewayId *string `type:"string" required:"true"`
  18288. // Checks whether you have the required permissions for the action, without
  18289. // actually making the request, and provides an error response. If you have
  18290. // the required permissions, the error response is DryRunOperation. Otherwise,
  18291. // it is UnauthorizedOperation.
  18292. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18293. // Indicates whether the VPN connection requires static routes. If you are creating
  18294. // a VPN connection for a device that does not support BGP, you must specify
  18295. // true.
  18296. //
  18297. // Default: false
  18298. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  18299. // The type of VPN connection (ipsec.1).
  18300. //
  18301. // Type is a required field
  18302. Type *string `type:"string" required:"true"`
  18303. // The ID of the virtual private gateway.
  18304. //
  18305. // VpnGatewayId is a required field
  18306. VpnGatewayId *string `type:"string" required:"true"`
  18307. }
  18308. // String returns the string representation
  18309. func (s CreateVpnConnectionInput) String() string {
  18310. return awsutil.Prettify(s)
  18311. }
  18312. // GoString returns the string representation
  18313. func (s CreateVpnConnectionInput) GoString() string {
  18314. return s.String()
  18315. }
  18316. // Validate inspects the fields of the type to determine if they are valid.
  18317. func (s *CreateVpnConnectionInput) Validate() error {
  18318. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
  18319. if s.CustomerGatewayId == nil {
  18320. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  18321. }
  18322. if s.Type == nil {
  18323. invalidParams.Add(request.NewErrParamRequired("Type"))
  18324. }
  18325. if s.VpnGatewayId == nil {
  18326. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  18327. }
  18328. if invalidParams.Len() > 0 {
  18329. return invalidParams
  18330. }
  18331. return nil
  18332. }
  18333. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  18334. func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
  18335. s.CustomerGatewayId = &v
  18336. return s
  18337. }
  18338. // SetDryRun sets the DryRun field's value.
  18339. func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
  18340. s.DryRun = &v
  18341. return s
  18342. }
  18343. // SetOptions sets the Options field's value.
  18344. func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
  18345. s.Options = v
  18346. return s
  18347. }
  18348. // SetType sets the Type field's value.
  18349. func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
  18350. s.Type = &v
  18351. return s
  18352. }
  18353. // SetVpnGatewayId sets the VpnGatewayId field's value.
  18354. func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
  18355. s.VpnGatewayId = &v
  18356. return s
  18357. }
  18358. // Contains the output of CreateVpnConnection.
  18359. type CreateVpnConnectionOutput struct {
  18360. _ struct{} `type:"structure"`
  18361. // Information about the VPN connection.
  18362. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  18363. }
  18364. // String returns the string representation
  18365. func (s CreateVpnConnectionOutput) String() string {
  18366. return awsutil.Prettify(s)
  18367. }
  18368. // GoString returns the string representation
  18369. func (s CreateVpnConnectionOutput) GoString() string {
  18370. return s.String()
  18371. }
  18372. // SetVpnConnection sets the VpnConnection field's value.
  18373. func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
  18374. s.VpnConnection = v
  18375. return s
  18376. }
  18377. // Contains the parameters for CreateVpnConnectionRoute.
  18378. type CreateVpnConnectionRouteInput struct {
  18379. _ struct{} `type:"structure"`
  18380. // The CIDR block associated with the local subnet of the customer network.
  18381. //
  18382. // DestinationCidrBlock is a required field
  18383. DestinationCidrBlock *string `type:"string" required:"true"`
  18384. // The ID of the VPN connection.
  18385. //
  18386. // VpnConnectionId is a required field
  18387. VpnConnectionId *string `type:"string" required:"true"`
  18388. }
  18389. // String returns the string representation
  18390. func (s CreateVpnConnectionRouteInput) String() string {
  18391. return awsutil.Prettify(s)
  18392. }
  18393. // GoString returns the string representation
  18394. func (s CreateVpnConnectionRouteInput) GoString() string {
  18395. return s.String()
  18396. }
  18397. // Validate inspects the fields of the type to determine if they are valid.
  18398. func (s *CreateVpnConnectionRouteInput) Validate() error {
  18399. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
  18400. if s.DestinationCidrBlock == nil {
  18401. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  18402. }
  18403. if s.VpnConnectionId == nil {
  18404. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  18405. }
  18406. if invalidParams.Len() > 0 {
  18407. return invalidParams
  18408. }
  18409. return nil
  18410. }
  18411. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  18412. func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
  18413. s.DestinationCidrBlock = &v
  18414. return s
  18415. }
  18416. // SetVpnConnectionId sets the VpnConnectionId field's value.
  18417. func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
  18418. s.VpnConnectionId = &v
  18419. return s
  18420. }
  18421. type CreateVpnConnectionRouteOutput struct {
  18422. _ struct{} `type:"structure"`
  18423. }
  18424. // String returns the string representation
  18425. func (s CreateVpnConnectionRouteOutput) String() string {
  18426. return awsutil.Prettify(s)
  18427. }
  18428. // GoString returns the string representation
  18429. func (s CreateVpnConnectionRouteOutput) GoString() string {
  18430. return s.String()
  18431. }
  18432. // Contains the parameters for CreateVpnGateway.
  18433. type CreateVpnGatewayInput struct {
  18434. _ struct{} `type:"structure"`
  18435. // The Availability Zone for the virtual private gateway.
  18436. AvailabilityZone *string `type:"string"`
  18437. // Checks whether you have the required permissions for the action, without
  18438. // actually making the request, and provides an error response. If you have
  18439. // the required permissions, the error response is DryRunOperation. Otherwise,
  18440. // it is UnauthorizedOperation.
  18441. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18442. // The type of VPN connection this virtual private gateway supports.
  18443. //
  18444. // Type is a required field
  18445. Type *string `type:"string" required:"true" enum:"GatewayType"`
  18446. }
  18447. // String returns the string representation
  18448. func (s CreateVpnGatewayInput) String() string {
  18449. return awsutil.Prettify(s)
  18450. }
  18451. // GoString returns the string representation
  18452. func (s CreateVpnGatewayInput) GoString() string {
  18453. return s.String()
  18454. }
  18455. // Validate inspects the fields of the type to determine if they are valid.
  18456. func (s *CreateVpnGatewayInput) Validate() error {
  18457. invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
  18458. if s.Type == nil {
  18459. invalidParams.Add(request.NewErrParamRequired("Type"))
  18460. }
  18461. if invalidParams.Len() > 0 {
  18462. return invalidParams
  18463. }
  18464. return nil
  18465. }
  18466. // SetAvailabilityZone sets the AvailabilityZone field's value.
  18467. func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
  18468. s.AvailabilityZone = &v
  18469. return s
  18470. }
  18471. // SetDryRun sets the DryRun field's value.
  18472. func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
  18473. s.DryRun = &v
  18474. return s
  18475. }
  18476. // SetType sets the Type field's value.
  18477. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
  18478. s.Type = &v
  18479. return s
  18480. }
  18481. // Contains the output of CreateVpnGateway.
  18482. type CreateVpnGatewayOutput struct {
  18483. _ struct{} `type:"structure"`
  18484. // Information about the virtual private gateway.
  18485. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  18486. }
  18487. // String returns the string representation
  18488. func (s CreateVpnGatewayOutput) String() string {
  18489. return awsutil.Prettify(s)
  18490. }
  18491. // GoString returns the string representation
  18492. func (s CreateVpnGatewayOutput) GoString() string {
  18493. return s.String()
  18494. }
  18495. // SetVpnGateway sets the VpnGateway field's value.
  18496. func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
  18497. s.VpnGateway = v
  18498. return s
  18499. }
  18500. // Describes a customer gateway.
  18501. type CustomerGateway struct {
  18502. _ struct{} `type:"structure"`
  18503. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  18504. // (ASN).
  18505. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  18506. // The ID of the customer gateway.
  18507. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  18508. // The Internet-routable IP address of the customer gateway's outside interface.
  18509. IpAddress *string `locationName:"ipAddress" type:"string"`
  18510. // The current state of the customer gateway (pending | available | deleting
  18511. // | deleted).
  18512. State *string `locationName:"state" type:"string"`
  18513. // Any tags assigned to the customer gateway.
  18514. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  18515. // The type of VPN connection the customer gateway supports (ipsec.1).
  18516. Type *string `locationName:"type" type:"string"`
  18517. }
  18518. // String returns the string representation
  18519. func (s CustomerGateway) String() string {
  18520. return awsutil.Prettify(s)
  18521. }
  18522. // GoString returns the string representation
  18523. func (s CustomerGateway) GoString() string {
  18524. return s.String()
  18525. }
  18526. // SetBgpAsn sets the BgpAsn field's value.
  18527. func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
  18528. s.BgpAsn = &v
  18529. return s
  18530. }
  18531. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  18532. func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
  18533. s.CustomerGatewayId = &v
  18534. return s
  18535. }
  18536. // SetIpAddress sets the IpAddress field's value.
  18537. func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
  18538. s.IpAddress = &v
  18539. return s
  18540. }
  18541. // SetState sets the State field's value.
  18542. func (s *CustomerGateway) SetState(v string) *CustomerGateway {
  18543. s.State = &v
  18544. return s
  18545. }
  18546. // SetTags sets the Tags field's value.
  18547. func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
  18548. s.Tags = v
  18549. return s
  18550. }
  18551. // SetType sets the Type field's value.
  18552. func (s *CustomerGateway) SetType(v string) *CustomerGateway {
  18553. s.Type = &v
  18554. return s
  18555. }
  18556. // Contains the parameters for DeleteCustomerGateway.
  18557. type DeleteCustomerGatewayInput struct {
  18558. _ struct{} `type:"structure"`
  18559. // The ID of the customer gateway.
  18560. //
  18561. // CustomerGatewayId is a required field
  18562. CustomerGatewayId *string `type:"string" required:"true"`
  18563. // Checks whether you have the required permissions for the action, without
  18564. // actually making the request, and provides an error response. If you have
  18565. // the required permissions, the error response is DryRunOperation. Otherwise,
  18566. // it is UnauthorizedOperation.
  18567. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18568. }
  18569. // String returns the string representation
  18570. func (s DeleteCustomerGatewayInput) String() string {
  18571. return awsutil.Prettify(s)
  18572. }
  18573. // GoString returns the string representation
  18574. func (s DeleteCustomerGatewayInput) GoString() string {
  18575. return s.String()
  18576. }
  18577. // Validate inspects the fields of the type to determine if they are valid.
  18578. func (s *DeleteCustomerGatewayInput) Validate() error {
  18579. invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
  18580. if s.CustomerGatewayId == nil {
  18581. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  18582. }
  18583. if invalidParams.Len() > 0 {
  18584. return invalidParams
  18585. }
  18586. return nil
  18587. }
  18588. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  18589. func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
  18590. s.CustomerGatewayId = &v
  18591. return s
  18592. }
  18593. // SetDryRun sets the DryRun field's value.
  18594. func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
  18595. s.DryRun = &v
  18596. return s
  18597. }
  18598. type DeleteCustomerGatewayOutput struct {
  18599. _ struct{} `type:"structure"`
  18600. }
  18601. // String returns the string representation
  18602. func (s DeleteCustomerGatewayOutput) String() string {
  18603. return awsutil.Prettify(s)
  18604. }
  18605. // GoString returns the string representation
  18606. func (s DeleteCustomerGatewayOutput) GoString() string {
  18607. return s.String()
  18608. }
  18609. // Contains the parameters for DeleteDhcpOptions.
  18610. type DeleteDhcpOptionsInput struct {
  18611. _ struct{} `type:"structure"`
  18612. // The ID of the DHCP options set.
  18613. //
  18614. // DhcpOptionsId is a required field
  18615. DhcpOptionsId *string `type:"string" required:"true"`
  18616. // Checks whether you have the required permissions for the action, without
  18617. // actually making the request, and provides an error response. If you have
  18618. // the required permissions, the error response is DryRunOperation. Otherwise,
  18619. // it is UnauthorizedOperation.
  18620. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18621. }
  18622. // String returns the string representation
  18623. func (s DeleteDhcpOptionsInput) String() string {
  18624. return awsutil.Prettify(s)
  18625. }
  18626. // GoString returns the string representation
  18627. func (s DeleteDhcpOptionsInput) GoString() string {
  18628. return s.String()
  18629. }
  18630. // Validate inspects the fields of the type to determine if they are valid.
  18631. func (s *DeleteDhcpOptionsInput) Validate() error {
  18632. invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
  18633. if s.DhcpOptionsId == nil {
  18634. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  18635. }
  18636. if invalidParams.Len() > 0 {
  18637. return invalidParams
  18638. }
  18639. return nil
  18640. }
  18641. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  18642. func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
  18643. s.DhcpOptionsId = &v
  18644. return s
  18645. }
  18646. // SetDryRun sets the DryRun field's value.
  18647. func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
  18648. s.DryRun = &v
  18649. return s
  18650. }
  18651. type DeleteDhcpOptionsOutput struct {
  18652. _ struct{} `type:"structure"`
  18653. }
  18654. // String returns the string representation
  18655. func (s DeleteDhcpOptionsOutput) String() string {
  18656. return awsutil.Prettify(s)
  18657. }
  18658. // GoString returns the string representation
  18659. func (s DeleteDhcpOptionsOutput) GoString() string {
  18660. return s.String()
  18661. }
  18662. // Contains the parameters for DeleteFlowLogs.
  18663. type DeleteFlowLogsInput struct {
  18664. _ struct{} `type:"structure"`
  18665. // One or more flow log IDs.
  18666. //
  18667. // FlowLogIds is a required field
  18668. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  18669. }
  18670. // String returns the string representation
  18671. func (s DeleteFlowLogsInput) String() string {
  18672. return awsutil.Prettify(s)
  18673. }
  18674. // GoString returns the string representation
  18675. func (s DeleteFlowLogsInput) GoString() string {
  18676. return s.String()
  18677. }
  18678. // Validate inspects the fields of the type to determine if they are valid.
  18679. func (s *DeleteFlowLogsInput) Validate() error {
  18680. invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
  18681. if s.FlowLogIds == nil {
  18682. invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
  18683. }
  18684. if invalidParams.Len() > 0 {
  18685. return invalidParams
  18686. }
  18687. return nil
  18688. }
  18689. // SetFlowLogIds sets the FlowLogIds field's value.
  18690. func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
  18691. s.FlowLogIds = v
  18692. return s
  18693. }
  18694. // Contains the output of DeleteFlowLogs.
  18695. type DeleteFlowLogsOutput struct {
  18696. _ struct{} `type:"structure"`
  18697. // Information about the flow logs that could not be deleted successfully.
  18698. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  18699. }
  18700. // String returns the string representation
  18701. func (s DeleteFlowLogsOutput) String() string {
  18702. return awsutil.Prettify(s)
  18703. }
  18704. // GoString returns the string representation
  18705. func (s DeleteFlowLogsOutput) GoString() string {
  18706. return s.String()
  18707. }
  18708. // SetUnsuccessful sets the Unsuccessful field's value.
  18709. func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
  18710. s.Unsuccessful = v
  18711. return s
  18712. }
  18713. // Contains the parameters for DeleteInternetGateway.
  18714. type DeleteInternetGatewayInput struct {
  18715. _ struct{} `type:"structure"`
  18716. // Checks whether you have the required permissions for the action, without
  18717. // actually making the request, and provides an error response. If you have
  18718. // the required permissions, the error response is DryRunOperation. Otherwise,
  18719. // it is UnauthorizedOperation.
  18720. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18721. // The ID of the Internet gateway.
  18722. //
  18723. // InternetGatewayId is a required field
  18724. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  18725. }
  18726. // String returns the string representation
  18727. func (s DeleteInternetGatewayInput) String() string {
  18728. return awsutil.Prettify(s)
  18729. }
  18730. // GoString returns the string representation
  18731. func (s DeleteInternetGatewayInput) GoString() string {
  18732. return s.String()
  18733. }
  18734. // Validate inspects the fields of the type to determine if they are valid.
  18735. func (s *DeleteInternetGatewayInput) Validate() error {
  18736. invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
  18737. if s.InternetGatewayId == nil {
  18738. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  18739. }
  18740. if invalidParams.Len() > 0 {
  18741. return invalidParams
  18742. }
  18743. return nil
  18744. }
  18745. // SetDryRun sets the DryRun field's value.
  18746. func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
  18747. s.DryRun = &v
  18748. return s
  18749. }
  18750. // SetInternetGatewayId sets the InternetGatewayId field's value.
  18751. func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
  18752. s.InternetGatewayId = &v
  18753. return s
  18754. }
  18755. type DeleteInternetGatewayOutput struct {
  18756. _ struct{} `type:"structure"`
  18757. }
  18758. // String returns the string representation
  18759. func (s DeleteInternetGatewayOutput) String() string {
  18760. return awsutil.Prettify(s)
  18761. }
  18762. // GoString returns the string representation
  18763. func (s DeleteInternetGatewayOutput) GoString() string {
  18764. return s.String()
  18765. }
  18766. // Contains the parameters for DeleteKeyPair.
  18767. type DeleteKeyPairInput struct {
  18768. _ struct{} `type:"structure"`
  18769. // Checks whether you have the required permissions for the action, without
  18770. // actually making the request, and provides an error response. If you have
  18771. // the required permissions, the error response is DryRunOperation. Otherwise,
  18772. // it is UnauthorizedOperation.
  18773. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18774. // The name of the key pair.
  18775. //
  18776. // KeyName is a required field
  18777. KeyName *string `type:"string" required:"true"`
  18778. }
  18779. // String returns the string representation
  18780. func (s DeleteKeyPairInput) String() string {
  18781. return awsutil.Prettify(s)
  18782. }
  18783. // GoString returns the string representation
  18784. func (s DeleteKeyPairInput) GoString() string {
  18785. return s.String()
  18786. }
  18787. // Validate inspects the fields of the type to determine if they are valid.
  18788. func (s *DeleteKeyPairInput) Validate() error {
  18789. invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
  18790. if s.KeyName == nil {
  18791. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  18792. }
  18793. if invalidParams.Len() > 0 {
  18794. return invalidParams
  18795. }
  18796. return nil
  18797. }
  18798. // SetDryRun sets the DryRun field's value.
  18799. func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
  18800. s.DryRun = &v
  18801. return s
  18802. }
  18803. // SetKeyName sets the KeyName field's value.
  18804. func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
  18805. s.KeyName = &v
  18806. return s
  18807. }
  18808. type DeleteKeyPairOutput struct {
  18809. _ struct{} `type:"structure"`
  18810. }
  18811. // String returns the string representation
  18812. func (s DeleteKeyPairOutput) String() string {
  18813. return awsutil.Prettify(s)
  18814. }
  18815. // GoString returns the string representation
  18816. func (s DeleteKeyPairOutput) GoString() string {
  18817. return s.String()
  18818. }
  18819. // Contains the parameters for DeleteNatGateway.
  18820. type DeleteNatGatewayInput struct {
  18821. _ struct{} `type:"structure"`
  18822. // The ID of the NAT gateway.
  18823. //
  18824. // NatGatewayId is a required field
  18825. NatGatewayId *string `type:"string" required:"true"`
  18826. }
  18827. // String returns the string representation
  18828. func (s DeleteNatGatewayInput) String() string {
  18829. return awsutil.Prettify(s)
  18830. }
  18831. // GoString returns the string representation
  18832. func (s DeleteNatGatewayInput) GoString() string {
  18833. return s.String()
  18834. }
  18835. // Validate inspects the fields of the type to determine if they are valid.
  18836. func (s *DeleteNatGatewayInput) Validate() error {
  18837. invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
  18838. if s.NatGatewayId == nil {
  18839. invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
  18840. }
  18841. if invalidParams.Len() > 0 {
  18842. return invalidParams
  18843. }
  18844. return nil
  18845. }
  18846. // SetNatGatewayId sets the NatGatewayId field's value.
  18847. func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
  18848. s.NatGatewayId = &v
  18849. return s
  18850. }
  18851. // Contains the output of DeleteNatGateway.
  18852. type DeleteNatGatewayOutput struct {
  18853. _ struct{} `type:"structure"`
  18854. // The ID of the NAT gateway.
  18855. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  18856. }
  18857. // String returns the string representation
  18858. func (s DeleteNatGatewayOutput) String() string {
  18859. return awsutil.Prettify(s)
  18860. }
  18861. // GoString returns the string representation
  18862. func (s DeleteNatGatewayOutput) GoString() string {
  18863. return s.String()
  18864. }
  18865. // SetNatGatewayId sets the NatGatewayId field's value.
  18866. func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
  18867. s.NatGatewayId = &v
  18868. return s
  18869. }
  18870. // Contains the parameters for DeleteNetworkAclEntry.
  18871. type DeleteNetworkAclEntryInput struct {
  18872. _ struct{} `type:"structure"`
  18873. // Checks whether you have the required permissions for the action, without
  18874. // actually making the request, and provides an error response. If you have
  18875. // the required permissions, the error response is DryRunOperation. Otherwise,
  18876. // it is UnauthorizedOperation.
  18877. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18878. // Indicates whether the rule is an egress rule.
  18879. //
  18880. // Egress is a required field
  18881. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  18882. // The ID of the network ACL.
  18883. //
  18884. // NetworkAclId is a required field
  18885. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  18886. // The rule number of the entry to delete.
  18887. //
  18888. // RuleNumber is a required field
  18889. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  18890. }
  18891. // String returns the string representation
  18892. func (s DeleteNetworkAclEntryInput) String() string {
  18893. return awsutil.Prettify(s)
  18894. }
  18895. // GoString returns the string representation
  18896. func (s DeleteNetworkAclEntryInput) GoString() string {
  18897. return s.String()
  18898. }
  18899. // Validate inspects the fields of the type to determine if they are valid.
  18900. func (s *DeleteNetworkAclEntryInput) Validate() error {
  18901. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
  18902. if s.Egress == nil {
  18903. invalidParams.Add(request.NewErrParamRequired("Egress"))
  18904. }
  18905. if s.NetworkAclId == nil {
  18906. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  18907. }
  18908. if s.RuleNumber == nil {
  18909. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  18910. }
  18911. if invalidParams.Len() > 0 {
  18912. return invalidParams
  18913. }
  18914. return nil
  18915. }
  18916. // SetDryRun sets the DryRun field's value.
  18917. func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
  18918. s.DryRun = &v
  18919. return s
  18920. }
  18921. // SetEgress sets the Egress field's value.
  18922. func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
  18923. s.Egress = &v
  18924. return s
  18925. }
  18926. // SetNetworkAclId sets the NetworkAclId field's value.
  18927. func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
  18928. s.NetworkAclId = &v
  18929. return s
  18930. }
  18931. // SetRuleNumber sets the RuleNumber field's value.
  18932. func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
  18933. s.RuleNumber = &v
  18934. return s
  18935. }
  18936. type DeleteNetworkAclEntryOutput struct {
  18937. _ struct{} `type:"structure"`
  18938. }
  18939. // String returns the string representation
  18940. func (s DeleteNetworkAclEntryOutput) String() string {
  18941. return awsutil.Prettify(s)
  18942. }
  18943. // GoString returns the string representation
  18944. func (s DeleteNetworkAclEntryOutput) GoString() string {
  18945. return s.String()
  18946. }
  18947. // Contains the parameters for DeleteNetworkAcl.
  18948. type DeleteNetworkAclInput struct {
  18949. _ struct{} `type:"structure"`
  18950. // Checks whether you have the required permissions for the action, without
  18951. // actually making the request, and provides an error response. If you have
  18952. // the required permissions, the error response is DryRunOperation. Otherwise,
  18953. // it is UnauthorizedOperation.
  18954. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18955. // The ID of the network ACL.
  18956. //
  18957. // NetworkAclId is a required field
  18958. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  18959. }
  18960. // String returns the string representation
  18961. func (s DeleteNetworkAclInput) String() string {
  18962. return awsutil.Prettify(s)
  18963. }
  18964. // GoString returns the string representation
  18965. func (s DeleteNetworkAclInput) GoString() string {
  18966. return s.String()
  18967. }
  18968. // Validate inspects the fields of the type to determine if they are valid.
  18969. func (s *DeleteNetworkAclInput) Validate() error {
  18970. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
  18971. if s.NetworkAclId == nil {
  18972. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  18973. }
  18974. if invalidParams.Len() > 0 {
  18975. return invalidParams
  18976. }
  18977. return nil
  18978. }
  18979. // SetDryRun sets the DryRun field's value.
  18980. func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
  18981. s.DryRun = &v
  18982. return s
  18983. }
  18984. // SetNetworkAclId sets the NetworkAclId field's value.
  18985. func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
  18986. s.NetworkAclId = &v
  18987. return s
  18988. }
  18989. type DeleteNetworkAclOutput struct {
  18990. _ struct{} `type:"structure"`
  18991. }
  18992. // String returns the string representation
  18993. func (s DeleteNetworkAclOutput) String() string {
  18994. return awsutil.Prettify(s)
  18995. }
  18996. // GoString returns the string representation
  18997. func (s DeleteNetworkAclOutput) GoString() string {
  18998. return s.String()
  18999. }
  19000. // Contains the parameters for DeleteNetworkInterface.
  19001. type DeleteNetworkInterfaceInput struct {
  19002. _ struct{} `type:"structure"`
  19003. // Checks whether you have the required permissions for the action, without
  19004. // actually making the request, and provides an error response. If you have
  19005. // the required permissions, the error response is DryRunOperation. Otherwise,
  19006. // it is UnauthorizedOperation.
  19007. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19008. // The ID of the network interface.
  19009. //
  19010. // NetworkInterfaceId is a required field
  19011. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  19012. }
  19013. // String returns the string representation
  19014. func (s DeleteNetworkInterfaceInput) String() string {
  19015. return awsutil.Prettify(s)
  19016. }
  19017. // GoString returns the string representation
  19018. func (s DeleteNetworkInterfaceInput) GoString() string {
  19019. return s.String()
  19020. }
  19021. // Validate inspects the fields of the type to determine if they are valid.
  19022. func (s *DeleteNetworkInterfaceInput) Validate() error {
  19023. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
  19024. if s.NetworkInterfaceId == nil {
  19025. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  19026. }
  19027. if invalidParams.Len() > 0 {
  19028. return invalidParams
  19029. }
  19030. return nil
  19031. }
  19032. // SetDryRun sets the DryRun field's value.
  19033. func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
  19034. s.DryRun = &v
  19035. return s
  19036. }
  19037. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  19038. func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
  19039. s.NetworkInterfaceId = &v
  19040. return s
  19041. }
  19042. type DeleteNetworkInterfaceOutput struct {
  19043. _ struct{} `type:"structure"`
  19044. }
  19045. // String returns the string representation
  19046. func (s DeleteNetworkInterfaceOutput) String() string {
  19047. return awsutil.Prettify(s)
  19048. }
  19049. // GoString returns the string representation
  19050. func (s DeleteNetworkInterfaceOutput) GoString() string {
  19051. return s.String()
  19052. }
  19053. // Contains the parameters for DeletePlacementGroup.
  19054. type DeletePlacementGroupInput struct {
  19055. _ struct{} `type:"structure"`
  19056. // Checks whether you have the required permissions for the action, without
  19057. // actually making the request, and provides an error response. If you have
  19058. // the required permissions, the error response is DryRunOperation. Otherwise,
  19059. // it is UnauthorizedOperation.
  19060. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19061. // The name of the placement group.
  19062. //
  19063. // GroupName is a required field
  19064. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  19065. }
  19066. // String returns the string representation
  19067. func (s DeletePlacementGroupInput) String() string {
  19068. return awsutil.Prettify(s)
  19069. }
  19070. // GoString returns the string representation
  19071. func (s DeletePlacementGroupInput) GoString() string {
  19072. return s.String()
  19073. }
  19074. // Validate inspects the fields of the type to determine if they are valid.
  19075. func (s *DeletePlacementGroupInput) Validate() error {
  19076. invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
  19077. if s.GroupName == nil {
  19078. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  19079. }
  19080. if invalidParams.Len() > 0 {
  19081. return invalidParams
  19082. }
  19083. return nil
  19084. }
  19085. // SetDryRun sets the DryRun field's value.
  19086. func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
  19087. s.DryRun = &v
  19088. return s
  19089. }
  19090. // SetGroupName sets the GroupName field's value.
  19091. func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
  19092. s.GroupName = &v
  19093. return s
  19094. }
  19095. type DeletePlacementGroupOutput struct {
  19096. _ struct{} `type:"structure"`
  19097. }
  19098. // String returns the string representation
  19099. func (s DeletePlacementGroupOutput) String() string {
  19100. return awsutil.Prettify(s)
  19101. }
  19102. // GoString returns the string representation
  19103. func (s DeletePlacementGroupOutput) GoString() string {
  19104. return s.String()
  19105. }
  19106. // Contains the parameters for DeleteRoute.
  19107. type DeleteRouteInput struct {
  19108. _ struct{} `type:"structure"`
  19109. // The CIDR range for the route. The value you specify must match the CIDR for
  19110. // the route exactly.
  19111. //
  19112. // DestinationCidrBlock is a required field
  19113. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
  19114. // Checks whether you have the required permissions for the action, without
  19115. // actually making the request, and provides an error response. If you have
  19116. // the required permissions, the error response is DryRunOperation. Otherwise,
  19117. // it is UnauthorizedOperation.
  19118. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19119. // The ID of the route table.
  19120. //
  19121. // RouteTableId is a required field
  19122. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  19123. }
  19124. // String returns the string representation
  19125. func (s DeleteRouteInput) String() string {
  19126. return awsutil.Prettify(s)
  19127. }
  19128. // GoString returns the string representation
  19129. func (s DeleteRouteInput) GoString() string {
  19130. return s.String()
  19131. }
  19132. // Validate inspects the fields of the type to determine if they are valid.
  19133. func (s *DeleteRouteInput) Validate() error {
  19134. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
  19135. if s.DestinationCidrBlock == nil {
  19136. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  19137. }
  19138. if s.RouteTableId == nil {
  19139. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  19140. }
  19141. if invalidParams.Len() > 0 {
  19142. return invalidParams
  19143. }
  19144. return nil
  19145. }
  19146. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  19147. func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
  19148. s.DestinationCidrBlock = &v
  19149. return s
  19150. }
  19151. // SetDryRun sets the DryRun field's value.
  19152. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
  19153. s.DryRun = &v
  19154. return s
  19155. }
  19156. // SetRouteTableId sets the RouteTableId field's value.
  19157. func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
  19158. s.RouteTableId = &v
  19159. return s
  19160. }
  19161. type DeleteRouteOutput struct {
  19162. _ struct{} `type:"structure"`
  19163. }
  19164. // String returns the string representation
  19165. func (s DeleteRouteOutput) String() string {
  19166. return awsutil.Prettify(s)
  19167. }
  19168. // GoString returns the string representation
  19169. func (s DeleteRouteOutput) GoString() string {
  19170. return s.String()
  19171. }
  19172. // Contains the parameters for DeleteRouteTable.
  19173. type DeleteRouteTableInput struct {
  19174. _ struct{} `type:"structure"`
  19175. // Checks whether you have the required permissions for the action, without
  19176. // actually making the request, and provides an error response. If you have
  19177. // the required permissions, the error response is DryRunOperation. Otherwise,
  19178. // it is UnauthorizedOperation.
  19179. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19180. // The ID of the route table.
  19181. //
  19182. // RouteTableId is a required field
  19183. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  19184. }
  19185. // String returns the string representation
  19186. func (s DeleteRouteTableInput) String() string {
  19187. return awsutil.Prettify(s)
  19188. }
  19189. // GoString returns the string representation
  19190. func (s DeleteRouteTableInput) GoString() string {
  19191. return s.String()
  19192. }
  19193. // Validate inspects the fields of the type to determine if they are valid.
  19194. func (s *DeleteRouteTableInput) Validate() error {
  19195. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
  19196. if s.RouteTableId == nil {
  19197. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  19198. }
  19199. if invalidParams.Len() > 0 {
  19200. return invalidParams
  19201. }
  19202. return nil
  19203. }
  19204. // SetDryRun sets the DryRun field's value.
  19205. func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
  19206. s.DryRun = &v
  19207. return s
  19208. }
  19209. // SetRouteTableId sets the RouteTableId field's value.
  19210. func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
  19211. s.RouteTableId = &v
  19212. return s
  19213. }
  19214. type DeleteRouteTableOutput struct {
  19215. _ struct{} `type:"structure"`
  19216. }
  19217. // String returns the string representation
  19218. func (s DeleteRouteTableOutput) String() string {
  19219. return awsutil.Prettify(s)
  19220. }
  19221. // GoString returns the string representation
  19222. func (s DeleteRouteTableOutput) GoString() string {
  19223. return s.String()
  19224. }
  19225. // Contains the parameters for DeleteSecurityGroup.
  19226. type DeleteSecurityGroupInput struct {
  19227. _ struct{} `type:"structure"`
  19228. // Checks whether you have the required permissions for the action, without
  19229. // actually making the request, and provides an error response. If you have
  19230. // the required permissions, the error response is DryRunOperation. Otherwise,
  19231. // it is UnauthorizedOperation.
  19232. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19233. // The ID of the security group. Required for a nondefault VPC.
  19234. GroupId *string `type:"string"`
  19235. // [EC2-Classic, default VPC] The name of the security group. You can specify
  19236. // either the security group name or the security group ID.
  19237. GroupName *string `type:"string"`
  19238. }
  19239. // String returns the string representation
  19240. func (s DeleteSecurityGroupInput) String() string {
  19241. return awsutil.Prettify(s)
  19242. }
  19243. // GoString returns the string representation
  19244. func (s DeleteSecurityGroupInput) GoString() string {
  19245. return s.String()
  19246. }
  19247. // SetDryRun sets the DryRun field's value.
  19248. func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
  19249. s.DryRun = &v
  19250. return s
  19251. }
  19252. // SetGroupId sets the GroupId field's value.
  19253. func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
  19254. s.GroupId = &v
  19255. return s
  19256. }
  19257. // SetGroupName sets the GroupName field's value.
  19258. func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
  19259. s.GroupName = &v
  19260. return s
  19261. }
  19262. type DeleteSecurityGroupOutput struct {
  19263. _ struct{} `type:"structure"`
  19264. }
  19265. // String returns the string representation
  19266. func (s DeleteSecurityGroupOutput) String() string {
  19267. return awsutil.Prettify(s)
  19268. }
  19269. // GoString returns the string representation
  19270. func (s DeleteSecurityGroupOutput) GoString() string {
  19271. return s.String()
  19272. }
  19273. // Contains the parameters for DeleteSnapshot.
  19274. type DeleteSnapshotInput struct {
  19275. _ struct{} `type:"structure"`
  19276. // Checks whether you have the required permissions for the action, without
  19277. // actually making the request, and provides an error response. If you have
  19278. // the required permissions, the error response is DryRunOperation. Otherwise,
  19279. // it is UnauthorizedOperation.
  19280. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19281. // The ID of the EBS snapshot.
  19282. //
  19283. // SnapshotId is a required field
  19284. SnapshotId *string `type:"string" required:"true"`
  19285. }
  19286. // String returns the string representation
  19287. func (s DeleteSnapshotInput) String() string {
  19288. return awsutil.Prettify(s)
  19289. }
  19290. // GoString returns the string representation
  19291. func (s DeleteSnapshotInput) GoString() string {
  19292. return s.String()
  19293. }
  19294. // Validate inspects the fields of the type to determine if they are valid.
  19295. func (s *DeleteSnapshotInput) Validate() error {
  19296. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  19297. if s.SnapshotId == nil {
  19298. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  19299. }
  19300. if invalidParams.Len() > 0 {
  19301. return invalidParams
  19302. }
  19303. return nil
  19304. }
  19305. // SetDryRun sets the DryRun field's value.
  19306. func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
  19307. s.DryRun = &v
  19308. return s
  19309. }
  19310. // SetSnapshotId sets the SnapshotId field's value.
  19311. func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
  19312. s.SnapshotId = &v
  19313. return s
  19314. }
  19315. type DeleteSnapshotOutput struct {
  19316. _ struct{} `type:"structure"`
  19317. }
  19318. // String returns the string representation
  19319. func (s DeleteSnapshotOutput) String() string {
  19320. return awsutil.Prettify(s)
  19321. }
  19322. // GoString returns the string representation
  19323. func (s DeleteSnapshotOutput) GoString() string {
  19324. return s.String()
  19325. }
  19326. // Contains the parameters for DeleteSpotDatafeedSubscription.
  19327. type DeleteSpotDatafeedSubscriptionInput struct {
  19328. _ struct{} `type:"structure"`
  19329. // Checks whether you have the required permissions for the action, without
  19330. // actually making the request, and provides an error response. If you have
  19331. // the required permissions, the error response is DryRunOperation. Otherwise,
  19332. // it is UnauthorizedOperation.
  19333. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19334. }
  19335. // String returns the string representation
  19336. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  19337. return awsutil.Prettify(s)
  19338. }
  19339. // GoString returns the string representation
  19340. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  19341. return s.String()
  19342. }
  19343. // SetDryRun sets the DryRun field's value.
  19344. func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
  19345. s.DryRun = &v
  19346. return s
  19347. }
  19348. type DeleteSpotDatafeedSubscriptionOutput struct {
  19349. _ struct{} `type:"structure"`
  19350. }
  19351. // String returns the string representation
  19352. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  19353. return awsutil.Prettify(s)
  19354. }
  19355. // GoString returns the string representation
  19356. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  19357. return s.String()
  19358. }
  19359. // Contains the parameters for DeleteSubnet.
  19360. type DeleteSubnetInput struct {
  19361. _ struct{} `type:"structure"`
  19362. // Checks whether you have the required permissions for the action, without
  19363. // actually making the request, and provides an error response. If you have
  19364. // the required permissions, the error response is DryRunOperation. Otherwise,
  19365. // it is UnauthorizedOperation.
  19366. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19367. // The ID of the subnet.
  19368. //
  19369. // SubnetId is a required field
  19370. SubnetId *string `type:"string" required:"true"`
  19371. }
  19372. // String returns the string representation
  19373. func (s DeleteSubnetInput) String() string {
  19374. return awsutil.Prettify(s)
  19375. }
  19376. // GoString returns the string representation
  19377. func (s DeleteSubnetInput) GoString() string {
  19378. return s.String()
  19379. }
  19380. // Validate inspects the fields of the type to determine if they are valid.
  19381. func (s *DeleteSubnetInput) Validate() error {
  19382. invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
  19383. if s.SubnetId == nil {
  19384. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  19385. }
  19386. if invalidParams.Len() > 0 {
  19387. return invalidParams
  19388. }
  19389. return nil
  19390. }
  19391. // SetDryRun sets the DryRun field's value.
  19392. func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
  19393. s.DryRun = &v
  19394. return s
  19395. }
  19396. // SetSubnetId sets the SubnetId field's value.
  19397. func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
  19398. s.SubnetId = &v
  19399. return s
  19400. }
  19401. type DeleteSubnetOutput struct {
  19402. _ struct{} `type:"structure"`
  19403. }
  19404. // String returns the string representation
  19405. func (s DeleteSubnetOutput) String() string {
  19406. return awsutil.Prettify(s)
  19407. }
  19408. // GoString returns the string representation
  19409. func (s DeleteSubnetOutput) GoString() string {
  19410. return s.String()
  19411. }
  19412. // Contains the parameters for DeleteTags.
  19413. type DeleteTagsInput struct {
  19414. _ struct{} `type:"structure"`
  19415. // Checks whether you have the required permissions for the action, without
  19416. // actually making the request, and provides an error response. If you have
  19417. // the required permissions, the error response is DryRunOperation. Otherwise,
  19418. // it is UnauthorizedOperation.
  19419. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19420. // The ID of the resource. For example, ami-1a2b3c4d. You can specify more than
  19421. // one resource ID.
  19422. //
  19423. // Resources is a required field
  19424. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  19425. // One or more tags to delete. If you omit the value parameter, we delete the
  19426. // tag regardless of its value. If you specify this parameter with an empty
  19427. // string as the value, we delete the key only if its value is an empty string.
  19428. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  19429. }
  19430. // String returns the string representation
  19431. func (s DeleteTagsInput) String() string {
  19432. return awsutil.Prettify(s)
  19433. }
  19434. // GoString returns the string representation
  19435. func (s DeleteTagsInput) GoString() string {
  19436. return s.String()
  19437. }
  19438. // Validate inspects the fields of the type to determine if they are valid.
  19439. func (s *DeleteTagsInput) Validate() error {
  19440. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  19441. if s.Resources == nil {
  19442. invalidParams.Add(request.NewErrParamRequired("Resources"))
  19443. }
  19444. if invalidParams.Len() > 0 {
  19445. return invalidParams
  19446. }
  19447. return nil
  19448. }
  19449. // SetDryRun sets the DryRun field's value.
  19450. func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
  19451. s.DryRun = &v
  19452. return s
  19453. }
  19454. // SetResources sets the Resources field's value.
  19455. func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
  19456. s.Resources = v
  19457. return s
  19458. }
  19459. // SetTags sets the Tags field's value.
  19460. func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
  19461. s.Tags = v
  19462. return s
  19463. }
  19464. type DeleteTagsOutput struct {
  19465. _ struct{} `type:"structure"`
  19466. }
  19467. // String returns the string representation
  19468. func (s DeleteTagsOutput) String() string {
  19469. return awsutil.Prettify(s)
  19470. }
  19471. // GoString returns the string representation
  19472. func (s DeleteTagsOutput) GoString() string {
  19473. return s.String()
  19474. }
  19475. // Contains the parameters for DeleteVolume.
  19476. type DeleteVolumeInput struct {
  19477. _ struct{} `type:"structure"`
  19478. // Checks whether you have the required permissions for the action, without
  19479. // actually making the request, and provides an error response. If you have
  19480. // the required permissions, the error response is DryRunOperation. Otherwise,
  19481. // it is UnauthorizedOperation.
  19482. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19483. // The ID of the volume.
  19484. //
  19485. // VolumeId is a required field
  19486. VolumeId *string `type:"string" required:"true"`
  19487. }
  19488. // String returns the string representation
  19489. func (s DeleteVolumeInput) String() string {
  19490. return awsutil.Prettify(s)
  19491. }
  19492. // GoString returns the string representation
  19493. func (s DeleteVolumeInput) GoString() string {
  19494. return s.String()
  19495. }
  19496. // Validate inspects the fields of the type to determine if they are valid.
  19497. func (s *DeleteVolumeInput) Validate() error {
  19498. invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  19499. if s.VolumeId == nil {
  19500. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  19501. }
  19502. if invalidParams.Len() > 0 {
  19503. return invalidParams
  19504. }
  19505. return nil
  19506. }
  19507. // SetDryRun sets the DryRun field's value.
  19508. func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
  19509. s.DryRun = &v
  19510. return s
  19511. }
  19512. // SetVolumeId sets the VolumeId field's value.
  19513. func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
  19514. s.VolumeId = &v
  19515. return s
  19516. }
  19517. type DeleteVolumeOutput struct {
  19518. _ struct{} `type:"structure"`
  19519. }
  19520. // String returns the string representation
  19521. func (s DeleteVolumeOutput) String() string {
  19522. return awsutil.Prettify(s)
  19523. }
  19524. // GoString returns the string representation
  19525. func (s DeleteVolumeOutput) GoString() string {
  19526. return s.String()
  19527. }
  19528. // Contains the parameters for DeleteVpcEndpoints.
  19529. type DeleteVpcEndpointsInput struct {
  19530. _ struct{} `type:"structure"`
  19531. // Checks whether you have the required permissions for the action, without
  19532. // actually making the request, and provides an error response. If you have
  19533. // the required permissions, the error response is DryRunOperation. Otherwise,
  19534. // it is UnauthorizedOperation.
  19535. DryRun *bool `type:"boolean"`
  19536. // One or more endpoint IDs.
  19537. //
  19538. // VpcEndpointIds is a required field
  19539. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  19540. }
  19541. // String returns the string representation
  19542. func (s DeleteVpcEndpointsInput) String() string {
  19543. return awsutil.Prettify(s)
  19544. }
  19545. // GoString returns the string representation
  19546. func (s DeleteVpcEndpointsInput) GoString() string {
  19547. return s.String()
  19548. }
  19549. // Validate inspects the fields of the type to determine if they are valid.
  19550. func (s *DeleteVpcEndpointsInput) Validate() error {
  19551. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
  19552. if s.VpcEndpointIds == nil {
  19553. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  19554. }
  19555. if invalidParams.Len() > 0 {
  19556. return invalidParams
  19557. }
  19558. return nil
  19559. }
  19560. // SetDryRun sets the DryRun field's value.
  19561. func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
  19562. s.DryRun = &v
  19563. return s
  19564. }
  19565. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  19566. func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
  19567. s.VpcEndpointIds = v
  19568. return s
  19569. }
  19570. // Contains the output of DeleteVpcEndpoints.
  19571. type DeleteVpcEndpointsOutput struct {
  19572. _ struct{} `type:"structure"`
  19573. // Information about the endpoints that were not successfully deleted.
  19574. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  19575. }
  19576. // String returns the string representation
  19577. func (s DeleteVpcEndpointsOutput) String() string {
  19578. return awsutil.Prettify(s)
  19579. }
  19580. // GoString returns the string representation
  19581. func (s DeleteVpcEndpointsOutput) GoString() string {
  19582. return s.String()
  19583. }
  19584. // SetUnsuccessful sets the Unsuccessful field's value.
  19585. func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
  19586. s.Unsuccessful = v
  19587. return s
  19588. }
  19589. // Contains the parameters for DeleteVpc.
  19590. type DeleteVpcInput struct {
  19591. _ struct{} `type:"structure"`
  19592. // Checks whether you have the required permissions for the action, without
  19593. // actually making the request, and provides an error response. If you have
  19594. // the required permissions, the error response is DryRunOperation. Otherwise,
  19595. // it is UnauthorizedOperation.
  19596. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19597. // The ID of the VPC.
  19598. //
  19599. // VpcId is a required field
  19600. VpcId *string `type:"string" required:"true"`
  19601. }
  19602. // String returns the string representation
  19603. func (s DeleteVpcInput) String() string {
  19604. return awsutil.Prettify(s)
  19605. }
  19606. // GoString returns the string representation
  19607. func (s DeleteVpcInput) GoString() string {
  19608. return s.String()
  19609. }
  19610. // Validate inspects the fields of the type to determine if they are valid.
  19611. func (s *DeleteVpcInput) Validate() error {
  19612. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
  19613. if s.VpcId == nil {
  19614. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19615. }
  19616. if invalidParams.Len() > 0 {
  19617. return invalidParams
  19618. }
  19619. return nil
  19620. }
  19621. // SetDryRun sets the DryRun field's value.
  19622. func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
  19623. s.DryRun = &v
  19624. return s
  19625. }
  19626. // SetVpcId sets the VpcId field's value.
  19627. func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
  19628. s.VpcId = &v
  19629. return s
  19630. }
  19631. type DeleteVpcOutput struct {
  19632. _ struct{} `type:"structure"`
  19633. }
  19634. // String returns the string representation
  19635. func (s DeleteVpcOutput) String() string {
  19636. return awsutil.Prettify(s)
  19637. }
  19638. // GoString returns the string representation
  19639. func (s DeleteVpcOutput) GoString() string {
  19640. return s.String()
  19641. }
  19642. // Contains the parameters for DeleteVpcPeeringConnection.
  19643. type DeleteVpcPeeringConnectionInput struct {
  19644. _ struct{} `type:"structure"`
  19645. // Checks whether you have the required permissions for the action, without
  19646. // actually making the request, and provides an error response. If you have
  19647. // the required permissions, the error response is DryRunOperation. Otherwise,
  19648. // it is UnauthorizedOperation.
  19649. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19650. // The ID of the VPC peering connection.
  19651. //
  19652. // VpcPeeringConnectionId is a required field
  19653. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  19654. }
  19655. // String returns the string representation
  19656. func (s DeleteVpcPeeringConnectionInput) String() string {
  19657. return awsutil.Prettify(s)
  19658. }
  19659. // GoString returns the string representation
  19660. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  19661. return s.String()
  19662. }
  19663. // Validate inspects the fields of the type to determine if they are valid.
  19664. func (s *DeleteVpcPeeringConnectionInput) Validate() error {
  19665. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
  19666. if s.VpcPeeringConnectionId == nil {
  19667. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  19668. }
  19669. if invalidParams.Len() > 0 {
  19670. return invalidParams
  19671. }
  19672. return nil
  19673. }
  19674. // SetDryRun sets the DryRun field's value.
  19675. func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
  19676. s.DryRun = &v
  19677. return s
  19678. }
  19679. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  19680. func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
  19681. s.VpcPeeringConnectionId = &v
  19682. return s
  19683. }
  19684. // Contains the output of DeleteVpcPeeringConnection.
  19685. type DeleteVpcPeeringConnectionOutput struct {
  19686. _ struct{} `type:"structure"`
  19687. // Returns true if the request succeeds; otherwise, it returns an error.
  19688. Return *bool `locationName:"return" type:"boolean"`
  19689. }
  19690. // String returns the string representation
  19691. func (s DeleteVpcPeeringConnectionOutput) String() string {
  19692. return awsutil.Prettify(s)
  19693. }
  19694. // GoString returns the string representation
  19695. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  19696. return s.String()
  19697. }
  19698. // SetReturn sets the Return field's value.
  19699. func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
  19700. s.Return = &v
  19701. return s
  19702. }
  19703. // Contains the parameters for DeleteVpnConnection.
  19704. type DeleteVpnConnectionInput struct {
  19705. _ struct{} `type:"structure"`
  19706. // Checks whether you have the required permissions for the action, without
  19707. // actually making the request, and provides an error response. If you have
  19708. // the required permissions, the error response is DryRunOperation. Otherwise,
  19709. // it is UnauthorizedOperation.
  19710. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19711. // The ID of the VPN connection.
  19712. //
  19713. // VpnConnectionId is a required field
  19714. VpnConnectionId *string `type:"string" required:"true"`
  19715. }
  19716. // String returns the string representation
  19717. func (s DeleteVpnConnectionInput) String() string {
  19718. return awsutil.Prettify(s)
  19719. }
  19720. // GoString returns the string representation
  19721. func (s DeleteVpnConnectionInput) GoString() string {
  19722. return s.String()
  19723. }
  19724. // Validate inspects the fields of the type to determine if they are valid.
  19725. func (s *DeleteVpnConnectionInput) Validate() error {
  19726. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
  19727. if s.VpnConnectionId == nil {
  19728. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  19729. }
  19730. if invalidParams.Len() > 0 {
  19731. return invalidParams
  19732. }
  19733. return nil
  19734. }
  19735. // SetDryRun sets the DryRun field's value.
  19736. func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
  19737. s.DryRun = &v
  19738. return s
  19739. }
  19740. // SetVpnConnectionId sets the VpnConnectionId field's value.
  19741. func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
  19742. s.VpnConnectionId = &v
  19743. return s
  19744. }
  19745. type DeleteVpnConnectionOutput struct {
  19746. _ struct{} `type:"structure"`
  19747. }
  19748. // String returns the string representation
  19749. func (s DeleteVpnConnectionOutput) String() string {
  19750. return awsutil.Prettify(s)
  19751. }
  19752. // GoString returns the string representation
  19753. func (s DeleteVpnConnectionOutput) GoString() string {
  19754. return s.String()
  19755. }
  19756. // Contains the parameters for DeleteVpnConnectionRoute.
  19757. type DeleteVpnConnectionRouteInput struct {
  19758. _ struct{} `type:"structure"`
  19759. // The CIDR block associated with the local subnet of the customer network.
  19760. //
  19761. // DestinationCidrBlock is a required field
  19762. DestinationCidrBlock *string `type:"string" required:"true"`
  19763. // The ID of the VPN connection.
  19764. //
  19765. // VpnConnectionId is a required field
  19766. VpnConnectionId *string `type:"string" required:"true"`
  19767. }
  19768. // String returns the string representation
  19769. func (s DeleteVpnConnectionRouteInput) String() string {
  19770. return awsutil.Prettify(s)
  19771. }
  19772. // GoString returns the string representation
  19773. func (s DeleteVpnConnectionRouteInput) GoString() string {
  19774. return s.String()
  19775. }
  19776. // Validate inspects the fields of the type to determine if they are valid.
  19777. func (s *DeleteVpnConnectionRouteInput) Validate() error {
  19778. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
  19779. if s.DestinationCidrBlock == nil {
  19780. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  19781. }
  19782. if s.VpnConnectionId == nil {
  19783. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  19784. }
  19785. if invalidParams.Len() > 0 {
  19786. return invalidParams
  19787. }
  19788. return nil
  19789. }
  19790. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  19791. func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
  19792. s.DestinationCidrBlock = &v
  19793. return s
  19794. }
  19795. // SetVpnConnectionId sets the VpnConnectionId field's value.
  19796. func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
  19797. s.VpnConnectionId = &v
  19798. return s
  19799. }
  19800. type DeleteVpnConnectionRouteOutput struct {
  19801. _ struct{} `type:"structure"`
  19802. }
  19803. // String returns the string representation
  19804. func (s DeleteVpnConnectionRouteOutput) String() string {
  19805. return awsutil.Prettify(s)
  19806. }
  19807. // GoString returns the string representation
  19808. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  19809. return s.String()
  19810. }
  19811. // Contains the parameters for DeleteVpnGateway.
  19812. type DeleteVpnGatewayInput struct {
  19813. _ struct{} `type:"structure"`
  19814. // Checks whether you have the required permissions for the action, without
  19815. // actually making the request, and provides an error response. If you have
  19816. // the required permissions, the error response is DryRunOperation. Otherwise,
  19817. // it is UnauthorizedOperation.
  19818. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19819. // The ID of the virtual private gateway.
  19820. //
  19821. // VpnGatewayId is a required field
  19822. VpnGatewayId *string `type:"string" required:"true"`
  19823. }
  19824. // String returns the string representation
  19825. func (s DeleteVpnGatewayInput) String() string {
  19826. return awsutil.Prettify(s)
  19827. }
  19828. // GoString returns the string representation
  19829. func (s DeleteVpnGatewayInput) GoString() string {
  19830. return s.String()
  19831. }
  19832. // Validate inspects the fields of the type to determine if they are valid.
  19833. func (s *DeleteVpnGatewayInput) Validate() error {
  19834. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
  19835. if s.VpnGatewayId == nil {
  19836. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  19837. }
  19838. if invalidParams.Len() > 0 {
  19839. return invalidParams
  19840. }
  19841. return nil
  19842. }
  19843. // SetDryRun sets the DryRun field's value.
  19844. func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
  19845. s.DryRun = &v
  19846. return s
  19847. }
  19848. // SetVpnGatewayId sets the VpnGatewayId field's value.
  19849. func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
  19850. s.VpnGatewayId = &v
  19851. return s
  19852. }
  19853. type DeleteVpnGatewayOutput struct {
  19854. _ struct{} `type:"structure"`
  19855. }
  19856. // String returns the string representation
  19857. func (s DeleteVpnGatewayOutput) String() string {
  19858. return awsutil.Prettify(s)
  19859. }
  19860. // GoString returns the string representation
  19861. func (s DeleteVpnGatewayOutput) GoString() string {
  19862. return s.String()
  19863. }
  19864. // Contains the parameters for DeregisterImage.
  19865. type DeregisterImageInput struct {
  19866. _ struct{} `type:"structure"`
  19867. // Checks whether you have the required permissions for the action, without
  19868. // actually making the request, and provides an error response. If you have
  19869. // the required permissions, the error response is DryRunOperation. Otherwise,
  19870. // it is UnauthorizedOperation.
  19871. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19872. // The ID of the AMI.
  19873. //
  19874. // ImageId is a required field
  19875. ImageId *string `type:"string" required:"true"`
  19876. }
  19877. // String returns the string representation
  19878. func (s DeregisterImageInput) String() string {
  19879. return awsutil.Prettify(s)
  19880. }
  19881. // GoString returns the string representation
  19882. func (s DeregisterImageInput) GoString() string {
  19883. return s.String()
  19884. }
  19885. // Validate inspects the fields of the type to determine if they are valid.
  19886. func (s *DeregisterImageInput) Validate() error {
  19887. invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
  19888. if s.ImageId == nil {
  19889. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  19890. }
  19891. if invalidParams.Len() > 0 {
  19892. return invalidParams
  19893. }
  19894. return nil
  19895. }
  19896. // SetDryRun sets the DryRun field's value.
  19897. func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
  19898. s.DryRun = &v
  19899. return s
  19900. }
  19901. // SetImageId sets the ImageId field's value.
  19902. func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
  19903. s.ImageId = &v
  19904. return s
  19905. }
  19906. type DeregisterImageOutput struct {
  19907. _ struct{} `type:"structure"`
  19908. }
  19909. // String returns the string representation
  19910. func (s DeregisterImageOutput) String() string {
  19911. return awsutil.Prettify(s)
  19912. }
  19913. // GoString returns the string representation
  19914. func (s DeregisterImageOutput) GoString() string {
  19915. return s.String()
  19916. }
  19917. // Contains the parameters for DescribeAccountAttributes.
  19918. type DescribeAccountAttributesInput struct {
  19919. _ struct{} `type:"structure"`
  19920. // One or more account attribute names.
  19921. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  19922. // Checks whether you have the required permissions for the action, without
  19923. // actually making the request, and provides an error response. If you have
  19924. // the required permissions, the error response is DryRunOperation. Otherwise,
  19925. // it is UnauthorizedOperation.
  19926. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19927. }
  19928. // String returns the string representation
  19929. func (s DescribeAccountAttributesInput) String() string {
  19930. return awsutil.Prettify(s)
  19931. }
  19932. // GoString returns the string representation
  19933. func (s DescribeAccountAttributesInput) GoString() string {
  19934. return s.String()
  19935. }
  19936. // SetAttributeNames sets the AttributeNames field's value.
  19937. func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
  19938. s.AttributeNames = v
  19939. return s
  19940. }
  19941. // SetDryRun sets the DryRun field's value.
  19942. func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
  19943. s.DryRun = &v
  19944. return s
  19945. }
  19946. // Contains the output of DescribeAccountAttributes.
  19947. type DescribeAccountAttributesOutput struct {
  19948. _ struct{} `type:"structure"`
  19949. // Information about one or more account attributes.
  19950. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  19951. }
  19952. // String returns the string representation
  19953. func (s DescribeAccountAttributesOutput) String() string {
  19954. return awsutil.Prettify(s)
  19955. }
  19956. // GoString returns the string representation
  19957. func (s DescribeAccountAttributesOutput) GoString() string {
  19958. return s.String()
  19959. }
  19960. // SetAccountAttributes sets the AccountAttributes field's value.
  19961. func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  19962. s.AccountAttributes = v
  19963. return s
  19964. }
  19965. // Contains the parameters for DescribeAddresses.
  19966. type DescribeAddressesInput struct {
  19967. _ struct{} `type:"structure"`
  19968. // [EC2-VPC] One or more allocation IDs.
  19969. //
  19970. // Default: Describes all your Elastic IP addresses.
  19971. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  19972. // Checks whether you have the required permissions for the action, without
  19973. // actually making the request, and provides an error response. If you have
  19974. // the required permissions, the error response is DryRunOperation. Otherwise,
  19975. // it is UnauthorizedOperation.
  19976. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19977. // One or more filters. Filter names and values are case-sensitive.
  19978. //
  19979. // * allocation-id - [EC2-VPC] The allocation ID for the address.
  19980. //
  19981. // * association-id - [EC2-VPC] The association ID for the address.
  19982. //
  19983. // * domain - Indicates whether the address is for use in EC2-Classic (standard)
  19984. // or in a VPC (vpc).
  19985. //
  19986. // * instance-id - The ID of the instance the address is associated with,
  19987. // if any.
  19988. //
  19989. // * network-interface-id - [EC2-VPC] The ID of the network interface that
  19990. // the address is associated with, if any.
  19991. //
  19992. // * network-interface-owner-id - The AWS account ID of the owner.
  19993. //
  19994. // * private-ip-address - [EC2-VPC] The private IP address associated with
  19995. // the Elastic IP address.
  19996. //
  19997. // * public-ip - The Elastic IP address.
  19998. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  19999. // [EC2-Classic] One or more Elastic IP addresses.
  20000. //
  20001. // Default: Describes all your Elastic IP addresses.
  20002. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  20003. }
  20004. // String returns the string representation
  20005. func (s DescribeAddressesInput) String() string {
  20006. return awsutil.Prettify(s)
  20007. }
  20008. // GoString returns the string representation
  20009. func (s DescribeAddressesInput) GoString() string {
  20010. return s.String()
  20011. }
  20012. // SetAllocationIds sets the AllocationIds field's value.
  20013. func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
  20014. s.AllocationIds = v
  20015. return s
  20016. }
  20017. // SetDryRun sets the DryRun field's value.
  20018. func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
  20019. s.DryRun = &v
  20020. return s
  20021. }
  20022. // SetFilters sets the Filters field's value.
  20023. func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
  20024. s.Filters = v
  20025. return s
  20026. }
  20027. // SetPublicIps sets the PublicIps field's value.
  20028. func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
  20029. s.PublicIps = v
  20030. return s
  20031. }
  20032. // Contains the output of DescribeAddresses.
  20033. type DescribeAddressesOutput struct {
  20034. _ struct{} `type:"structure"`
  20035. // Information about one or more Elastic IP addresses.
  20036. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  20037. }
  20038. // String returns the string representation
  20039. func (s DescribeAddressesOutput) String() string {
  20040. return awsutil.Prettify(s)
  20041. }
  20042. // GoString returns the string representation
  20043. func (s DescribeAddressesOutput) GoString() string {
  20044. return s.String()
  20045. }
  20046. // SetAddresses sets the Addresses field's value.
  20047. func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
  20048. s.Addresses = v
  20049. return s
  20050. }
  20051. // Contains the parameters for DescribeAvailabilityZones.
  20052. type DescribeAvailabilityZonesInput struct {
  20053. _ struct{} `type:"structure"`
  20054. // Checks whether you have the required permissions for the action, without
  20055. // actually making the request, and provides an error response. If you have
  20056. // the required permissions, the error response is DryRunOperation. Otherwise,
  20057. // it is UnauthorizedOperation.
  20058. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20059. // One or more filters.
  20060. //
  20061. // * message - Information about the Availability Zone.
  20062. //
  20063. // * region-name - The name of the region for the Availability Zone (for
  20064. // example, us-east-1).
  20065. //
  20066. // * state - The state of the Availability Zone (available | information
  20067. // | impaired | unavailable).
  20068. //
  20069. // * zone-name - The name of the Availability Zone (for example, us-east-1a).
  20070. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20071. // The names of one or more Availability Zones.
  20072. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  20073. }
  20074. // String returns the string representation
  20075. func (s DescribeAvailabilityZonesInput) String() string {
  20076. return awsutil.Prettify(s)
  20077. }
  20078. // GoString returns the string representation
  20079. func (s DescribeAvailabilityZonesInput) GoString() string {
  20080. return s.String()
  20081. }
  20082. // SetDryRun sets the DryRun field's value.
  20083. func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
  20084. s.DryRun = &v
  20085. return s
  20086. }
  20087. // SetFilters sets the Filters field's value.
  20088. func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
  20089. s.Filters = v
  20090. return s
  20091. }
  20092. // SetZoneNames sets the ZoneNames field's value.
  20093. func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
  20094. s.ZoneNames = v
  20095. return s
  20096. }
  20097. // Contains the output of DescribeAvailabiltyZones.
  20098. type DescribeAvailabilityZonesOutput struct {
  20099. _ struct{} `type:"structure"`
  20100. // Information about one or more Availability Zones.
  20101. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  20102. }
  20103. // String returns the string representation
  20104. func (s DescribeAvailabilityZonesOutput) String() string {
  20105. return awsutil.Prettify(s)
  20106. }
  20107. // GoString returns the string representation
  20108. func (s DescribeAvailabilityZonesOutput) GoString() string {
  20109. return s.String()
  20110. }
  20111. // SetAvailabilityZones sets the AvailabilityZones field's value.
  20112. func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
  20113. s.AvailabilityZones = v
  20114. return s
  20115. }
  20116. // Contains the parameters for DescribeBundleTasks.
  20117. type DescribeBundleTasksInput struct {
  20118. _ struct{} `type:"structure"`
  20119. // One or more bundle task IDs.
  20120. //
  20121. // Default: Describes all your bundle tasks.
  20122. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  20123. // Checks whether you have the required permissions for the action, without
  20124. // actually making the request, and provides an error response. If you have
  20125. // the required permissions, the error response is DryRunOperation. Otherwise,
  20126. // it is UnauthorizedOperation.
  20127. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20128. // One or more filters.
  20129. //
  20130. // * bundle-id - The ID of the bundle task.
  20131. //
  20132. // * error-code - If the task failed, the error code returned.
  20133. //
  20134. // * error-message - If the task failed, the error message returned.
  20135. //
  20136. // * instance-id - The ID of the instance.
  20137. //
  20138. // * progress - The level of task completion, as a percentage (for example,
  20139. // 20%).
  20140. //
  20141. // * s3-bucket - The Amazon S3 bucket to store the AMI.
  20142. //
  20143. // * s3-prefix - The beginning of the AMI name.
  20144. //
  20145. // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  20146. //
  20147. // * state - The state of the task (pending | waiting-for-shutdown | bundling
  20148. // | storing | cancelling | complete | failed).
  20149. //
  20150. // * update-time - The time of the most recent update for the task.
  20151. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20152. }
  20153. // String returns the string representation
  20154. func (s DescribeBundleTasksInput) String() string {
  20155. return awsutil.Prettify(s)
  20156. }
  20157. // GoString returns the string representation
  20158. func (s DescribeBundleTasksInput) GoString() string {
  20159. return s.String()
  20160. }
  20161. // SetBundleIds sets the BundleIds field's value.
  20162. func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
  20163. s.BundleIds = v
  20164. return s
  20165. }
  20166. // SetDryRun sets the DryRun field's value.
  20167. func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
  20168. s.DryRun = &v
  20169. return s
  20170. }
  20171. // SetFilters sets the Filters field's value.
  20172. func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
  20173. s.Filters = v
  20174. return s
  20175. }
  20176. // Contains the output of DescribeBundleTasks.
  20177. type DescribeBundleTasksOutput struct {
  20178. _ struct{} `type:"structure"`
  20179. // Information about one or more bundle tasks.
  20180. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  20181. }
  20182. // String returns the string representation
  20183. func (s DescribeBundleTasksOutput) String() string {
  20184. return awsutil.Prettify(s)
  20185. }
  20186. // GoString returns the string representation
  20187. func (s DescribeBundleTasksOutput) GoString() string {
  20188. return s.String()
  20189. }
  20190. // SetBundleTasks sets the BundleTasks field's value.
  20191. func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
  20192. s.BundleTasks = v
  20193. return s
  20194. }
  20195. // Contains the parameters for DescribeClassicLinkInstances.
  20196. type DescribeClassicLinkInstancesInput struct {
  20197. _ struct{} `type:"structure"`
  20198. // Checks whether you have the required permissions for the action, without
  20199. // actually making the request, and provides an error response. If you have
  20200. // the required permissions, the error response is DryRunOperation. Otherwise,
  20201. // it is UnauthorizedOperation.
  20202. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20203. // One or more filters.
  20204. //
  20205. // * group-id - The ID of a VPC security group that's associated with the
  20206. // instance.
  20207. //
  20208. // * instance-id - The ID of the instance.
  20209. //
  20210. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  20211. //
  20212. // * tag-key - The key of a tag assigned to the resource. This filter is
  20213. // independent of the tag-value filter. For example, if you use both the
  20214. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  20215. // assigned both the tag key Purpose (regardless of what the tag's value
  20216. // is), and the tag value X (regardless of what the tag's key is). If you
  20217. // want to list only resources where Purpose is X, see the tag:key=value
  20218. // filter.
  20219. //
  20220. // * tag-value - The value of a tag assigned to the resource. This filter
  20221. // is independent of the tag-key filter.
  20222. //
  20223. // * vpc-id - The ID of the VPC that the instance is linked to.
  20224. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20225. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  20226. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  20227. // The maximum number of results to return for the request in a single page.
  20228. // The remaining results of the initial request can be seen by sending another
  20229. // request with the returned NextToken value. This value can be between 5 and
  20230. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  20231. // are returned. You cannot specify this parameter and the instance IDs parameter
  20232. // in the same request.
  20233. //
  20234. // Constraint: If the value is greater than 1000, we return only 1000 items.
  20235. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  20236. // The token to retrieve the next page of results.
  20237. NextToken *string `locationName:"nextToken" type:"string"`
  20238. }
  20239. // String returns the string representation
  20240. func (s DescribeClassicLinkInstancesInput) String() string {
  20241. return awsutil.Prettify(s)
  20242. }
  20243. // GoString returns the string representation
  20244. func (s DescribeClassicLinkInstancesInput) GoString() string {
  20245. return s.String()
  20246. }
  20247. // SetDryRun sets the DryRun field's value.
  20248. func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
  20249. s.DryRun = &v
  20250. return s
  20251. }
  20252. // SetFilters sets the Filters field's value.
  20253. func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
  20254. s.Filters = v
  20255. return s
  20256. }
  20257. // SetInstanceIds sets the InstanceIds field's value.
  20258. func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
  20259. s.InstanceIds = v
  20260. return s
  20261. }
  20262. // SetMaxResults sets the MaxResults field's value.
  20263. func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
  20264. s.MaxResults = &v
  20265. return s
  20266. }
  20267. // SetNextToken sets the NextToken field's value.
  20268. func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
  20269. s.NextToken = &v
  20270. return s
  20271. }
  20272. // Contains the output of DescribeClassicLinkInstances.
  20273. type DescribeClassicLinkInstancesOutput struct {
  20274. _ struct{} `type:"structure"`
  20275. // Information about one or more linked EC2-Classic instances.
  20276. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  20277. // The token to use to retrieve the next page of results. This value is null
  20278. // when there are no more results to return.
  20279. NextToken *string `locationName:"nextToken" type:"string"`
  20280. }
  20281. // String returns the string representation
  20282. func (s DescribeClassicLinkInstancesOutput) String() string {
  20283. return awsutil.Prettify(s)
  20284. }
  20285. // GoString returns the string representation
  20286. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  20287. return s.String()
  20288. }
  20289. // SetInstances sets the Instances field's value.
  20290. func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
  20291. s.Instances = v
  20292. return s
  20293. }
  20294. // SetNextToken sets the NextToken field's value.
  20295. func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
  20296. s.NextToken = &v
  20297. return s
  20298. }
  20299. // Contains the parameters for DescribeConversionTasks.
  20300. type DescribeConversionTasksInput struct {
  20301. _ struct{} `type:"structure"`
  20302. // One or more conversion task IDs.
  20303. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  20304. // Checks whether you have the required permissions for the action, without
  20305. // actually making the request, and provides an error response. If you have
  20306. // the required permissions, the error response is DryRunOperation. Otherwise,
  20307. // it is UnauthorizedOperation.
  20308. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20309. }
  20310. // String returns the string representation
  20311. func (s DescribeConversionTasksInput) String() string {
  20312. return awsutil.Prettify(s)
  20313. }
  20314. // GoString returns the string representation
  20315. func (s DescribeConversionTasksInput) GoString() string {
  20316. return s.String()
  20317. }
  20318. // SetConversionTaskIds sets the ConversionTaskIds field's value.
  20319. func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
  20320. s.ConversionTaskIds = v
  20321. return s
  20322. }
  20323. // SetDryRun sets the DryRun field's value.
  20324. func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
  20325. s.DryRun = &v
  20326. return s
  20327. }
  20328. // Contains the output for DescribeConversionTasks.
  20329. type DescribeConversionTasksOutput struct {
  20330. _ struct{} `type:"structure"`
  20331. // Information about the conversion tasks.
  20332. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  20333. }
  20334. // String returns the string representation
  20335. func (s DescribeConversionTasksOutput) String() string {
  20336. return awsutil.Prettify(s)
  20337. }
  20338. // GoString returns the string representation
  20339. func (s DescribeConversionTasksOutput) GoString() string {
  20340. return s.String()
  20341. }
  20342. // SetConversionTasks sets the ConversionTasks field's value.
  20343. func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
  20344. s.ConversionTasks = v
  20345. return s
  20346. }
  20347. // Contains the parameters for DescribeCustomerGateways.
  20348. type DescribeCustomerGatewaysInput struct {
  20349. _ struct{} `type:"structure"`
  20350. // One or more customer gateway IDs.
  20351. //
  20352. // Default: Describes all your customer gateways.
  20353. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  20354. // Checks whether you have the required permissions for the action, without
  20355. // actually making the request, and provides an error response. If you have
  20356. // the required permissions, the error response is DryRunOperation. Otherwise,
  20357. // it is UnauthorizedOperation.
  20358. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20359. // One or more filters.
  20360. //
  20361. // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  20362. // System Number (ASN).
  20363. //
  20364. // * customer-gateway-id - The ID of the customer gateway.
  20365. //
  20366. // * ip-address - The IP address of the customer gateway's Internet-routable
  20367. // external interface.
  20368. //
  20369. // * state - The state of the customer gateway (pending | available | deleting
  20370. // | deleted).
  20371. //
  20372. // * type - The type of customer gateway. Currently, the only supported type
  20373. // is ipsec.1.
  20374. //
  20375. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  20376. //
  20377. // * tag-key - The key of a tag assigned to the resource. This filter is
  20378. // independent of the tag-value filter. For example, if you use both the
  20379. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  20380. // assigned both the tag key Purpose (regardless of what the tag's value
  20381. // is), and the tag value X (regardless of what the tag's key is). If you
  20382. // want to list only resources where Purpose is X, see the tag:key=value
  20383. // filter.
  20384. //
  20385. // * tag-value - The value of a tag assigned to the resource. This filter
  20386. // is independent of the tag-key filter.
  20387. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20388. }
  20389. // String returns the string representation
  20390. func (s DescribeCustomerGatewaysInput) String() string {
  20391. return awsutil.Prettify(s)
  20392. }
  20393. // GoString returns the string representation
  20394. func (s DescribeCustomerGatewaysInput) GoString() string {
  20395. return s.String()
  20396. }
  20397. // SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
  20398. func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
  20399. s.CustomerGatewayIds = v
  20400. return s
  20401. }
  20402. // SetDryRun sets the DryRun field's value.
  20403. func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
  20404. s.DryRun = &v
  20405. return s
  20406. }
  20407. // SetFilters sets the Filters field's value.
  20408. func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
  20409. s.Filters = v
  20410. return s
  20411. }
  20412. // Contains the output of DescribeCustomerGateways.
  20413. type DescribeCustomerGatewaysOutput struct {
  20414. _ struct{} `type:"structure"`
  20415. // Information about one or more customer gateways.
  20416. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  20417. }
  20418. // String returns the string representation
  20419. func (s DescribeCustomerGatewaysOutput) String() string {
  20420. return awsutil.Prettify(s)
  20421. }
  20422. // GoString returns the string representation
  20423. func (s DescribeCustomerGatewaysOutput) GoString() string {
  20424. return s.String()
  20425. }
  20426. // SetCustomerGateways sets the CustomerGateways field's value.
  20427. func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
  20428. s.CustomerGateways = v
  20429. return s
  20430. }
  20431. // Contains the parameters for DescribeDhcpOptions.
  20432. type DescribeDhcpOptionsInput struct {
  20433. _ struct{} `type:"structure"`
  20434. // The IDs of one or more DHCP options sets.
  20435. //
  20436. // Default: Describes all your DHCP options sets.
  20437. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  20438. // Checks whether you have the required permissions for the action, without
  20439. // actually making the request, and provides an error response. If you have
  20440. // the required permissions, the error response is DryRunOperation. Otherwise,
  20441. // it is UnauthorizedOperation.
  20442. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20443. // One or more filters.
  20444. //
  20445. // * dhcp-options-id - The ID of a set of DHCP options.
  20446. //
  20447. // * key - The key for one of the options (for example, domain-name).
  20448. //
  20449. // * value - The value for one of the options.
  20450. //
  20451. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  20452. //
  20453. // * tag-key - The key of a tag assigned to the resource. This filter is
  20454. // independent of the tag-value filter. For example, if you use both the
  20455. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  20456. // assigned both the tag key Purpose (regardless of what the tag's value
  20457. // is), and the tag value X (regardless of what the tag's key is). If you
  20458. // want to list only resources where Purpose is X, see the tag:key=value
  20459. // filter.
  20460. //
  20461. // * tag-value - The value of a tag assigned to the resource. This filter
  20462. // is independent of the tag-key filter.
  20463. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  20464. }
  20465. // String returns the string representation
  20466. func (s DescribeDhcpOptionsInput) String() string {
  20467. return awsutil.Prettify(s)
  20468. }
  20469. // GoString returns the string representation
  20470. func (s DescribeDhcpOptionsInput) GoString() string {
  20471. return s.String()
  20472. }
  20473. // SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
  20474. func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
  20475. s.DhcpOptionsIds = v
  20476. return s
  20477. }
  20478. // SetDryRun sets the DryRun field's value.
  20479. func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
  20480. s.DryRun = &v
  20481. return s
  20482. }
  20483. // SetFilters sets the Filters field's value.
  20484. func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
  20485. s.Filters = v
  20486. return s
  20487. }
  20488. // Contains the output of DescribeDhcpOptions.
  20489. type DescribeDhcpOptionsOutput struct {
  20490. _ struct{} `type:"structure"`
  20491. // Information about one or more DHCP options sets.
  20492. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  20493. }
  20494. // String returns the string representation
  20495. func (s DescribeDhcpOptionsOutput) String() string {
  20496. return awsutil.Prettify(s)
  20497. }
  20498. // GoString returns the string representation
  20499. func (s DescribeDhcpOptionsOutput) GoString() string {
  20500. return s.String()
  20501. }
  20502. // SetDhcpOptions sets the DhcpOptions field's value.
  20503. func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
  20504. s.DhcpOptions = v
  20505. return s
  20506. }
  20507. // Contains the parameters for DescribeExportTasks.
  20508. type DescribeExportTasksInput struct {
  20509. _ struct{} `type:"structure"`
  20510. // One or more export task IDs.
  20511. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  20512. }
  20513. // String returns the string representation
  20514. func (s DescribeExportTasksInput) String() string {
  20515. return awsutil.Prettify(s)
  20516. }
  20517. // GoString returns the string representation
  20518. func (s DescribeExportTasksInput) GoString() string {
  20519. return s.String()
  20520. }
  20521. // SetExportTaskIds sets the ExportTaskIds field's value.
  20522. func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
  20523. s.ExportTaskIds = v
  20524. return s
  20525. }
  20526. // Contains the output for DescribeExportTasks.
  20527. type DescribeExportTasksOutput struct {
  20528. _ struct{} `type:"structure"`
  20529. // Information about the export tasks.
  20530. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  20531. }
  20532. // String returns the string representation
  20533. func (s DescribeExportTasksOutput) String() string {
  20534. return awsutil.Prettify(s)
  20535. }
  20536. // GoString returns the string representation
  20537. func (s DescribeExportTasksOutput) GoString() string {
  20538. return s.String()
  20539. }
  20540. // SetExportTasks sets the ExportTasks field's value.
  20541. func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
  20542. s.ExportTasks = v
  20543. return s
  20544. }
  20545. // Contains the parameters for DescribeFlowLogs.
  20546. type DescribeFlowLogsInput struct {
  20547. _ struct{} `type:"structure"`
  20548. // One or more filters.
  20549. //
  20550. // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  20551. //
  20552. // * flow-log-id - The ID of the flow log.
  20553. //
  20554. // * log-group-name - The name of the log group.
  20555. //
  20556. // * resource-id - The ID of the VPC, subnet, or network interface.
  20557. //
  20558. // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
  20559. Filter []*Filter `locationNameList:"Filter" type:"list"`
  20560. // One or more flow log IDs.
  20561. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  20562. // The maximum number of results to return for the request in a single page.
  20563. // The remaining results can be seen by sending another request with the returned
  20564. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  20565. // a value larger than 1000, only 1000 results are returned. You cannot specify
  20566. // this parameter and the flow log IDs parameter in the same request.
  20567. MaxResults *int64 `type:"integer"`
  20568. // The token to retrieve the next page of results.
  20569. NextToken *string `type:"string"`
  20570. }
  20571. // String returns the string representation
  20572. func (s DescribeFlowLogsInput) String() string {
  20573. return awsutil.Prettify(s)
  20574. }
  20575. // GoString returns the string representation
  20576. func (s DescribeFlowLogsInput) GoString() string {
  20577. return s.String()
  20578. }
  20579. // SetFilter sets the Filter field's value.
  20580. func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
  20581. s.Filter = v
  20582. return s
  20583. }
  20584. // SetFlowLogIds sets the FlowLogIds field's value.
  20585. func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
  20586. s.FlowLogIds = v
  20587. return s
  20588. }
  20589. // SetMaxResults sets the MaxResults field's value.
  20590. func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
  20591. s.MaxResults = &v
  20592. return s
  20593. }
  20594. // SetNextToken sets the NextToken field's value.
  20595. func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
  20596. s.NextToken = &v
  20597. return s
  20598. }
  20599. // Contains the output of DescribeFlowLogs.
  20600. type DescribeFlowLogsOutput struct {
  20601. _ struct{} `type:"structure"`
  20602. // Information about the flow logs.
  20603. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  20604. // The token to use to retrieve the next page of results. This value is null
  20605. // when there are no more results to return.
  20606. NextToken *string `locationName:"nextToken" type:"string"`
  20607. }
  20608. // String returns the string representation
  20609. func (s DescribeFlowLogsOutput) String() string {
  20610. return awsutil.Prettify(s)
  20611. }
  20612. // GoString returns the string representation
  20613. func (s DescribeFlowLogsOutput) GoString() string {
  20614. return s.String()
  20615. }
  20616. // SetFlowLogs sets the FlowLogs field's value.
  20617. func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
  20618. s.FlowLogs = v
  20619. return s
  20620. }
  20621. // SetNextToken sets the NextToken field's value.
  20622. func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
  20623. s.NextToken = &v
  20624. return s
  20625. }
  20626. type DescribeHostReservationOfferingsInput struct {
  20627. _ struct{} `type:"structure"`
  20628. // One or more filters.
  20629. //
  20630. // * instance-family - The instance family of the offering (e.g., m4).
  20631. //
  20632. // * payment-option - The payment option (No Upfront | Partial Upfront |
  20633. // All Upfront).
  20634. Filter []*Filter `locationNameList:"Filter" type:"list"`
  20635. // This is the maximum duration of the reservation you'd like to purchase, specified
  20636. // in seconds. Reservations are available in one-year and three-year terms.
  20637. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  20638. // times one of the supported durations (1 or 3). For example, specify 94608000
  20639. // for three years.
  20640. MaxDuration *int64 `type:"integer"`
  20641. // The maximum number of results to return for the request in a single page.
  20642. // The remaining results can be seen by sending another request with the returned
  20643. // nextToken value. This value can be between 5 and 500; if maxResults is given
  20644. // a larger value than 500, you will receive an error.
  20645. MaxResults *int64 `type:"integer"`
  20646. // This is the minimum duration of the reservation you'd like to purchase, specified
  20647. // in seconds. Reservations are available in one-year and three-year terms.
  20648. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  20649. // times one of the supported durations (1 or 3). For example, specify 31536000
  20650. // for one year.
  20651. MinDuration *int64 `type:"integer"`
  20652. // The token to use to retrieve the next page of results.
  20653. NextToken *string `type:"string"`
  20654. // The ID of the reservation offering.
  20655. OfferingId *string `type:"string"`
  20656. }
  20657. // String returns the string representation
  20658. func (s DescribeHostReservationOfferingsInput) String() string {
  20659. return awsutil.Prettify(s)
  20660. }
  20661. // GoString returns the string representation
  20662. func (s DescribeHostReservationOfferingsInput) GoString() string {
  20663. return s.String()
  20664. }
  20665. // SetFilter sets the Filter field's value.
  20666. func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
  20667. s.Filter = v
  20668. return s
  20669. }
  20670. // SetMaxDuration sets the MaxDuration field's value.
  20671. func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
  20672. s.MaxDuration = &v
  20673. return s
  20674. }
  20675. // SetMaxResults sets the MaxResults field's value.
  20676. func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
  20677. s.MaxResults = &v
  20678. return s
  20679. }
  20680. // SetMinDuration sets the MinDuration field's value.
  20681. func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
  20682. s.MinDuration = &v
  20683. return s
  20684. }
  20685. // SetNextToken sets the NextToken field's value.
  20686. func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
  20687. s.NextToken = &v
  20688. return s
  20689. }
  20690. // SetOfferingId sets the OfferingId field's value.
  20691. func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
  20692. s.OfferingId = &v
  20693. return s
  20694. }
  20695. type DescribeHostReservationOfferingsOutput struct {
  20696. _ struct{} `type:"structure"`
  20697. // The token to use to retrieve the next page of results. This value is null
  20698. // when there are no more results to return.
  20699. NextToken *string `locationName:"nextToken" type:"string"`
  20700. // Information about the offerings.
  20701. OfferingSet []*HostOffering `locationName:"offeringSet" type:"list"`
  20702. }
  20703. // String returns the string representation
  20704. func (s DescribeHostReservationOfferingsOutput) String() string {
  20705. return awsutil.Prettify(s)
  20706. }
  20707. // GoString returns the string representation
  20708. func (s DescribeHostReservationOfferingsOutput) GoString() string {
  20709. return s.String()
  20710. }
  20711. // SetNextToken sets the NextToken field's value.
  20712. func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
  20713. s.NextToken = &v
  20714. return s
  20715. }
  20716. // SetOfferingSet sets the OfferingSet field's value.
  20717. func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
  20718. s.OfferingSet = v
  20719. return s
  20720. }
  20721. type DescribeHostReservationsInput struct {
  20722. _ struct{} `type:"structure"`
  20723. // One or more filters.
  20724. //
  20725. // * instance-family - The instance family (e.g., m4).
  20726. //
  20727. // * payment-option - The payment option (No Upfront | Partial Upfront |
  20728. // All Upfront).
  20729. //
  20730. // * state - The state of the reservation (payment-pending | payment-failed
  20731. // | active | retired).
  20732. Filter []*Filter `locationNameList:"Filter" type:"list"`
  20733. // One or more host reservation IDs.
  20734. HostReservationIdSet []*string `locationNameList:"item" type:"list"`
  20735. // The maximum number of results to return for the request in a single page.
  20736. // The remaining results can be seen by sending another request with the returned
  20737. // nextToken value. This value can be between 5 and 500; if maxResults is given
  20738. // a larger value than 500, you will receive an error.
  20739. MaxResults *int64 `type:"integer"`
  20740. // The token to use to retrieve the next page of results.
  20741. NextToken *string `type:"string"`
  20742. }
  20743. // String returns the string representation
  20744. func (s DescribeHostReservationsInput) String() string {
  20745. return awsutil.Prettify(s)
  20746. }
  20747. // GoString returns the string representation
  20748. func (s DescribeHostReservationsInput) GoString() string {
  20749. return s.String()
  20750. }
  20751. // SetFilter sets the Filter field's value.
  20752. func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
  20753. s.Filter = v
  20754. return s
  20755. }
  20756. // SetHostReservationIdSet sets the HostReservationIdSet field's value.
  20757. func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
  20758. s.HostReservationIdSet = v
  20759. return s
  20760. }
  20761. // SetMaxResults sets the MaxResults field's value.
  20762. func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
  20763. s.MaxResults = &v
  20764. return s
  20765. }
  20766. // SetNextToken sets the NextToken field's value.
  20767. func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
  20768. s.NextToken = &v
  20769. return s
  20770. }
  20771. type DescribeHostReservationsOutput struct {
  20772. _ struct{} `type:"structure"`
  20773. // Details about the reservation's configuration.
  20774. HostReservationSet []*HostReservation `locationName:"hostReservationSet" type:"list"`
  20775. // The token to use to retrieve the next page of results. This value is null
  20776. // when there are no more results to return.
  20777. NextToken *string `locationName:"nextToken" type:"string"`
  20778. }
  20779. // String returns the string representation
  20780. func (s DescribeHostReservationsOutput) String() string {
  20781. return awsutil.Prettify(s)
  20782. }
  20783. // GoString returns the string representation
  20784. func (s DescribeHostReservationsOutput) GoString() string {
  20785. return s.String()
  20786. }
  20787. // SetHostReservationSet sets the HostReservationSet field's value.
  20788. func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
  20789. s.HostReservationSet = v
  20790. return s
  20791. }
  20792. // SetNextToken sets the NextToken field's value.
  20793. func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
  20794. s.NextToken = &v
  20795. return s
  20796. }
  20797. // Contains the parameters for DescribeHosts.
  20798. type DescribeHostsInput struct {
  20799. _ struct{} `type:"structure"`
  20800. // One or more filters.
  20801. //
  20802. // * instance-type - The instance type size that the Dedicated Host is configured
  20803. // to support.
  20804. //
  20805. // * auto-placement - Whether auto-placement is enabled or disabled (on |
  20806. // off).
  20807. //
  20808. // * host-reservation-id - The ID of the reservation assigned to this host.
  20809. //
  20810. // * client-token - The idempotency token you provided when you launched
  20811. // the instance
  20812. //
  20813. // * state- The allocation state of the Dedicated Host (available | under-assessment
  20814. // | permanent-failure | released | released-permanent-failure).
  20815. //
  20816. // * availability-zone - The Availability Zone of the host.
  20817. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  20818. // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
  20819. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
  20820. // The maximum number of results to return for the request in a single page.
  20821. // The remaining results can be seen by sending another request with the returned
  20822. // nextToken value. This value can be between 5 and 500; if maxResults is given
  20823. // a larger value than 500, you will receive an error. You cannot specify this
  20824. // parameter and the host IDs parameter in the same request.
  20825. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  20826. // The token to retrieve the next page of results.
  20827. NextToken *string `locationName:"nextToken" type:"string"`
  20828. }
  20829. // String returns the string representation
  20830. func (s DescribeHostsInput) String() string {
  20831. return awsutil.Prettify(s)
  20832. }
  20833. // GoString returns the string representation
  20834. func (s DescribeHostsInput) GoString() string {
  20835. return s.String()
  20836. }
  20837. // SetFilter sets the Filter field's value.
  20838. func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
  20839. s.Filter = v
  20840. return s
  20841. }
  20842. // SetHostIds sets the HostIds field's value.
  20843. func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
  20844. s.HostIds = v
  20845. return s
  20846. }
  20847. // SetMaxResults sets the MaxResults field's value.
  20848. func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
  20849. s.MaxResults = &v
  20850. return s
  20851. }
  20852. // SetNextToken sets the NextToken field's value.
  20853. func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
  20854. s.NextToken = &v
  20855. return s
  20856. }
  20857. // Contains the output of DescribeHosts.
  20858. type DescribeHostsOutput struct {
  20859. _ struct{} `type:"structure"`
  20860. // Information about the Dedicated Hosts.
  20861. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
  20862. // The token to use to retrieve the next page of results. This value is null
  20863. // when there are no more results to return.
  20864. NextToken *string `locationName:"nextToken" type:"string"`
  20865. }
  20866. // String returns the string representation
  20867. func (s DescribeHostsOutput) String() string {
  20868. return awsutil.Prettify(s)
  20869. }
  20870. // GoString returns the string representation
  20871. func (s DescribeHostsOutput) GoString() string {
  20872. return s.String()
  20873. }
  20874. // SetHosts sets the Hosts field's value.
  20875. func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
  20876. s.Hosts = v
  20877. return s
  20878. }
  20879. // SetNextToken sets the NextToken field's value.
  20880. func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
  20881. s.NextToken = &v
  20882. return s
  20883. }
  20884. // Contains the parameters for DescribeIdFormat.
  20885. type DescribeIdFormatInput struct {
  20886. _ struct{} `type:"structure"`
  20887. // The type of resource: instance | reservation | snapshot | volume
  20888. Resource *string `type:"string"`
  20889. }
  20890. // String returns the string representation
  20891. func (s DescribeIdFormatInput) String() string {
  20892. return awsutil.Prettify(s)
  20893. }
  20894. // GoString returns the string representation
  20895. func (s DescribeIdFormatInput) GoString() string {
  20896. return s.String()
  20897. }
  20898. // SetResource sets the Resource field's value.
  20899. func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
  20900. s.Resource = &v
  20901. return s
  20902. }
  20903. // Contains the output of DescribeIdFormat.
  20904. type DescribeIdFormatOutput struct {
  20905. _ struct{} `type:"structure"`
  20906. // Information about the ID format for the resource.
  20907. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  20908. }
  20909. // String returns the string representation
  20910. func (s DescribeIdFormatOutput) String() string {
  20911. return awsutil.Prettify(s)
  20912. }
  20913. // GoString returns the string representation
  20914. func (s DescribeIdFormatOutput) GoString() string {
  20915. return s.String()
  20916. }
  20917. // SetStatuses sets the Statuses field's value.
  20918. func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
  20919. s.Statuses = v
  20920. return s
  20921. }
  20922. // Contains the parameters for DescribeIdentityIdFormat.
  20923. type DescribeIdentityIdFormatInput struct {
  20924. _ struct{} `type:"structure"`
  20925. // The ARN of the principal, which can be an IAM role, IAM user, or the root
  20926. // user.
  20927. //
  20928. // PrincipalArn is a required field
  20929. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  20930. // The type of resource: instance | reservation | snapshot | volume
  20931. Resource *string `locationName:"resource" type:"string"`
  20932. }
  20933. // String returns the string representation
  20934. func (s DescribeIdentityIdFormatInput) String() string {
  20935. return awsutil.Prettify(s)
  20936. }
  20937. // GoString returns the string representation
  20938. func (s DescribeIdentityIdFormatInput) GoString() string {
  20939. return s.String()
  20940. }
  20941. // Validate inspects the fields of the type to determine if they are valid.
  20942. func (s *DescribeIdentityIdFormatInput) Validate() error {
  20943. invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
  20944. if s.PrincipalArn == nil {
  20945. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  20946. }
  20947. if invalidParams.Len() > 0 {
  20948. return invalidParams
  20949. }
  20950. return nil
  20951. }
  20952. // SetPrincipalArn sets the PrincipalArn field's value.
  20953. func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
  20954. s.PrincipalArn = &v
  20955. return s
  20956. }
  20957. // SetResource sets the Resource field's value.
  20958. func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
  20959. s.Resource = &v
  20960. return s
  20961. }
  20962. // Contains the output of DescribeIdentityIdFormat.
  20963. type DescribeIdentityIdFormatOutput struct {
  20964. _ struct{} `type:"structure"`
  20965. // Information about the ID format for the resources.
  20966. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  20967. }
  20968. // String returns the string representation
  20969. func (s DescribeIdentityIdFormatOutput) String() string {
  20970. return awsutil.Prettify(s)
  20971. }
  20972. // GoString returns the string representation
  20973. func (s DescribeIdentityIdFormatOutput) GoString() string {
  20974. return s.String()
  20975. }
  20976. // SetStatuses sets the Statuses field's value.
  20977. func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
  20978. s.Statuses = v
  20979. return s
  20980. }
  20981. // Contains the parameters for DescribeImageAttribute.
  20982. type DescribeImageAttributeInput struct {
  20983. _ struct{} `type:"structure"`
  20984. // The AMI attribute.
  20985. //
  20986. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  20987. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  20988. // to get information about the block device mapping for the AMI.
  20989. //
  20990. // Attribute is a required field
  20991. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  20992. // Checks whether you have the required permissions for the action, without
  20993. // actually making the request, and provides an error response. If you have
  20994. // the required permissions, the error response is DryRunOperation. Otherwise,
  20995. // it is UnauthorizedOperation.
  20996. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20997. // The ID of the AMI.
  20998. //
  20999. // ImageId is a required field
  21000. ImageId *string `type:"string" required:"true"`
  21001. }
  21002. // String returns the string representation
  21003. func (s DescribeImageAttributeInput) String() string {
  21004. return awsutil.Prettify(s)
  21005. }
  21006. // GoString returns the string representation
  21007. func (s DescribeImageAttributeInput) GoString() string {
  21008. return s.String()
  21009. }
  21010. // Validate inspects the fields of the type to determine if they are valid.
  21011. func (s *DescribeImageAttributeInput) Validate() error {
  21012. invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
  21013. if s.Attribute == nil {
  21014. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  21015. }
  21016. if s.ImageId == nil {
  21017. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  21018. }
  21019. if invalidParams.Len() > 0 {
  21020. return invalidParams
  21021. }
  21022. return nil
  21023. }
  21024. // SetAttribute sets the Attribute field's value.
  21025. func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
  21026. s.Attribute = &v
  21027. return s
  21028. }
  21029. // SetDryRun sets the DryRun field's value.
  21030. func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
  21031. s.DryRun = &v
  21032. return s
  21033. }
  21034. // SetImageId sets the ImageId field's value.
  21035. func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
  21036. s.ImageId = &v
  21037. return s
  21038. }
  21039. // Describes an image attribute.
  21040. type DescribeImageAttributeOutput struct {
  21041. _ struct{} `type:"structure"`
  21042. // One or more block device mapping entries.
  21043. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  21044. // A description for the AMI.
  21045. Description *AttributeValue `locationName:"description" type:"structure"`
  21046. // The ID of the AMI.
  21047. ImageId *string `locationName:"imageId" type:"string"`
  21048. // The kernel ID.
  21049. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  21050. // One or more launch permissions.
  21051. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  21052. // One or more product codes.
  21053. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  21054. // The RAM disk ID.
  21055. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  21056. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  21057. // interface is enabled.
  21058. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  21059. }
  21060. // String returns the string representation
  21061. func (s DescribeImageAttributeOutput) String() string {
  21062. return awsutil.Prettify(s)
  21063. }
  21064. // GoString returns the string representation
  21065. func (s DescribeImageAttributeOutput) GoString() string {
  21066. return s.String()
  21067. }
  21068. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  21069. func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
  21070. s.BlockDeviceMappings = v
  21071. return s
  21072. }
  21073. // SetDescription sets the Description field's value.
  21074. func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
  21075. s.Description = v
  21076. return s
  21077. }
  21078. // SetImageId sets the ImageId field's value.
  21079. func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
  21080. s.ImageId = &v
  21081. return s
  21082. }
  21083. // SetKernelId sets the KernelId field's value.
  21084. func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
  21085. s.KernelId = v
  21086. return s
  21087. }
  21088. // SetLaunchPermissions sets the LaunchPermissions field's value.
  21089. func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
  21090. s.LaunchPermissions = v
  21091. return s
  21092. }
  21093. // SetProductCodes sets the ProductCodes field's value.
  21094. func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
  21095. s.ProductCodes = v
  21096. return s
  21097. }
  21098. // SetRamdiskId sets the RamdiskId field's value.
  21099. func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
  21100. s.RamdiskId = v
  21101. return s
  21102. }
  21103. // SetSriovNetSupport sets the SriovNetSupport field's value.
  21104. func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
  21105. s.SriovNetSupport = v
  21106. return s
  21107. }
  21108. // Contains the parameters for DescribeImages.
  21109. type DescribeImagesInput struct {
  21110. _ struct{} `type:"structure"`
  21111. // Checks whether you have the required permissions for the action, without
  21112. // actually making the request, and provides an error response. If you have
  21113. // the required permissions, the error response is DryRunOperation. Otherwise,
  21114. // it is UnauthorizedOperation.
  21115. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21116. // Scopes the images by users with explicit launch permissions. Specify an AWS
  21117. // account ID, self (the sender of the request), or all (public AMIs).
  21118. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  21119. // One or more filters.
  21120. //
  21121. // * architecture - The image architecture (i386 | x86_64).
  21122. //
  21123. // * block-device-mapping.delete-on-termination - A Boolean value that indicates
  21124. // whether the Amazon EBS volume is deleted on instance termination.
  21125. //
  21126. // * block-device-mapping.device-name - The device name for the EBS volume
  21127. // (for example, /dev/sdh).
  21128. //
  21129. // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
  21130. // EBS volume.
  21131. //
  21132. // * block-device-mapping.volume-size - The volume size of the EBS volume,
  21133. // in GiB.
  21134. //
  21135. // * block-device-mapping.volume-type - The volume type of the EBS volume
  21136. // (gp2 | io1 | st1 | sc1 | standard).
  21137. //
  21138. // * description - The description of the image (provided during image creation).
  21139. //
  21140. // * hypervisor - The hypervisor type (ovm | xen).
  21141. //
  21142. // * image-id - The ID of the image.
  21143. //
  21144. // * image-type - The image type (machine | kernel | ramdisk).
  21145. //
  21146. // * is-public - A Boolean that indicates whether the image is public.
  21147. //
  21148. // * kernel-id - The kernel ID.
  21149. //
  21150. // * manifest-location - The location of the image manifest.
  21151. //
  21152. // * name - The name of the AMI (provided during image creation).
  21153. //
  21154. // * owner-alias - String value from an Amazon-maintained list (amazon |
  21155. // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
  21156. // the user-configured AWS account alias, which is set from the IAM console.
  21157. //
  21158. // * owner-id - The AWS account ID of the image owner.
  21159. //
  21160. // * platform - The platform. To only list Windows-based AMIs, use windows.
  21161. //
  21162. // * product-code - The product code.
  21163. //
  21164. // * product-code.type - The type of the product code (devpay | marketplace).
  21165. //
  21166. // * ramdisk-id - The RAM disk ID.
  21167. //
  21168. // * root-device-name - The name of the root device volume (for example,
  21169. // /dev/sda1).
  21170. //
  21171. // * root-device-type - The type of the root device volume (ebs | instance-store).
  21172. //
  21173. // * state - The state of the image (available | pending | failed).
  21174. //
  21175. // * state-reason-code - The reason code for the state change.
  21176. //
  21177. // * state-reason-message - The message for the state change.
  21178. //
  21179. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  21180. //
  21181. // * tag-key - The key of a tag assigned to the resource. This filter is
  21182. // independent of the tag-value filter. For example, if you use both the
  21183. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  21184. // assigned both the tag key Purpose (regardless of what the tag's value
  21185. // is), and the tag value X (regardless of what the tag's key is). If you
  21186. // want to list only resources where Purpose is X, see the tag:key=value
  21187. // filter.
  21188. //
  21189. // * tag-value - The value of a tag assigned to the resource. This filter
  21190. // is independent of the tag-key filter.
  21191. //
  21192. // * virtualization-type - The virtualization type (paravirtual | hvm).
  21193. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21194. // One or more image IDs.
  21195. //
  21196. // Default: Describes all images available to you.
  21197. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  21198. // Filters the images by the owner. Specify an AWS account ID, self (owner is
  21199. // the sender of the request), or an AWS owner alias (valid values are amazon
  21200. // | aws-marketplace | microsoft). Omitting this option returns all images for
  21201. // which you have launch permissions, regardless of ownership.
  21202. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  21203. }
  21204. // String returns the string representation
  21205. func (s DescribeImagesInput) String() string {
  21206. return awsutil.Prettify(s)
  21207. }
  21208. // GoString returns the string representation
  21209. func (s DescribeImagesInput) GoString() string {
  21210. return s.String()
  21211. }
  21212. // SetDryRun sets the DryRun field's value.
  21213. func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
  21214. s.DryRun = &v
  21215. return s
  21216. }
  21217. // SetExecutableUsers sets the ExecutableUsers field's value.
  21218. func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
  21219. s.ExecutableUsers = v
  21220. return s
  21221. }
  21222. // SetFilters sets the Filters field's value.
  21223. func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
  21224. s.Filters = v
  21225. return s
  21226. }
  21227. // SetImageIds sets the ImageIds field's value.
  21228. func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
  21229. s.ImageIds = v
  21230. return s
  21231. }
  21232. // SetOwners sets the Owners field's value.
  21233. func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
  21234. s.Owners = v
  21235. return s
  21236. }
  21237. // Contains the output of DescribeImages.
  21238. type DescribeImagesOutput struct {
  21239. _ struct{} `type:"structure"`
  21240. // Information about one or more images.
  21241. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  21242. }
  21243. // String returns the string representation
  21244. func (s DescribeImagesOutput) String() string {
  21245. return awsutil.Prettify(s)
  21246. }
  21247. // GoString returns the string representation
  21248. func (s DescribeImagesOutput) GoString() string {
  21249. return s.String()
  21250. }
  21251. // SetImages sets the Images field's value.
  21252. func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
  21253. s.Images = v
  21254. return s
  21255. }
  21256. // Contains the parameters for DescribeImportImageTasks.
  21257. type DescribeImportImageTasksInput struct {
  21258. _ struct{} `type:"structure"`
  21259. // Checks whether you have the required permissions for the action, without
  21260. // actually making the request, and provides an error response. If you have
  21261. // the required permissions, the error response is DryRunOperation. Otherwise,
  21262. // it is UnauthorizedOperation.
  21263. DryRun *bool `type:"boolean"`
  21264. // Filter tasks using the task-state filter and one of the following values:
  21265. // active, completed, deleting, deleted.
  21266. Filters []*Filter `locationNameList:"Filter" type:"list"`
  21267. // A list of import image task IDs.
  21268. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  21269. // The maximum number of results to return in a single call. To retrieve the
  21270. // remaining results, make another call with the returned NextToken value.
  21271. MaxResults *int64 `type:"integer"`
  21272. // A token that indicates the next page of results.
  21273. NextToken *string `type:"string"`
  21274. }
  21275. // String returns the string representation
  21276. func (s DescribeImportImageTasksInput) String() string {
  21277. return awsutil.Prettify(s)
  21278. }
  21279. // GoString returns the string representation
  21280. func (s DescribeImportImageTasksInput) GoString() string {
  21281. return s.String()
  21282. }
  21283. // SetDryRun sets the DryRun field's value.
  21284. func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
  21285. s.DryRun = &v
  21286. return s
  21287. }
  21288. // SetFilters sets the Filters field's value.
  21289. func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
  21290. s.Filters = v
  21291. return s
  21292. }
  21293. // SetImportTaskIds sets the ImportTaskIds field's value.
  21294. func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
  21295. s.ImportTaskIds = v
  21296. return s
  21297. }
  21298. // SetMaxResults sets the MaxResults field's value.
  21299. func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
  21300. s.MaxResults = &v
  21301. return s
  21302. }
  21303. // SetNextToken sets the NextToken field's value.
  21304. func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
  21305. s.NextToken = &v
  21306. return s
  21307. }
  21308. // Contains the output for DescribeImportImageTasks.
  21309. type DescribeImportImageTasksOutput struct {
  21310. _ struct{} `type:"structure"`
  21311. // A list of zero or more import image tasks that are currently active or were
  21312. // completed or canceled in the previous 7 days.
  21313. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  21314. // The token to use to get the next page of results. This value is null when
  21315. // there are no more results to return.
  21316. NextToken *string `locationName:"nextToken" type:"string"`
  21317. }
  21318. // String returns the string representation
  21319. func (s DescribeImportImageTasksOutput) String() string {
  21320. return awsutil.Prettify(s)
  21321. }
  21322. // GoString returns the string representation
  21323. func (s DescribeImportImageTasksOutput) GoString() string {
  21324. return s.String()
  21325. }
  21326. // SetImportImageTasks sets the ImportImageTasks field's value.
  21327. func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
  21328. s.ImportImageTasks = v
  21329. return s
  21330. }
  21331. // SetNextToken sets the NextToken field's value.
  21332. func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
  21333. s.NextToken = &v
  21334. return s
  21335. }
  21336. // Contains the parameters for DescribeImportSnapshotTasks.
  21337. type DescribeImportSnapshotTasksInput struct {
  21338. _ struct{} `type:"structure"`
  21339. // Checks whether you have the required permissions for the action, without
  21340. // actually making the request, and provides an error response. If you have
  21341. // the required permissions, the error response is DryRunOperation. Otherwise,
  21342. // it is UnauthorizedOperation.
  21343. DryRun *bool `type:"boolean"`
  21344. // One or more filters.
  21345. Filters []*Filter `locationNameList:"Filter" type:"list"`
  21346. // A list of import snapshot task IDs.
  21347. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  21348. // The maximum number of results to return in a single call. To retrieve the
  21349. // remaining results, make another call with the returned NextToken value.
  21350. MaxResults *int64 `type:"integer"`
  21351. // A token that indicates the next page of results.
  21352. NextToken *string `type:"string"`
  21353. }
  21354. // String returns the string representation
  21355. func (s DescribeImportSnapshotTasksInput) String() string {
  21356. return awsutil.Prettify(s)
  21357. }
  21358. // GoString returns the string representation
  21359. func (s DescribeImportSnapshotTasksInput) GoString() string {
  21360. return s.String()
  21361. }
  21362. // SetDryRun sets the DryRun field's value.
  21363. func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
  21364. s.DryRun = &v
  21365. return s
  21366. }
  21367. // SetFilters sets the Filters field's value.
  21368. func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
  21369. s.Filters = v
  21370. return s
  21371. }
  21372. // SetImportTaskIds sets the ImportTaskIds field's value.
  21373. func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
  21374. s.ImportTaskIds = v
  21375. return s
  21376. }
  21377. // SetMaxResults sets the MaxResults field's value.
  21378. func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
  21379. s.MaxResults = &v
  21380. return s
  21381. }
  21382. // SetNextToken sets the NextToken field's value.
  21383. func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
  21384. s.NextToken = &v
  21385. return s
  21386. }
  21387. // Contains the output for DescribeImportSnapshotTasks.
  21388. type DescribeImportSnapshotTasksOutput struct {
  21389. _ struct{} `type:"structure"`
  21390. // A list of zero or more import snapshot tasks that are currently active or
  21391. // were completed or canceled in the previous 7 days.
  21392. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  21393. // The token to use to get the next page of results. This value is null when
  21394. // there are no more results to return.
  21395. NextToken *string `locationName:"nextToken" type:"string"`
  21396. }
  21397. // String returns the string representation
  21398. func (s DescribeImportSnapshotTasksOutput) String() string {
  21399. return awsutil.Prettify(s)
  21400. }
  21401. // GoString returns the string representation
  21402. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  21403. return s.String()
  21404. }
  21405. // SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
  21406. func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
  21407. s.ImportSnapshotTasks = v
  21408. return s
  21409. }
  21410. // SetNextToken sets the NextToken field's value.
  21411. func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
  21412. s.NextToken = &v
  21413. return s
  21414. }
  21415. // Contains the parameters for DescribeInstanceAttribute.
  21416. type DescribeInstanceAttributeInput struct {
  21417. _ struct{} `type:"structure"`
  21418. // The instance attribute.
  21419. //
  21420. // Note: The enaSupport attribute is not supported at this time.
  21421. //
  21422. // Attribute is a required field
  21423. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  21424. // Checks whether you have the required permissions for the action, without
  21425. // actually making the request, and provides an error response. If you have
  21426. // the required permissions, the error response is DryRunOperation. Otherwise,
  21427. // it is UnauthorizedOperation.
  21428. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21429. // The ID of the instance.
  21430. //
  21431. // InstanceId is a required field
  21432. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  21433. }
  21434. // String returns the string representation
  21435. func (s DescribeInstanceAttributeInput) String() string {
  21436. return awsutil.Prettify(s)
  21437. }
  21438. // GoString returns the string representation
  21439. func (s DescribeInstanceAttributeInput) GoString() string {
  21440. return s.String()
  21441. }
  21442. // Validate inspects the fields of the type to determine if they are valid.
  21443. func (s *DescribeInstanceAttributeInput) Validate() error {
  21444. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
  21445. if s.Attribute == nil {
  21446. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  21447. }
  21448. if s.InstanceId == nil {
  21449. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  21450. }
  21451. if invalidParams.Len() > 0 {
  21452. return invalidParams
  21453. }
  21454. return nil
  21455. }
  21456. // SetAttribute sets the Attribute field's value.
  21457. func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
  21458. s.Attribute = &v
  21459. return s
  21460. }
  21461. // SetDryRun sets the DryRun field's value.
  21462. func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
  21463. s.DryRun = &v
  21464. return s
  21465. }
  21466. // SetInstanceId sets the InstanceId field's value.
  21467. func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
  21468. s.InstanceId = &v
  21469. return s
  21470. }
  21471. // Describes an instance attribute.
  21472. type DescribeInstanceAttributeOutput struct {
  21473. _ struct{} `type:"structure"`
  21474. // The block device mapping of the instance.
  21475. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  21476. // If the value is true, you can't terminate the instance through the Amazon
  21477. // EC2 console, CLI, or API; otherwise, you can.
  21478. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  21479. // Indicates whether the instance is optimized for EBS I/O.
  21480. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  21481. // Indicates whether enhanced networking with ENA is enabled.
  21482. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  21483. // The security groups associated with the instance.
  21484. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  21485. // The ID of the instance.
  21486. InstanceId *string `locationName:"instanceId" type:"string"`
  21487. // Indicates whether an instance stops or terminates when you initiate shutdown
  21488. // from the instance (using the operating system command for system shutdown).
  21489. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  21490. // The instance type.
  21491. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  21492. // The kernel ID.
  21493. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  21494. // A list of product codes.
  21495. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  21496. // The RAM disk ID.
  21497. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  21498. // The name of the root device (for example, /dev/sda1 or /dev/xvda).
  21499. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  21500. // Indicates whether source/destination checking is enabled. A value of true
  21501. // means checking is enabled, and false means checking is disabled. This value
  21502. // must be false for a NAT instance to perform NAT.
  21503. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  21504. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  21505. // interface is enabled.
  21506. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  21507. // The user data.
  21508. UserData *AttributeValue `locationName:"userData" type:"structure"`
  21509. }
  21510. // String returns the string representation
  21511. func (s DescribeInstanceAttributeOutput) String() string {
  21512. return awsutil.Prettify(s)
  21513. }
  21514. // GoString returns the string representation
  21515. func (s DescribeInstanceAttributeOutput) GoString() string {
  21516. return s.String()
  21517. }
  21518. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  21519. func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
  21520. s.BlockDeviceMappings = v
  21521. return s
  21522. }
  21523. // SetDisableApiTermination sets the DisableApiTermination field's value.
  21524. func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  21525. s.DisableApiTermination = v
  21526. return s
  21527. }
  21528. // SetEbsOptimized sets the EbsOptimized field's value.
  21529. func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  21530. s.EbsOptimized = v
  21531. return s
  21532. }
  21533. // SetEnaSupport sets the EnaSupport field's value.
  21534. func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  21535. s.EnaSupport = v
  21536. return s
  21537. }
  21538. // SetGroups sets the Groups field's value.
  21539. func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
  21540. s.Groups = v
  21541. return s
  21542. }
  21543. // SetInstanceId sets the InstanceId field's value.
  21544. func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
  21545. s.InstanceId = &v
  21546. return s
  21547. }
  21548. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  21549. func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
  21550. s.InstanceInitiatedShutdownBehavior = v
  21551. return s
  21552. }
  21553. // SetInstanceType sets the InstanceType field's value.
  21554. func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
  21555. s.InstanceType = v
  21556. return s
  21557. }
  21558. // SetKernelId sets the KernelId field's value.
  21559. func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  21560. s.KernelId = v
  21561. return s
  21562. }
  21563. // SetProductCodes sets the ProductCodes field's value.
  21564. func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
  21565. s.ProductCodes = v
  21566. return s
  21567. }
  21568. // SetRamdiskId sets the RamdiskId field's value.
  21569. func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  21570. s.RamdiskId = v
  21571. return s
  21572. }
  21573. // SetRootDeviceName sets the RootDeviceName field's value.
  21574. func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
  21575. s.RootDeviceName = v
  21576. return s
  21577. }
  21578. // SetSourceDestCheck sets the SourceDestCheck field's value.
  21579. func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  21580. s.SourceDestCheck = v
  21581. return s
  21582. }
  21583. // SetSriovNetSupport sets the SriovNetSupport field's value.
  21584. func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
  21585. s.SriovNetSupport = v
  21586. return s
  21587. }
  21588. // SetUserData sets the UserData field's value.
  21589. func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
  21590. s.UserData = v
  21591. return s
  21592. }
  21593. // Contains the parameters for DescribeInstanceStatus.
  21594. type DescribeInstanceStatusInput struct {
  21595. _ struct{} `type:"structure"`
  21596. // Checks whether you have the required permissions for the action, without
  21597. // actually making the request, and provides an error response. If you have
  21598. // the required permissions, the error response is DryRunOperation. Otherwise,
  21599. // it is UnauthorizedOperation.
  21600. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21601. // One or more filters.
  21602. //
  21603. // * availability-zone - The Availability Zone of the instance.
  21604. //
  21605. // * event.code - The code for the scheduled event (instance-reboot | system-reboot
  21606. // | system-maintenance | instance-retirement | instance-stop).
  21607. //
  21608. // * event.description - A description of the event.
  21609. //
  21610. // * event.not-after - The latest end time for the scheduled event (for example,
  21611. // 2014-09-15T17:15:20.000Z).
  21612. //
  21613. // * event.not-before - The earliest start time for the scheduled event (for
  21614. // example, 2014-09-15T17:15:20.000Z).
  21615. //
  21616. // * instance-state-code - The code for the instance state, as a 16-bit unsigned
  21617. // integer. The high byte is an opaque internal value and should be ignored.
  21618. // The low byte is set based on the state represented. The valid values are
  21619. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  21620. // and 80 (stopped).
  21621. //
  21622. // * instance-state-name - The state of the instance (pending | running |
  21623. // shutting-down | terminated | stopping | stopped).
  21624. //
  21625. // * instance-status.reachability - Filters on instance status where the
  21626. // name is reachability (passed | failed | initializing | insufficient-data).
  21627. //
  21628. // * instance-status.status - The status of the instance (ok | impaired |
  21629. // initializing | insufficient-data | not-applicable).
  21630. //
  21631. // * system-status.reachability - Filters on system status where the name
  21632. // is reachability (passed | failed | initializing | insufficient-data).
  21633. //
  21634. // * system-status.status - The system status of the instance (ok | impaired
  21635. // | initializing | insufficient-data | not-applicable).
  21636. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21637. // When true, includes the health status for all instances. When false, includes
  21638. // the health status for running instances only.
  21639. //
  21640. // Default: false
  21641. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  21642. // One or more instance IDs.
  21643. //
  21644. // Default: Describes all your instances.
  21645. //
  21646. // Constraints: Maximum 100 explicitly specified instance IDs.
  21647. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  21648. // The maximum number of results to return in a single call. To retrieve the
  21649. // remaining results, make another call with the returned NextToken value. This
  21650. // value can be between 5 and 1000. You cannot specify this parameter and the
  21651. // instance IDs parameter in the same call.
  21652. MaxResults *int64 `type:"integer"`
  21653. // The token to retrieve the next page of results.
  21654. NextToken *string `type:"string"`
  21655. }
  21656. // String returns the string representation
  21657. func (s DescribeInstanceStatusInput) String() string {
  21658. return awsutil.Prettify(s)
  21659. }
  21660. // GoString returns the string representation
  21661. func (s DescribeInstanceStatusInput) GoString() string {
  21662. return s.String()
  21663. }
  21664. // SetDryRun sets the DryRun field's value.
  21665. func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
  21666. s.DryRun = &v
  21667. return s
  21668. }
  21669. // SetFilters sets the Filters field's value.
  21670. func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
  21671. s.Filters = v
  21672. return s
  21673. }
  21674. // SetIncludeAllInstances sets the IncludeAllInstances field's value.
  21675. func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
  21676. s.IncludeAllInstances = &v
  21677. return s
  21678. }
  21679. // SetInstanceIds sets the InstanceIds field's value.
  21680. func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
  21681. s.InstanceIds = v
  21682. return s
  21683. }
  21684. // SetMaxResults sets the MaxResults field's value.
  21685. func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
  21686. s.MaxResults = &v
  21687. return s
  21688. }
  21689. // SetNextToken sets the NextToken field's value.
  21690. func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
  21691. s.NextToken = &v
  21692. return s
  21693. }
  21694. // Contains the output of DescribeInstanceStatus.
  21695. type DescribeInstanceStatusOutput struct {
  21696. _ struct{} `type:"structure"`
  21697. // One or more instance status descriptions.
  21698. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  21699. // The token to use to retrieve the next page of results. This value is null
  21700. // when there are no more results to return.
  21701. NextToken *string `locationName:"nextToken" type:"string"`
  21702. }
  21703. // String returns the string representation
  21704. func (s DescribeInstanceStatusOutput) String() string {
  21705. return awsutil.Prettify(s)
  21706. }
  21707. // GoString returns the string representation
  21708. func (s DescribeInstanceStatusOutput) GoString() string {
  21709. return s.String()
  21710. }
  21711. // SetInstanceStatuses sets the InstanceStatuses field's value.
  21712. func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
  21713. s.InstanceStatuses = v
  21714. return s
  21715. }
  21716. // SetNextToken sets the NextToken field's value.
  21717. func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
  21718. s.NextToken = &v
  21719. return s
  21720. }
  21721. // Contains the parameters for DescribeInstances.
  21722. type DescribeInstancesInput struct {
  21723. _ struct{} `type:"structure"`
  21724. // Checks whether you have the required permissions for the action, without
  21725. // actually making the request, and provides an error response. If you have
  21726. // the required permissions, the error response is DryRunOperation. Otherwise,
  21727. // it is UnauthorizedOperation.
  21728. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21729. // One or more filters.
  21730. //
  21731. // * affinity - The affinity setting for an instance running on a Dedicated
  21732. // Host (default | host).
  21733. //
  21734. // * architecture - The instance architecture (i386 | x86_64).
  21735. //
  21736. // * availability-zone - The Availability Zone of the instance.
  21737. //
  21738. // * block-device-mapping.attach-time - The attach time for an EBS volume
  21739. // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
  21740. //
  21741. // * block-device-mapping.delete-on-termination - A Boolean that indicates
  21742. // whether the EBS volume is deleted on instance termination.
  21743. //
  21744. // * block-device-mapping.device-name - The device name for the EBS volume
  21745. // (for example, /dev/sdh or xvdh).
  21746. //
  21747. // * block-device-mapping.status - The status for the EBS volume (attaching
  21748. // | attached | detaching | detached).
  21749. //
  21750. // * block-device-mapping.volume-id - The volume ID of the EBS volume.
  21751. //
  21752. // * client-token - The idempotency token you provided when you launched
  21753. // the instance.
  21754. //
  21755. // * dns-name - The public DNS name of the instance.
  21756. //
  21757. // * group-id - The ID of the security group for the instance. EC2-Classic
  21758. // only.
  21759. //
  21760. // * group-name - The name of the security group for the instance. EC2-Classic
  21761. // only.
  21762. //
  21763. // * host-id - The ID of the Dedicated Host on which the instance is running,
  21764. // if applicable.
  21765. //
  21766. // * hypervisor - The hypervisor type of the instance (ovm | xen).
  21767. //
  21768. // * iam-instance-profile.arn - The instance profile associated with the
  21769. // instance. Specified as an ARN.
  21770. //
  21771. // * image-id - The ID of the image used to launch the instance.
  21772. //
  21773. // * instance-id - The ID of the instance.
  21774. //
  21775. // * instance-lifecycle - Indicates whether this is a Spot Instance or a
  21776. // Scheduled Instance (spot | scheduled).
  21777. //
  21778. // * instance-state-code - The state of the instance, as a 16-bit unsigned
  21779. // integer. The high byte is an opaque internal value and should be ignored.
  21780. // The low byte is set based on the state represented. The valid values are:
  21781. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  21782. // and 80 (stopped).
  21783. //
  21784. // * instance-state-name - The state of the instance (pending | running |
  21785. // shutting-down | terminated | stopping | stopped).
  21786. //
  21787. // * instance-type - The type of instance (for example, t2.micro).
  21788. //
  21789. // * instance.group-id - The ID of the security group for the instance.
  21790. //
  21791. // * instance.group-name - The name of the security group for the instance.
  21792. //
  21793. //
  21794. // * ip-address - The public IP address of the instance.
  21795. //
  21796. // * kernel-id - The kernel ID.
  21797. //
  21798. // * key-name - The name of the key pair used when the instance was launched.
  21799. //
  21800. // * launch-index - When launching multiple instances, this is the index
  21801. // for the instance in the launch group (for example, 0, 1, 2, and so on).
  21802. //
  21803. //
  21804. // * launch-time - The time when the instance was launched.
  21805. //
  21806. // * monitoring-state - Indicates whether monitoring is enabled for the instance
  21807. // (disabled | enabled).
  21808. //
  21809. // * owner-id - The AWS account ID of the instance owner.
  21810. //
  21811. // * placement-group-name - The name of the placement group for the instance.
  21812. //
  21813. // * platform - The platform. Use windows if you have Windows instances;
  21814. // otherwise, leave blank.
  21815. //
  21816. // * private-dns-name - The private DNS name of the instance.
  21817. //
  21818. // * private-ip-address - The private IP address of the instance.
  21819. //
  21820. // * product-code - The product code associated with the AMI used to launch
  21821. // the instance.
  21822. //
  21823. // * product-code.type - The type of product code (devpay | marketplace).
  21824. //
  21825. // * ramdisk-id - The RAM disk ID.
  21826. //
  21827. // * reason - The reason for the current state of the instance (for example,
  21828. // shows "User Initiated [date]" when you stop or terminate the instance).
  21829. // Similar to the state-reason-code filter.
  21830. //
  21831. // * requester-id - The ID of the entity that launched the instance on your
  21832. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  21833. //
  21834. // * reservation-id - The ID of the instance's reservation. A reservation
  21835. // ID is created any time you launch an instance. A reservation ID has a
  21836. // one-to-one relationship with an instance launch request, but can be associated
  21837. // with more than one instance if you launch multiple instances using the
  21838. // same launch request. For example, if you launch one instance, you'll get
  21839. // one reservation ID. If you launch ten instances using the same launch
  21840. // request, you'll also get one reservation ID.
  21841. //
  21842. // * root-device-name - The name of the root device for the instance (for
  21843. // example, /dev/sda1 or /dev/xvda).
  21844. //
  21845. // * root-device-type - The type of root device that the instance uses (ebs
  21846. // | instance-store).
  21847. //
  21848. // * source-dest-check - Indicates whether the instance performs source/destination
  21849. // checking. A value of true means that checking is enabled, and false means
  21850. // checking is disabled. The value must be false for the instance to perform
  21851. // network address translation (NAT) in your VPC.
  21852. //
  21853. // * spot-instance-request-id - The ID of the Spot instance request.
  21854. //
  21855. // * state-reason-code - The reason code for the state change.
  21856. //
  21857. // * state-reason-message - A message that describes the state change.
  21858. //
  21859. // * subnet-id - The ID of the subnet for the instance.
  21860. //
  21861. // * tag:key=value - The key/value combination of a tag assigned to the resource,
  21862. // where tag:key is the tag's key.
  21863. //
  21864. // * tag-key - The key of a tag assigned to the resource. This filter is
  21865. // independent of the tag-value filter. For example, if you use both the
  21866. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  21867. // assigned both the tag key Purpose (regardless of what the tag's value
  21868. // is), and the tag value X (regardless of what the tag's key is). If you
  21869. // want to list only resources where Purpose is X, see the tag:key=value
  21870. // filter.
  21871. //
  21872. // * tag-value - The value of a tag assigned to the resource. This filter
  21873. // is independent of the tag-key filter.
  21874. //
  21875. // * tenancy - The tenancy of an instance (dedicated | default | host).
  21876. //
  21877. // * virtualization-type - The virtualization type of the instance (paravirtual
  21878. // | hvm).
  21879. //
  21880. // * vpc-id - The ID of the VPC that the instance is running in.
  21881. //
  21882. // * network-interface.description - The description of the network interface.
  21883. //
  21884. // * network-interface.subnet-id - The ID of the subnet for the network interface.
  21885. //
  21886. // * network-interface.vpc-id - The ID of the VPC for the network interface.
  21887. //
  21888. // * network-interface.network-interface-id - The ID of the network interface.
  21889. //
  21890. // * network-interface.owner-id - The ID of the owner of the network interface.
  21891. //
  21892. // * network-interface.availability-zone - The Availability Zone for the
  21893. // network interface.
  21894. //
  21895. // * network-interface.requester-id - The requester ID for the network interface.
  21896. //
  21897. // * network-interface.requester-managed - Indicates whether the network
  21898. // interface is being managed by AWS.
  21899. //
  21900. // * network-interface.status - The status of the network interface (available)
  21901. // | in-use).
  21902. //
  21903. // * network-interface.mac-address - The MAC address of the network interface.
  21904. //
  21905. // * network-interface.private-dns-name - The private DNS name of the network
  21906. // interface.
  21907. //
  21908. // * network-interface.source-dest-check - Whether the network interface
  21909. // performs source/destination checking. A value of true means checking is
  21910. // enabled, and false means checking is disabled. The value must be false
  21911. // for the network interface to perform network address translation (NAT)
  21912. // in your VPC.
  21913. //
  21914. // * network-interface.group-id - The ID of a security group associated with
  21915. // the network interface.
  21916. //
  21917. // * network-interface.group-name - The name of a security group associated
  21918. // with the network interface.
  21919. //
  21920. // * network-interface.attachment.attachment-id - The ID of the interface
  21921. // attachment.
  21922. //
  21923. // * network-interface.attachment.instance-id - The ID of the instance to
  21924. // which the network interface is attached.
  21925. //
  21926. // * network-interface.attachment.instance-owner-id - The owner ID of the
  21927. // instance to which the network interface is attached.
  21928. //
  21929. // * network-interface.addresses.private-ip-address - The private IP address
  21930. // associated with the network interface.
  21931. //
  21932. // * network-interface.attachment.device-index - The device index to which
  21933. // the network interface is attached.
  21934. //
  21935. // * network-interface.attachment.status - The status of the attachment (attaching
  21936. // | attached | detaching | detached).
  21937. //
  21938. // * network-interface.attachment.attach-time - The time that the network
  21939. // interface was attached to an instance.
  21940. //
  21941. // * network-interface.attachment.delete-on-termination - Specifies whether
  21942. // the attachment is deleted when an instance is terminated.
  21943. //
  21944. // * network-interface.addresses.primary - Specifies whether the IP address
  21945. // of the network interface is the primary private IP address.
  21946. //
  21947. // * network-interface.addresses.association.public-ip - The ID of the association
  21948. // of an Elastic IP address with a network interface.
  21949. //
  21950. // * network-interface.addresses.association.ip-owner-id - The owner ID of
  21951. // the private IP address associated with the network interface.
  21952. //
  21953. // * association.public-ip - The address of the Elastic IP address bound
  21954. // to the network interface.
  21955. //
  21956. // * association.ip-owner-id - The owner of the Elastic IP address associated
  21957. // with the network interface.
  21958. //
  21959. // * association.allocation-id - The allocation ID returned when you allocated
  21960. // the Elastic IP address for your network interface.
  21961. //
  21962. // * association.association-id - The association ID returned when the network
  21963. // interface was associated with an IP address.
  21964. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  21965. // One or more instance IDs.
  21966. //
  21967. // Default: Describes all your instances.
  21968. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  21969. // The maximum number of results to return in a single call. To retrieve the
  21970. // remaining results, make another call with the returned NextToken value. This
  21971. // value can be between 5 and 1000. You cannot specify this parameter and the
  21972. // instance IDs parameter or tag filters in the same call.
  21973. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  21974. // The token to request the next page of results.
  21975. NextToken *string `locationName:"nextToken" type:"string"`
  21976. }
  21977. // String returns the string representation
  21978. func (s DescribeInstancesInput) String() string {
  21979. return awsutil.Prettify(s)
  21980. }
  21981. // GoString returns the string representation
  21982. func (s DescribeInstancesInput) GoString() string {
  21983. return s.String()
  21984. }
  21985. // SetDryRun sets the DryRun field's value.
  21986. func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
  21987. s.DryRun = &v
  21988. return s
  21989. }
  21990. // SetFilters sets the Filters field's value.
  21991. func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
  21992. s.Filters = v
  21993. return s
  21994. }
  21995. // SetInstanceIds sets the InstanceIds field's value.
  21996. func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
  21997. s.InstanceIds = v
  21998. return s
  21999. }
  22000. // SetMaxResults sets the MaxResults field's value.
  22001. func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
  22002. s.MaxResults = &v
  22003. return s
  22004. }
  22005. // SetNextToken sets the NextToken field's value.
  22006. func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
  22007. s.NextToken = &v
  22008. return s
  22009. }
  22010. // Contains the output of DescribeInstances.
  22011. type DescribeInstancesOutput struct {
  22012. _ struct{} `type:"structure"`
  22013. // The token to use to retrieve the next page of results. This value is null
  22014. // when there are no more results to return.
  22015. NextToken *string `locationName:"nextToken" type:"string"`
  22016. // Zero or more reservations.
  22017. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  22018. }
  22019. // String returns the string representation
  22020. func (s DescribeInstancesOutput) String() string {
  22021. return awsutil.Prettify(s)
  22022. }
  22023. // GoString returns the string representation
  22024. func (s DescribeInstancesOutput) GoString() string {
  22025. return s.String()
  22026. }
  22027. // SetNextToken sets the NextToken field's value.
  22028. func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
  22029. s.NextToken = &v
  22030. return s
  22031. }
  22032. // SetReservations sets the Reservations field's value.
  22033. func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
  22034. s.Reservations = v
  22035. return s
  22036. }
  22037. // Contains the parameters for DescribeInternetGateways.
  22038. type DescribeInternetGatewaysInput struct {
  22039. _ struct{} `type:"structure"`
  22040. // Checks whether you have the required permissions for the action, without
  22041. // actually making the request, and provides an error response. If you have
  22042. // the required permissions, the error response is DryRunOperation. Otherwise,
  22043. // it is UnauthorizedOperation.
  22044. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22045. // One or more filters.
  22046. //
  22047. // * attachment.state - The current state of the attachment between the gateway
  22048. // and the VPC (available). Present only if a VPC is attached.
  22049. //
  22050. // * attachment.vpc-id - The ID of an attached VPC.
  22051. //
  22052. // * internet-gateway-id - The ID of the Internet gateway.
  22053. //
  22054. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  22055. //
  22056. // * tag-key - The key of a tag assigned to the resource. This filter is
  22057. // independent of the tag-value filter. For example, if you use both the
  22058. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  22059. // assigned both the tag key Purpose (regardless of what the tag's value
  22060. // is), and the tag value X (regardless of what the tag's key is). If you
  22061. // want to list only resources where Purpose is X, see the tag:key=value
  22062. // filter.
  22063. //
  22064. // * tag-value - The value of a tag assigned to the resource. This filter
  22065. // is independent of the tag-key filter.
  22066. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22067. // One or more Internet gateway IDs.
  22068. //
  22069. // Default: Describes all your Internet gateways.
  22070. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  22071. }
  22072. // String returns the string representation
  22073. func (s DescribeInternetGatewaysInput) String() string {
  22074. return awsutil.Prettify(s)
  22075. }
  22076. // GoString returns the string representation
  22077. func (s DescribeInternetGatewaysInput) GoString() string {
  22078. return s.String()
  22079. }
  22080. // SetDryRun sets the DryRun field's value.
  22081. func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
  22082. s.DryRun = &v
  22083. return s
  22084. }
  22085. // SetFilters sets the Filters field's value.
  22086. func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
  22087. s.Filters = v
  22088. return s
  22089. }
  22090. // SetInternetGatewayIds sets the InternetGatewayIds field's value.
  22091. func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
  22092. s.InternetGatewayIds = v
  22093. return s
  22094. }
  22095. // Contains the output of DescribeInternetGateways.
  22096. type DescribeInternetGatewaysOutput struct {
  22097. _ struct{} `type:"structure"`
  22098. // Information about one or more Internet gateways.
  22099. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  22100. }
  22101. // String returns the string representation
  22102. func (s DescribeInternetGatewaysOutput) String() string {
  22103. return awsutil.Prettify(s)
  22104. }
  22105. // GoString returns the string representation
  22106. func (s DescribeInternetGatewaysOutput) GoString() string {
  22107. return s.String()
  22108. }
  22109. // SetInternetGateways sets the InternetGateways field's value.
  22110. func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
  22111. s.InternetGateways = v
  22112. return s
  22113. }
  22114. // Contains the parameters for DescribeKeyPairs.
  22115. type DescribeKeyPairsInput struct {
  22116. _ struct{} `type:"structure"`
  22117. // Checks whether you have the required permissions for the action, without
  22118. // actually making the request, and provides an error response. If you have
  22119. // the required permissions, the error response is DryRunOperation. Otherwise,
  22120. // it is UnauthorizedOperation.
  22121. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22122. // One or more filters.
  22123. //
  22124. // * fingerprint - The fingerprint of the key pair.
  22125. //
  22126. // * key-name - The name of the key pair.
  22127. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22128. // One or more key pair names.
  22129. //
  22130. // Default: Describes all your key pairs.
  22131. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  22132. }
  22133. // String returns the string representation
  22134. func (s DescribeKeyPairsInput) String() string {
  22135. return awsutil.Prettify(s)
  22136. }
  22137. // GoString returns the string representation
  22138. func (s DescribeKeyPairsInput) GoString() string {
  22139. return s.String()
  22140. }
  22141. // SetDryRun sets the DryRun field's value.
  22142. func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
  22143. s.DryRun = &v
  22144. return s
  22145. }
  22146. // SetFilters sets the Filters field's value.
  22147. func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
  22148. s.Filters = v
  22149. return s
  22150. }
  22151. // SetKeyNames sets the KeyNames field's value.
  22152. func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
  22153. s.KeyNames = v
  22154. return s
  22155. }
  22156. // Contains the output of DescribeKeyPairs.
  22157. type DescribeKeyPairsOutput struct {
  22158. _ struct{} `type:"structure"`
  22159. // Information about one or more key pairs.
  22160. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  22161. }
  22162. // String returns the string representation
  22163. func (s DescribeKeyPairsOutput) String() string {
  22164. return awsutil.Prettify(s)
  22165. }
  22166. // GoString returns the string representation
  22167. func (s DescribeKeyPairsOutput) GoString() string {
  22168. return s.String()
  22169. }
  22170. // SetKeyPairs sets the KeyPairs field's value.
  22171. func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
  22172. s.KeyPairs = v
  22173. return s
  22174. }
  22175. // Contains the parameters for DescribeMovingAddresses.
  22176. type DescribeMovingAddressesInput struct {
  22177. _ struct{} `type:"structure"`
  22178. // Checks whether you have the required permissions for the action, without
  22179. // actually making the request, and provides an error response. If you have
  22180. // the required permissions, the error response is DryRunOperation. Otherwise,
  22181. // it is UnauthorizedOperation.
  22182. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22183. // One or more filters.
  22184. //
  22185. // * moving-status - The status of the Elastic IP address (MovingToVpc |
  22186. // RestoringToClassic).
  22187. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  22188. // The maximum number of results to return for the request in a single page.
  22189. // The remaining results of the initial request can be seen by sending another
  22190. // request with the returned NextToken value. This value can be between 5 and
  22191. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  22192. //
  22193. // Default: If no value is provided, the default is 1000.
  22194. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  22195. // The token to use to retrieve the next page of results.
  22196. NextToken *string `locationName:"nextToken" type:"string"`
  22197. // One or more Elastic IP addresses.
  22198. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  22199. }
  22200. // String returns the string representation
  22201. func (s DescribeMovingAddressesInput) String() string {
  22202. return awsutil.Prettify(s)
  22203. }
  22204. // GoString returns the string representation
  22205. func (s DescribeMovingAddressesInput) GoString() string {
  22206. return s.String()
  22207. }
  22208. // SetDryRun sets the DryRun field's value.
  22209. func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
  22210. s.DryRun = &v
  22211. return s
  22212. }
  22213. // SetFilters sets the Filters field's value.
  22214. func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
  22215. s.Filters = v
  22216. return s
  22217. }
  22218. // SetMaxResults sets the MaxResults field's value.
  22219. func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
  22220. s.MaxResults = &v
  22221. return s
  22222. }
  22223. // SetNextToken sets the NextToken field's value.
  22224. func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
  22225. s.NextToken = &v
  22226. return s
  22227. }
  22228. // SetPublicIps sets the PublicIps field's value.
  22229. func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
  22230. s.PublicIps = v
  22231. return s
  22232. }
  22233. // Contains the output of DescribeMovingAddresses.
  22234. type DescribeMovingAddressesOutput struct {
  22235. _ struct{} `type:"structure"`
  22236. // The status for each Elastic IP address.
  22237. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  22238. // The token to use to retrieve the next page of results. This value is null
  22239. // when there are no more results to return.
  22240. NextToken *string `locationName:"nextToken" type:"string"`
  22241. }
  22242. // String returns the string representation
  22243. func (s DescribeMovingAddressesOutput) String() string {
  22244. return awsutil.Prettify(s)
  22245. }
  22246. // GoString returns the string representation
  22247. func (s DescribeMovingAddressesOutput) GoString() string {
  22248. return s.String()
  22249. }
  22250. // SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
  22251. func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
  22252. s.MovingAddressStatuses = v
  22253. return s
  22254. }
  22255. // SetNextToken sets the NextToken field's value.
  22256. func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
  22257. s.NextToken = &v
  22258. return s
  22259. }
  22260. // Contains the parameters for DescribeNatGateways.
  22261. type DescribeNatGatewaysInput struct {
  22262. _ struct{} `type:"structure"`
  22263. // One or more filters.
  22264. //
  22265. // * nat-gateway-id - The ID of the NAT gateway.
  22266. //
  22267. // * state - The state of the NAT gateway (pending | failed | available |
  22268. // deleting | deleted).
  22269. //
  22270. // * subnet-id - The ID of the subnet in which the NAT gateway resides.
  22271. //
  22272. // * vpc-id - The ID of the VPC in which the NAT gateway resides.
  22273. Filter []*Filter `locationNameList:"Filter" type:"list"`
  22274. // The maximum number of items to return for this request. The request returns
  22275. // a token that you can specify in a subsequent call to get the next set of
  22276. // results.
  22277. //
  22278. // Constraint: If the value specified is greater than 1000, we return only 1000
  22279. // items.
  22280. MaxResults *int64 `type:"integer"`
  22281. // One or more NAT gateway IDs.
  22282. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
  22283. // The token to retrieve the next page of results.
  22284. NextToken *string `type:"string"`
  22285. }
  22286. // String returns the string representation
  22287. func (s DescribeNatGatewaysInput) String() string {
  22288. return awsutil.Prettify(s)
  22289. }
  22290. // GoString returns the string representation
  22291. func (s DescribeNatGatewaysInput) GoString() string {
  22292. return s.String()
  22293. }
  22294. // SetFilter sets the Filter field's value.
  22295. func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
  22296. s.Filter = v
  22297. return s
  22298. }
  22299. // SetMaxResults sets the MaxResults field's value.
  22300. func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
  22301. s.MaxResults = &v
  22302. return s
  22303. }
  22304. // SetNatGatewayIds sets the NatGatewayIds field's value.
  22305. func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
  22306. s.NatGatewayIds = v
  22307. return s
  22308. }
  22309. // SetNextToken sets the NextToken field's value.
  22310. func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
  22311. s.NextToken = &v
  22312. return s
  22313. }
  22314. // Contains the output of DescribeNatGateways.
  22315. type DescribeNatGatewaysOutput struct {
  22316. _ struct{} `type:"structure"`
  22317. // Information about the NAT gateways.
  22318. NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
  22319. // The token to use to retrieve the next page of results. This value is null
  22320. // when there are no more results to return.
  22321. NextToken *string `locationName:"nextToken" type:"string"`
  22322. }
  22323. // String returns the string representation
  22324. func (s DescribeNatGatewaysOutput) String() string {
  22325. return awsutil.Prettify(s)
  22326. }
  22327. // GoString returns the string representation
  22328. func (s DescribeNatGatewaysOutput) GoString() string {
  22329. return s.String()
  22330. }
  22331. // SetNatGateways sets the NatGateways field's value.
  22332. func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
  22333. s.NatGateways = v
  22334. return s
  22335. }
  22336. // SetNextToken sets the NextToken field's value.
  22337. func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
  22338. s.NextToken = &v
  22339. return s
  22340. }
  22341. // Contains the parameters for DescribeNetworkAcls.
  22342. type DescribeNetworkAclsInput struct {
  22343. _ struct{} `type:"structure"`
  22344. // Checks whether you have the required permissions for the action, without
  22345. // actually making the request, and provides an error response. If you have
  22346. // the required permissions, the error response is DryRunOperation. Otherwise,
  22347. // it is UnauthorizedOperation.
  22348. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22349. // One or more filters.
  22350. //
  22351. // * association.association-id - The ID of an association ID for the ACL.
  22352. //
  22353. // * association.network-acl-id - The ID of the network ACL involved in the
  22354. // association.
  22355. //
  22356. // * association.subnet-id - The ID of the subnet involved in the association.
  22357. //
  22358. // * default - Indicates whether the ACL is the default network ACL for the
  22359. // VPC.
  22360. //
  22361. // * entry.cidr - The CIDR range specified in the entry.
  22362. //
  22363. // * entry.egress - Indicates whether the entry applies to egress traffic.
  22364. //
  22365. // * entry.icmp.code - The ICMP code specified in the entry, if any.
  22366. //
  22367. // * entry.icmp.type - The ICMP type specified in the entry, if any.
  22368. //
  22369. // * entry.port-range.from - The start of the port range specified in the
  22370. // entry.
  22371. //
  22372. // * entry.port-range.to - The end of the port range specified in the entry.
  22373. //
  22374. //
  22375. // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  22376. // or a protocol number).
  22377. //
  22378. // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
  22379. //
  22380. // * entry.rule-number - The number of an entry (in other words, rule) in
  22381. // the ACL's set of entries.
  22382. //
  22383. // * network-acl-id - The ID of the network ACL.
  22384. //
  22385. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  22386. //
  22387. // * tag-key - The key of a tag assigned to the resource. This filter is
  22388. // independent of the tag-value filter. For example, if you use both the
  22389. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  22390. // assigned both the tag key Purpose (regardless of what the tag's value
  22391. // is), and the tag value X (regardless of what the tag's key is). If you
  22392. // want to list only resources where Purpose is X, see the tag:key=value
  22393. // filter.
  22394. //
  22395. // * tag-value - The value of a tag assigned to the resource. This filter
  22396. // is independent of the tag-key filter.
  22397. //
  22398. // * vpc-id - The ID of the VPC for the network ACL.
  22399. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22400. // One or more network ACL IDs.
  22401. //
  22402. // Default: Describes all your network ACLs.
  22403. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  22404. }
  22405. // String returns the string representation
  22406. func (s DescribeNetworkAclsInput) String() string {
  22407. return awsutil.Prettify(s)
  22408. }
  22409. // GoString returns the string representation
  22410. func (s DescribeNetworkAclsInput) GoString() string {
  22411. return s.String()
  22412. }
  22413. // SetDryRun sets the DryRun field's value.
  22414. func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
  22415. s.DryRun = &v
  22416. return s
  22417. }
  22418. // SetFilters sets the Filters field's value.
  22419. func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
  22420. s.Filters = v
  22421. return s
  22422. }
  22423. // SetNetworkAclIds sets the NetworkAclIds field's value.
  22424. func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
  22425. s.NetworkAclIds = v
  22426. return s
  22427. }
  22428. // Contains the output of DescribeNetworkAcls.
  22429. type DescribeNetworkAclsOutput struct {
  22430. _ struct{} `type:"structure"`
  22431. // Information about one or more network ACLs.
  22432. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  22433. }
  22434. // String returns the string representation
  22435. func (s DescribeNetworkAclsOutput) String() string {
  22436. return awsutil.Prettify(s)
  22437. }
  22438. // GoString returns the string representation
  22439. func (s DescribeNetworkAclsOutput) GoString() string {
  22440. return s.String()
  22441. }
  22442. // SetNetworkAcls sets the NetworkAcls field's value.
  22443. func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
  22444. s.NetworkAcls = v
  22445. return s
  22446. }
  22447. // Contains the parameters for DescribeNetworkInterfaceAttribute.
  22448. type DescribeNetworkInterfaceAttributeInput struct {
  22449. _ struct{} `type:"structure"`
  22450. // The attribute of the network interface.
  22451. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  22452. // Checks whether you have the required permissions for the action, without
  22453. // actually making the request, and provides an error response. If you have
  22454. // the required permissions, the error response is DryRunOperation. Otherwise,
  22455. // it is UnauthorizedOperation.
  22456. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22457. // The ID of the network interface.
  22458. //
  22459. // NetworkInterfaceId is a required field
  22460. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  22461. }
  22462. // String returns the string representation
  22463. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  22464. return awsutil.Prettify(s)
  22465. }
  22466. // GoString returns the string representation
  22467. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  22468. return s.String()
  22469. }
  22470. // Validate inspects the fields of the type to determine if they are valid.
  22471. func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
  22472. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
  22473. if s.NetworkInterfaceId == nil {
  22474. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  22475. }
  22476. if invalidParams.Len() > 0 {
  22477. return invalidParams
  22478. }
  22479. return nil
  22480. }
  22481. // SetAttribute sets the Attribute field's value.
  22482. func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
  22483. s.Attribute = &v
  22484. return s
  22485. }
  22486. // SetDryRun sets the DryRun field's value.
  22487. func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
  22488. s.DryRun = &v
  22489. return s
  22490. }
  22491. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  22492. func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
  22493. s.NetworkInterfaceId = &v
  22494. return s
  22495. }
  22496. // Contains the output of DescribeNetworkInterfaceAttribute.
  22497. type DescribeNetworkInterfaceAttributeOutput struct {
  22498. _ struct{} `type:"structure"`
  22499. // The attachment (if any) of the network interface.
  22500. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  22501. // The description of the network interface.
  22502. Description *AttributeValue `locationName:"description" type:"structure"`
  22503. // The security groups associated with the network interface.
  22504. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  22505. // The ID of the network interface.
  22506. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  22507. // Indicates whether source/destination checking is enabled.
  22508. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  22509. }
  22510. // String returns the string representation
  22511. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  22512. return awsutil.Prettify(s)
  22513. }
  22514. // GoString returns the string representation
  22515. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  22516. return s.String()
  22517. }
  22518. // SetAttachment sets the Attachment field's value.
  22519. func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
  22520. s.Attachment = v
  22521. return s
  22522. }
  22523. // SetDescription sets the Description field's value.
  22524. func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
  22525. s.Description = v
  22526. return s
  22527. }
  22528. // SetGroups sets the Groups field's value.
  22529. func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
  22530. s.Groups = v
  22531. return s
  22532. }
  22533. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  22534. func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
  22535. s.NetworkInterfaceId = &v
  22536. return s
  22537. }
  22538. // SetSourceDestCheck sets the SourceDestCheck field's value.
  22539. func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
  22540. s.SourceDestCheck = v
  22541. return s
  22542. }
  22543. // Contains the parameters for DescribeNetworkInterfaces.
  22544. type DescribeNetworkInterfacesInput struct {
  22545. _ struct{} `type:"structure"`
  22546. // Checks whether you have the required permissions for the action, without
  22547. // actually making the request, and provides an error response. If you have
  22548. // the required permissions, the error response is DryRunOperation. Otherwise,
  22549. // it is UnauthorizedOperation.
  22550. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22551. // One or more filters.
  22552. //
  22553. // * addresses.private-ip-address - The private IP addresses associated with
  22554. // the network interface.
  22555. //
  22556. // * addresses.primary - Whether the private IP address is the primary IP
  22557. // address associated with the network interface.
  22558. //
  22559. // * addresses.association.public-ip - The association ID returned when the
  22560. // network interface was associated with the Elastic IP address.
  22561. //
  22562. // * addresses.association.owner-id - The owner ID of the addresses associated
  22563. // with the network interface.
  22564. //
  22565. // * association.association-id - The association ID returned when the network
  22566. // interface was associated with an IP address.
  22567. //
  22568. // * association.allocation-id - The allocation ID returned when you allocated
  22569. // the Elastic IP address for your network interface.
  22570. //
  22571. // * association.ip-owner-id - The owner of the Elastic IP address associated
  22572. // with the network interface.
  22573. //
  22574. // * association.public-ip - The address of the Elastic IP address bound
  22575. // to the network interface.
  22576. //
  22577. // * association.public-dns-name - The public DNS name for the network interface.
  22578. //
  22579. // * attachment.attachment-id - The ID of the interface attachment.
  22580. //
  22581. // * attachment.attach.time - The time that the network interface was attached
  22582. // to an instance.
  22583. //
  22584. // * attachment.delete-on-termination - Indicates whether the attachment
  22585. // is deleted when an instance is terminated.
  22586. //
  22587. // * attachment.device-index - The device index to which the network interface
  22588. // is attached.
  22589. //
  22590. // * attachment.instance-id - The ID of the instance to which the network
  22591. // interface is attached.
  22592. //
  22593. // * attachment.instance-owner-id - The owner ID of the instance to which
  22594. // the network interface is attached.
  22595. //
  22596. // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
  22597. // interface is attached.
  22598. //
  22599. // * attachment.status - The status of the attachment (attaching | attached
  22600. // | detaching | detached).
  22601. //
  22602. // * availability-zone - The Availability Zone of the network interface.
  22603. //
  22604. // * description - The description of the network interface.
  22605. //
  22606. // * group-id - The ID of a security group associated with the network interface.
  22607. //
  22608. // * group-name - The name of a security group associated with the network
  22609. // interface.
  22610. //
  22611. // * mac-address - The MAC address of the network interface.
  22612. //
  22613. // * network-interface-id - The ID of the network interface.
  22614. //
  22615. // * owner-id - The AWS account ID of the network interface owner.
  22616. //
  22617. // * private-ip-address - The private IP address or addresses of the network
  22618. // interface.
  22619. //
  22620. // * private-dns-name - The private DNS name of the network interface.
  22621. //
  22622. // * requester-id - The ID of the entity that launched the instance on your
  22623. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  22624. //
  22625. // * requester-managed - Indicates whether the network interface is being
  22626. // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
  22627. // and so on).
  22628. //
  22629. // * source-desk-check - Indicates whether the network interface performs
  22630. // source/destination checking. A value of true means checking is enabled,
  22631. // and false means checking is disabled. The value must be false for the
  22632. // network interface to perform network address translation (NAT) in your
  22633. // VPC.
  22634. //
  22635. // * status - The status of the network interface. If the network interface
  22636. // is not attached to an instance, the status is available; if a network
  22637. // interface is attached to an instance the status is in-use.
  22638. //
  22639. // * subnet-id - The ID of the subnet for the network interface.
  22640. //
  22641. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  22642. //
  22643. // * tag-key - The key of a tag assigned to the resource. This filter is
  22644. // independent of the tag-value filter. For example, if you use both the
  22645. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  22646. // assigned both the tag key Purpose (regardless of what the tag's value
  22647. // is), and the tag value X (regardless of what the tag's key is). If you
  22648. // want to list only resources where Purpose is X, see the tag:key=value
  22649. // filter.
  22650. //
  22651. // * tag-value - The value of a tag assigned to the resource. This filter
  22652. // is independent of the tag-key filter.
  22653. //
  22654. // * vpc-id - The ID of the VPC for the network interface.
  22655. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  22656. // One or more network interface IDs.
  22657. //
  22658. // Default: Describes all your network interfaces.
  22659. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  22660. }
  22661. // String returns the string representation
  22662. func (s DescribeNetworkInterfacesInput) String() string {
  22663. return awsutil.Prettify(s)
  22664. }
  22665. // GoString returns the string representation
  22666. func (s DescribeNetworkInterfacesInput) GoString() string {
  22667. return s.String()
  22668. }
  22669. // SetDryRun sets the DryRun field's value.
  22670. func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
  22671. s.DryRun = &v
  22672. return s
  22673. }
  22674. // SetFilters sets the Filters field's value.
  22675. func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
  22676. s.Filters = v
  22677. return s
  22678. }
  22679. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  22680. func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
  22681. s.NetworkInterfaceIds = v
  22682. return s
  22683. }
  22684. // Contains the output of DescribeNetworkInterfaces.
  22685. type DescribeNetworkInterfacesOutput struct {
  22686. _ struct{} `type:"structure"`
  22687. // Information about one or more network interfaces.
  22688. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  22689. }
  22690. // String returns the string representation
  22691. func (s DescribeNetworkInterfacesOutput) String() string {
  22692. return awsutil.Prettify(s)
  22693. }
  22694. // GoString returns the string representation
  22695. func (s DescribeNetworkInterfacesOutput) GoString() string {
  22696. return s.String()
  22697. }
  22698. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  22699. func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
  22700. s.NetworkInterfaces = v
  22701. return s
  22702. }
  22703. // Contains the parameters for DescribePlacementGroups.
  22704. type DescribePlacementGroupsInput struct {
  22705. _ struct{} `type:"structure"`
  22706. // Checks whether you have the required permissions for the action, without
  22707. // actually making the request, and provides an error response. If you have
  22708. // the required permissions, the error response is DryRunOperation. Otherwise,
  22709. // it is UnauthorizedOperation.
  22710. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22711. // One or more filters.
  22712. //
  22713. // * group-name - The name of the placement group.
  22714. //
  22715. // * state - The state of the placement group (pending | available | deleting
  22716. // | deleted).
  22717. //
  22718. // * strategy - The strategy of the placement group (cluster).
  22719. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22720. // One or more placement group names.
  22721. //
  22722. // Default: Describes all your placement groups, or only those otherwise specified.
  22723. GroupNames []*string `locationName:"groupName" type:"list"`
  22724. }
  22725. // String returns the string representation
  22726. func (s DescribePlacementGroupsInput) String() string {
  22727. return awsutil.Prettify(s)
  22728. }
  22729. // GoString returns the string representation
  22730. func (s DescribePlacementGroupsInput) GoString() string {
  22731. return s.String()
  22732. }
  22733. // SetDryRun sets the DryRun field's value.
  22734. func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
  22735. s.DryRun = &v
  22736. return s
  22737. }
  22738. // SetFilters sets the Filters field's value.
  22739. func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
  22740. s.Filters = v
  22741. return s
  22742. }
  22743. // SetGroupNames sets the GroupNames field's value.
  22744. func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
  22745. s.GroupNames = v
  22746. return s
  22747. }
  22748. // Contains the output of DescribePlacementGroups.
  22749. type DescribePlacementGroupsOutput struct {
  22750. _ struct{} `type:"structure"`
  22751. // One or more placement groups.
  22752. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  22753. }
  22754. // String returns the string representation
  22755. func (s DescribePlacementGroupsOutput) String() string {
  22756. return awsutil.Prettify(s)
  22757. }
  22758. // GoString returns the string representation
  22759. func (s DescribePlacementGroupsOutput) GoString() string {
  22760. return s.String()
  22761. }
  22762. // SetPlacementGroups sets the PlacementGroups field's value.
  22763. func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
  22764. s.PlacementGroups = v
  22765. return s
  22766. }
  22767. // Contains the parameters for DescribePrefixLists.
  22768. type DescribePrefixListsInput struct {
  22769. _ struct{} `type:"structure"`
  22770. // Checks whether you have the required permissions for the action, without
  22771. // actually making the request, and provides an error response. If you have
  22772. // the required permissions, the error response is DryRunOperation. Otherwise,
  22773. // it is UnauthorizedOperation.
  22774. DryRun *bool `type:"boolean"`
  22775. // One or more filters.
  22776. //
  22777. // * prefix-list-id: The ID of a prefix list.
  22778. //
  22779. // * prefix-list-name: The name of a prefix list.
  22780. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22781. // The maximum number of items to return for this request. The request returns
  22782. // a token that you can specify in a subsequent call to get the next set of
  22783. // results.
  22784. //
  22785. // Constraint: If the value specified is greater than 1000, we return only 1000
  22786. // items.
  22787. MaxResults *int64 `type:"integer"`
  22788. // The token for the next set of items to return. (You received this token from
  22789. // a prior call.)
  22790. NextToken *string `type:"string"`
  22791. // One or more prefix list IDs.
  22792. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  22793. }
  22794. // String returns the string representation
  22795. func (s DescribePrefixListsInput) String() string {
  22796. return awsutil.Prettify(s)
  22797. }
  22798. // GoString returns the string representation
  22799. func (s DescribePrefixListsInput) GoString() string {
  22800. return s.String()
  22801. }
  22802. // SetDryRun sets the DryRun field's value.
  22803. func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
  22804. s.DryRun = &v
  22805. return s
  22806. }
  22807. // SetFilters sets the Filters field's value.
  22808. func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
  22809. s.Filters = v
  22810. return s
  22811. }
  22812. // SetMaxResults sets the MaxResults field's value.
  22813. func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
  22814. s.MaxResults = &v
  22815. return s
  22816. }
  22817. // SetNextToken sets the NextToken field's value.
  22818. func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
  22819. s.NextToken = &v
  22820. return s
  22821. }
  22822. // SetPrefixListIds sets the PrefixListIds field's value.
  22823. func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
  22824. s.PrefixListIds = v
  22825. return s
  22826. }
  22827. // Contains the output of DescribePrefixLists.
  22828. type DescribePrefixListsOutput struct {
  22829. _ struct{} `type:"structure"`
  22830. // The token to use when requesting the next set of items. If there are no additional
  22831. // items to return, the string is empty.
  22832. NextToken *string `locationName:"nextToken" type:"string"`
  22833. // All available prefix lists.
  22834. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  22835. }
  22836. // String returns the string representation
  22837. func (s DescribePrefixListsOutput) String() string {
  22838. return awsutil.Prettify(s)
  22839. }
  22840. // GoString returns the string representation
  22841. func (s DescribePrefixListsOutput) GoString() string {
  22842. return s.String()
  22843. }
  22844. // SetNextToken sets the NextToken field's value.
  22845. func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
  22846. s.NextToken = &v
  22847. return s
  22848. }
  22849. // SetPrefixLists sets the PrefixLists field's value.
  22850. func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
  22851. s.PrefixLists = v
  22852. return s
  22853. }
  22854. // Contains the parameters for DescribeRegions.
  22855. type DescribeRegionsInput struct {
  22856. _ struct{} `type:"structure"`
  22857. // Checks whether you have the required permissions for the action, without
  22858. // actually making the request, and provides an error response. If you have
  22859. // the required permissions, the error response is DryRunOperation. Otherwise,
  22860. // it is UnauthorizedOperation.
  22861. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22862. // One or more filters.
  22863. //
  22864. // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
  22865. //
  22866. // * region-name - The name of the region (for example, us-east-1).
  22867. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22868. // The names of one or more regions.
  22869. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  22870. }
  22871. // String returns the string representation
  22872. func (s DescribeRegionsInput) String() string {
  22873. return awsutil.Prettify(s)
  22874. }
  22875. // GoString returns the string representation
  22876. func (s DescribeRegionsInput) GoString() string {
  22877. return s.String()
  22878. }
  22879. // SetDryRun sets the DryRun field's value.
  22880. func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
  22881. s.DryRun = &v
  22882. return s
  22883. }
  22884. // SetFilters sets the Filters field's value.
  22885. func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
  22886. s.Filters = v
  22887. return s
  22888. }
  22889. // SetRegionNames sets the RegionNames field's value.
  22890. func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
  22891. s.RegionNames = v
  22892. return s
  22893. }
  22894. // Contains the output of DescribeRegions.
  22895. type DescribeRegionsOutput struct {
  22896. _ struct{} `type:"structure"`
  22897. // Information about one or more regions.
  22898. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  22899. }
  22900. // String returns the string representation
  22901. func (s DescribeRegionsOutput) String() string {
  22902. return awsutil.Prettify(s)
  22903. }
  22904. // GoString returns the string representation
  22905. func (s DescribeRegionsOutput) GoString() string {
  22906. return s.String()
  22907. }
  22908. // SetRegions sets the Regions field's value.
  22909. func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
  22910. s.Regions = v
  22911. return s
  22912. }
  22913. // Contains the parameters for DescribeReservedInstances.
  22914. type DescribeReservedInstancesInput struct {
  22915. _ struct{} `type:"structure"`
  22916. // Checks whether you have the required permissions for the action, without
  22917. // actually making the request, and provides an error response. If you have
  22918. // the required permissions, the error response is DryRunOperation. Otherwise,
  22919. // it is UnauthorizedOperation.
  22920. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22921. // One or more filters.
  22922. //
  22923. // * availability-zone - The Availability Zone where the Reserved Instance
  22924. // can be used.
  22925. //
  22926. // * duration - The duration of the Reserved Instance (one year or three
  22927. // years), in seconds (31536000 | 94608000).
  22928. //
  22929. // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  22930. //
  22931. // * fixed-price - The purchase price of the Reserved Instance (for example,
  22932. // 9800.0).
  22933. //
  22934. // * instance-type - The instance type that is covered by the reservation.
  22935. //
  22936. // * scope - The scope of the Reserved Instance (Region or Availability Zone).
  22937. //
  22938. // * product-description - The Reserved Instance product platform description.
  22939. // Instances that include (Amazon VPC) in the product platform description
  22940. // will only be displayed to EC2-Classic account holders and are for use
  22941. // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
  22942. // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
  22943. // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
  22944. // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
  22945. // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
  22946. // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
  22947. //
  22948. // * reserved-instances-id - The ID of the Reserved Instance.
  22949. //
  22950. // * start - The time at which the Reserved Instance purchase request was
  22951. // placed (for example, 2014-08-07T11:54:42.000Z).
  22952. //
  22953. // * state - The state of the Reserved Instance (payment-pending | active
  22954. // | payment-failed | retired).
  22955. //
  22956. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  22957. //
  22958. // * tag-key - The key of a tag assigned to the resource. This filter is
  22959. // independent of the tag-value filter. For example, if you use both the
  22960. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  22961. // assigned both the tag key Purpose (regardless of what the tag's value
  22962. // is), and the tag value X (regardless of what the tag's key is). If you
  22963. // want to list only resources where Purpose is X, see the tag:key=value
  22964. // filter.
  22965. //
  22966. // * tag-value - The value of a tag assigned to the resource. This filter
  22967. // is independent of the tag-key filter.
  22968. //
  22969. // * usage-price - The usage price of the Reserved Instance, per hour (for
  22970. // example, 0.84).
  22971. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  22972. // Describes whether the Reserved Instance is Standard or Convertible.
  22973. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  22974. // The Reserved Instance offering type. If you are using tools that predate
  22975. // the 2011-11-01 API version, you only have access to the Medium Utilization
  22976. // Reserved Instance offering type.
  22977. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  22978. // One or more Reserved Instance IDs.
  22979. //
  22980. // Default: Describes all your Reserved Instances, or only those otherwise specified.
  22981. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  22982. }
  22983. // String returns the string representation
  22984. func (s DescribeReservedInstancesInput) String() string {
  22985. return awsutil.Prettify(s)
  22986. }
  22987. // GoString returns the string representation
  22988. func (s DescribeReservedInstancesInput) GoString() string {
  22989. return s.String()
  22990. }
  22991. // SetDryRun sets the DryRun field's value.
  22992. func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
  22993. s.DryRun = &v
  22994. return s
  22995. }
  22996. // SetFilters sets the Filters field's value.
  22997. func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
  22998. s.Filters = v
  22999. return s
  23000. }
  23001. // SetOfferingClass sets the OfferingClass field's value.
  23002. func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
  23003. s.OfferingClass = &v
  23004. return s
  23005. }
  23006. // SetOfferingType sets the OfferingType field's value.
  23007. func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
  23008. s.OfferingType = &v
  23009. return s
  23010. }
  23011. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  23012. func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
  23013. s.ReservedInstancesIds = v
  23014. return s
  23015. }
  23016. // Contains the parameters for DescribeReservedInstancesListings.
  23017. type DescribeReservedInstancesListingsInput struct {
  23018. _ struct{} `type:"structure"`
  23019. // One or more filters.
  23020. //
  23021. // * reserved-instances-id - The ID of the Reserved Instances.
  23022. //
  23023. // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
  23024. //
  23025. // * status - The status of the Reserved Instance listing (pending | active
  23026. // | cancelled | closed).
  23027. //
  23028. // * status-message - The reason for the status.
  23029. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  23030. // One or more Reserved Instance IDs.
  23031. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  23032. // One or more Reserved Instance listing IDs.
  23033. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  23034. }
  23035. // String returns the string representation
  23036. func (s DescribeReservedInstancesListingsInput) String() string {
  23037. return awsutil.Prettify(s)
  23038. }
  23039. // GoString returns the string representation
  23040. func (s DescribeReservedInstancesListingsInput) GoString() string {
  23041. return s.String()
  23042. }
  23043. // SetFilters sets the Filters field's value.
  23044. func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
  23045. s.Filters = v
  23046. return s
  23047. }
  23048. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  23049. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
  23050. s.ReservedInstancesId = &v
  23051. return s
  23052. }
  23053. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  23054. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
  23055. s.ReservedInstancesListingId = &v
  23056. return s
  23057. }
  23058. // Contains the output of DescribeReservedInstancesListings.
  23059. type DescribeReservedInstancesListingsOutput struct {
  23060. _ struct{} `type:"structure"`
  23061. // Information about the Reserved Instance listing.
  23062. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  23063. }
  23064. // String returns the string representation
  23065. func (s DescribeReservedInstancesListingsOutput) String() string {
  23066. return awsutil.Prettify(s)
  23067. }
  23068. // GoString returns the string representation
  23069. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  23070. return s.String()
  23071. }
  23072. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  23073. func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
  23074. s.ReservedInstancesListings = v
  23075. return s
  23076. }
  23077. // Contains the parameters for DescribeReservedInstancesModifications.
  23078. type DescribeReservedInstancesModificationsInput struct {
  23079. _ struct{} `type:"structure"`
  23080. // One or more filters.
  23081. //
  23082. // * client-token - The idempotency token for the modification request.
  23083. //
  23084. // * create-date - The time when the modification request was created.
  23085. //
  23086. // * effective-date - The time when the modification becomes effective.
  23087. //
  23088. // * modification-result.reserved-instances-id - The ID for the Reserved
  23089. // Instances created as part of the modification request. This ID is only
  23090. // available when the status of the modification is fulfilled.
  23091. //
  23092. // * modification-result.target-configuration.availability-zone - The Availability
  23093. // Zone for the new Reserved Instances.
  23094. //
  23095. // * modification-result.target-configuration.instance-count - The number
  23096. // of new Reserved Instances.
  23097. //
  23098. // * modification-result.target-configuration.instance-type - The instance
  23099. // type of the new Reserved Instances.
  23100. //
  23101. // * modification-result.target-configuration.platform - The network platform
  23102. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  23103. //
  23104. // * reserved-instances-id - The ID of the Reserved Instances modified.
  23105. //
  23106. // * reserved-instances-modification-id - The ID of the modification request.
  23107. //
  23108. // * status - The status of the Reserved Instances modification request (processing
  23109. // | fulfilled | failed).
  23110. //
  23111. // * status-message - The reason for the status.
  23112. //
  23113. // * update-date - The time when the modification request was last updated.
  23114. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  23115. // The token to retrieve the next page of results.
  23116. NextToken *string `locationName:"nextToken" type:"string"`
  23117. // IDs for the submitted modification request.
  23118. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  23119. }
  23120. // String returns the string representation
  23121. func (s DescribeReservedInstancesModificationsInput) String() string {
  23122. return awsutil.Prettify(s)
  23123. }
  23124. // GoString returns the string representation
  23125. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  23126. return s.String()
  23127. }
  23128. // SetFilters sets the Filters field's value.
  23129. func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
  23130. s.Filters = v
  23131. return s
  23132. }
  23133. // SetNextToken sets the NextToken field's value.
  23134. func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
  23135. s.NextToken = &v
  23136. return s
  23137. }
  23138. // SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
  23139. func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
  23140. s.ReservedInstancesModificationIds = v
  23141. return s
  23142. }
  23143. // Contains the output of DescribeReservedInstancesModifications.
  23144. type DescribeReservedInstancesModificationsOutput struct {
  23145. _ struct{} `type:"structure"`
  23146. // The token to use to retrieve the next page of results. This value is null
  23147. // when there are no more results to return.
  23148. NextToken *string `locationName:"nextToken" type:"string"`
  23149. // The Reserved Instance modification information.
  23150. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  23151. }
  23152. // String returns the string representation
  23153. func (s DescribeReservedInstancesModificationsOutput) String() string {
  23154. return awsutil.Prettify(s)
  23155. }
  23156. // GoString returns the string representation
  23157. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  23158. return s.String()
  23159. }
  23160. // SetNextToken sets the NextToken field's value.
  23161. func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
  23162. s.NextToken = &v
  23163. return s
  23164. }
  23165. // SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
  23166. func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
  23167. s.ReservedInstancesModifications = v
  23168. return s
  23169. }
  23170. // Contains the parameters for DescribeReservedInstancesOfferings.
  23171. type DescribeReservedInstancesOfferingsInput struct {
  23172. _ struct{} `type:"structure"`
  23173. // The Availability Zone in which the Reserved Instance can be used.
  23174. AvailabilityZone *string `type:"string"`
  23175. // Checks whether you have the required permissions for the action, without
  23176. // actually making the request, and provides an error response. If you have
  23177. // the required permissions, the error response is DryRunOperation. Otherwise,
  23178. // it is UnauthorizedOperation.
  23179. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23180. // One or more filters.
  23181. //
  23182. // * availability-zone - The Availability Zone where the Reserved Instance
  23183. // can be used.
  23184. //
  23185. // * duration - The duration of the Reserved Instance (for example, one year
  23186. // or three years), in seconds (31536000 | 94608000).
  23187. //
  23188. // * fixed-price - The purchase price of the Reserved Instance (for example,
  23189. // 9800.0).
  23190. //
  23191. // * instance-type - The instance type that is covered by the reservation.
  23192. //
  23193. // * marketplace - Set to true to show only Reserved Instance Marketplace
  23194. // offerings. When this filter is not used, which is the default behavior,
  23195. // all offerings from both AWS and the Reserved Instance Marketplace are
  23196. // listed.
  23197. //
  23198. // * product-description - The Reserved Instance product platform description.
  23199. // Instances that include (Amazon VPC) in the product platform description
  23200. // will only be displayed to EC2-Classic account holders and are for use
  23201. // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
  23202. // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
  23203. // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
  23204. // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
  23205. // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
  23206. // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
  23207. // VPC))
  23208. //
  23209. // * reserved-instances-offering-id - The Reserved Instances offering ID.
  23210. //
  23211. // * scope - The scope of the Reserved Instance (Availability Zone or Region).
  23212. //
  23213. // * usage-price - The usage price of the Reserved Instance, per hour (for
  23214. // example, 0.84).
  23215. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  23216. // Include Reserved Instance Marketplace offerings in the response.
  23217. IncludeMarketplace *bool `type:"boolean"`
  23218. // The tenancy of the instances covered by the reservation. A Reserved Instance
  23219. // with a tenancy of dedicated is applied to instances that run in a VPC on
  23220. // single-tenant hardware (i.e., Dedicated Instances).
  23221. //
  23222. // Default: default
  23223. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  23224. // The instance type that the reservation will cover (for example, m1.small).
  23225. // For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  23226. // in the Amazon Elastic Compute Cloud User Guide.
  23227. InstanceType *string `type:"string" enum:"InstanceType"`
  23228. // The maximum duration (in seconds) to filter when searching for offerings.
  23229. //
  23230. // Default: 94608000 (3 years)
  23231. MaxDuration *int64 `type:"long"`
  23232. // The maximum number of instances to filter when searching for offerings.
  23233. //
  23234. // Default: 20
  23235. MaxInstanceCount *int64 `type:"integer"`
  23236. // The maximum number of results to return for the request in a single page.
  23237. // The remaining results of the initial request can be seen by sending another
  23238. // request with the returned NextToken value. The maximum is 100.
  23239. //
  23240. // Default: 100
  23241. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  23242. // The minimum duration (in seconds) to filter when searching for offerings.
  23243. //
  23244. // Default: 2592000 (1 month)
  23245. MinDuration *int64 `type:"long"`
  23246. // The token to retrieve the next page of results.
  23247. NextToken *string `locationName:"nextToken" type:"string"`
  23248. // The offering class of the Reserved Instance. Can be standard or convertible.
  23249. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  23250. // The Reserved Instance offering type. If you are using tools that predate
  23251. // the 2011-11-01 API version, you only have access to the Medium Utilization
  23252. // Reserved Instance offering type.
  23253. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  23254. // The Reserved Instance product platform description. Instances that include
  23255. // (Amazon VPC) in the description are for use with Amazon VPC.
  23256. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  23257. // One or more Reserved Instances offering IDs.
  23258. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  23259. }
  23260. // String returns the string representation
  23261. func (s DescribeReservedInstancesOfferingsInput) String() string {
  23262. return awsutil.Prettify(s)
  23263. }
  23264. // GoString returns the string representation
  23265. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  23266. return s.String()
  23267. }
  23268. // SetAvailabilityZone sets the AvailabilityZone field's value.
  23269. func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
  23270. s.AvailabilityZone = &v
  23271. return s
  23272. }
  23273. // SetDryRun sets the DryRun field's value.
  23274. func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
  23275. s.DryRun = &v
  23276. return s
  23277. }
  23278. // SetFilters sets the Filters field's value.
  23279. func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
  23280. s.Filters = v
  23281. return s
  23282. }
  23283. // SetIncludeMarketplace sets the IncludeMarketplace field's value.
  23284. func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
  23285. s.IncludeMarketplace = &v
  23286. return s
  23287. }
  23288. // SetInstanceTenancy sets the InstanceTenancy field's value.
  23289. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
  23290. s.InstanceTenancy = &v
  23291. return s
  23292. }
  23293. // SetInstanceType sets the InstanceType field's value.
  23294. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
  23295. s.InstanceType = &v
  23296. return s
  23297. }
  23298. // SetMaxDuration sets the MaxDuration field's value.
  23299. func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  23300. s.MaxDuration = &v
  23301. return s
  23302. }
  23303. // SetMaxInstanceCount sets the MaxInstanceCount field's value.
  23304. func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
  23305. s.MaxInstanceCount = &v
  23306. return s
  23307. }
  23308. // SetMaxResults sets the MaxResults field's value.
  23309. func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
  23310. s.MaxResults = &v
  23311. return s
  23312. }
  23313. // SetMinDuration sets the MinDuration field's value.
  23314. func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  23315. s.MinDuration = &v
  23316. return s
  23317. }
  23318. // SetNextToken sets the NextToken field's value.
  23319. func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
  23320. s.NextToken = &v
  23321. return s
  23322. }
  23323. // SetOfferingClass sets the OfferingClass field's value.
  23324. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
  23325. s.OfferingClass = &v
  23326. return s
  23327. }
  23328. // SetOfferingType sets the OfferingType field's value.
  23329. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
  23330. s.OfferingType = &v
  23331. return s
  23332. }
  23333. // SetProductDescription sets the ProductDescription field's value.
  23334. func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
  23335. s.ProductDescription = &v
  23336. return s
  23337. }
  23338. // SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
  23339. func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
  23340. s.ReservedInstancesOfferingIds = v
  23341. return s
  23342. }
  23343. // Contains the output of DescribeReservedInstancesOfferings.
  23344. type DescribeReservedInstancesOfferingsOutput struct {
  23345. _ struct{} `type:"structure"`
  23346. // The token to use to retrieve the next page of results. This value is null
  23347. // when there are no more results to return.
  23348. NextToken *string `locationName:"nextToken" type:"string"`
  23349. // A list of Reserved Instances offerings.
  23350. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  23351. }
  23352. // String returns the string representation
  23353. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  23354. return awsutil.Prettify(s)
  23355. }
  23356. // GoString returns the string representation
  23357. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  23358. return s.String()
  23359. }
  23360. // SetNextToken sets the NextToken field's value.
  23361. func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
  23362. s.NextToken = &v
  23363. return s
  23364. }
  23365. // SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
  23366. func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
  23367. s.ReservedInstancesOfferings = v
  23368. return s
  23369. }
  23370. // Contains the output for DescribeReservedInstances.
  23371. type DescribeReservedInstancesOutput struct {
  23372. _ struct{} `type:"structure"`
  23373. // A list of Reserved Instances.
  23374. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  23375. }
  23376. // String returns the string representation
  23377. func (s DescribeReservedInstancesOutput) String() string {
  23378. return awsutil.Prettify(s)
  23379. }
  23380. // GoString returns the string representation
  23381. func (s DescribeReservedInstancesOutput) GoString() string {
  23382. return s.String()
  23383. }
  23384. // SetReservedInstances sets the ReservedInstances field's value.
  23385. func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
  23386. s.ReservedInstances = v
  23387. return s
  23388. }
  23389. // Contains the parameters for DescribeRouteTables.
  23390. type DescribeRouteTablesInput struct {
  23391. _ struct{} `type:"structure"`
  23392. // Checks whether you have the required permissions for the action, without
  23393. // actually making the request, and provides an error response. If you have
  23394. // the required permissions, the error response is DryRunOperation. Otherwise,
  23395. // it is UnauthorizedOperation.
  23396. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23397. // One or more filters.
  23398. //
  23399. // * association.route-table-association-id - The ID of an association ID
  23400. // for the route table.
  23401. //
  23402. // * association.route-table-id - The ID of the route table involved in the
  23403. // association.
  23404. //
  23405. // * association.subnet-id - The ID of the subnet involved in the association.
  23406. //
  23407. // * association.main - Indicates whether the route table is the main route
  23408. // table for the VPC (true | false).
  23409. //
  23410. // * route-table-id - The ID of the route table.
  23411. //
  23412. // * route.destination-cidr-block - The CIDR range specified in a route in
  23413. // the table.
  23414. //
  23415. // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
  23416. // specified in a route in the table.
  23417. //
  23418. // * route.gateway-id - The ID of a gateway specified in a route in the table.
  23419. //
  23420. // * route.instance-id - The ID of an instance specified in a route in the
  23421. // table.
  23422. //
  23423. // * route.nat-gateway-id - The ID of a NAT gateway.
  23424. //
  23425. // * route.origin - Describes how the route was created. CreateRouteTable
  23426. // indicates that the route was automatically created when the route table
  23427. // was created; CreateRoute indicates that the route was manually added to
  23428. // the route table; EnableVgwRoutePropagation indicates that the route was
  23429. // propagated by route propagation.
  23430. //
  23431. // * route.state - The state of a route in the route table (active | blackhole).
  23432. // The blackhole state indicates that the route's target isn't available
  23433. // (for example, the specified gateway isn't attached to the VPC, the specified
  23434. // NAT instance has been terminated, and so on).
  23435. //
  23436. // * route.vpc-peering-connection-id - The ID of a VPC peering connection
  23437. // specified in a route in the table.
  23438. //
  23439. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  23440. //
  23441. // * tag-key - The key of a tag assigned to the resource. This filter is
  23442. // independent of the tag-value filter. For example, if you use both the
  23443. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  23444. // assigned both the tag key Purpose (regardless of what the tag's value
  23445. // is), and the tag value X (regardless of what the tag's key is). If you
  23446. // want to list only resources where Purpose is X, see the tag:key=value
  23447. // filter.
  23448. //
  23449. // * tag-value - The value of a tag assigned to the resource. This filter
  23450. // is independent of the tag-key filter.
  23451. //
  23452. // * vpc-id - The ID of the VPC for the route table.
  23453. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  23454. // One or more route table IDs.
  23455. //
  23456. // Default: Describes all your route tables.
  23457. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  23458. }
  23459. // String returns the string representation
  23460. func (s DescribeRouteTablesInput) String() string {
  23461. return awsutil.Prettify(s)
  23462. }
  23463. // GoString returns the string representation
  23464. func (s DescribeRouteTablesInput) GoString() string {
  23465. return s.String()
  23466. }
  23467. // SetDryRun sets the DryRun field's value.
  23468. func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
  23469. s.DryRun = &v
  23470. return s
  23471. }
  23472. // SetFilters sets the Filters field's value.
  23473. func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
  23474. s.Filters = v
  23475. return s
  23476. }
  23477. // SetRouteTableIds sets the RouteTableIds field's value.
  23478. func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
  23479. s.RouteTableIds = v
  23480. return s
  23481. }
  23482. // Contains the output of DescribeRouteTables.
  23483. type DescribeRouteTablesOutput struct {
  23484. _ struct{} `type:"structure"`
  23485. // Information about one or more route tables.
  23486. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  23487. }
  23488. // String returns the string representation
  23489. func (s DescribeRouteTablesOutput) String() string {
  23490. return awsutil.Prettify(s)
  23491. }
  23492. // GoString returns the string representation
  23493. func (s DescribeRouteTablesOutput) GoString() string {
  23494. return s.String()
  23495. }
  23496. // SetRouteTables sets the RouteTables field's value.
  23497. func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
  23498. s.RouteTables = v
  23499. return s
  23500. }
  23501. // Contains the parameters for DescribeScheduledInstanceAvailability.
  23502. type DescribeScheduledInstanceAvailabilityInput struct {
  23503. _ struct{} `type:"structure"`
  23504. // Checks whether you have the required permissions for the action, without
  23505. // actually making the request, and provides an error response. If you have
  23506. // the required permissions, the error response is DryRunOperation. Otherwise,
  23507. // it is UnauthorizedOperation.
  23508. DryRun *bool `type:"boolean"`
  23509. // One or more filters.
  23510. //
  23511. // * availability-zone - The Availability Zone (for example, us-west-2a).
  23512. //
  23513. // * instance-type - The instance type (for example, c4.large).
  23514. //
  23515. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  23516. //
  23517. // * platform - The platform (Linux/UNIX or Windows).
  23518. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  23519. // The time period for the first schedule to start.
  23520. //
  23521. // FirstSlotStartTimeRange is a required field
  23522. FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
  23523. // The maximum number of results to return in a single call. This value can
  23524. // be between 5 and 300. The default value is 300. To retrieve the remaining
  23525. // results, make another call with the returned NextToken value.
  23526. MaxResults *int64 `type:"integer"`
  23527. // The maximum available duration, in hours. This value must be greater than
  23528. // MinSlotDurationInHours and less than 1,720.
  23529. MaxSlotDurationInHours *int64 `type:"integer"`
  23530. // The minimum available duration, in hours. The minimum required duration is
  23531. // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
  23532. // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
  23533. // is 100 hours.
  23534. MinSlotDurationInHours *int64 `type:"integer"`
  23535. // The token for the next set of results.
  23536. NextToken *string `type:"string"`
  23537. // The schedule recurrence.
  23538. //
  23539. // Recurrence is a required field
  23540. Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
  23541. }
  23542. // String returns the string representation
  23543. func (s DescribeScheduledInstanceAvailabilityInput) String() string {
  23544. return awsutil.Prettify(s)
  23545. }
  23546. // GoString returns the string representation
  23547. func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
  23548. return s.String()
  23549. }
  23550. // Validate inspects the fields of the type to determine if they are valid.
  23551. func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
  23552. invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
  23553. if s.FirstSlotStartTimeRange == nil {
  23554. invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
  23555. }
  23556. if s.Recurrence == nil {
  23557. invalidParams.Add(request.NewErrParamRequired("Recurrence"))
  23558. }
  23559. if s.FirstSlotStartTimeRange != nil {
  23560. if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
  23561. invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
  23562. }
  23563. }
  23564. if invalidParams.Len() > 0 {
  23565. return invalidParams
  23566. }
  23567. return nil
  23568. }
  23569. // SetDryRun sets the DryRun field's value.
  23570. func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
  23571. s.DryRun = &v
  23572. return s
  23573. }
  23574. // SetFilters sets the Filters field's value.
  23575. func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
  23576. s.Filters = v
  23577. return s
  23578. }
  23579. // SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
  23580. func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
  23581. s.FirstSlotStartTimeRange = v
  23582. return s
  23583. }
  23584. // SetMaxResults sets the MaxResults field's value.
  23585. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
  23586. s.MaxResults = &v
  23587. return s
  23588. }
  23589. // SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
  23590. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  23591. s.MaxSlotDurationInHours = &v
  23592. return s
  23593. }
  23594. // SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
  23595. func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  23596. s.MinSlotDurationInHours = &v
  23597. return s
  23598. }
  23599. // SetNextToken sets the NextToken field's value.
  23600. func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
  23601. s.NextToken = &v
  23602. return s
  23603. }
  23604. // SetRecurrence sets the Recurrence field's value.
  23605. func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
  23606. s.Recurrence = v
  23607. return s
  23608. }
  23609. // Contains the output of DescribeScheduledInstanceAvailability.
  23610. type DescribeScheduledInstanceAvailabilityOutput struct {
  23611. _ struct{} `type:"structure"`
  23612. // The token required to retrieve the next set of results. This value is null
  23613. // when there are no more results to return.
  23614. NextToken *string `locationName:"nextToken" type:"string"`
  23615. // Information about the available Scheduled Instances.
  23616. ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
  23617. }
  23618. // String returns the string representation
  23619. func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
  23620. return awsutil.Prettify(s)
  23621. }
  23622. // GoString returns the string representation
  23623. func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
  23624. return s.String()
  23625. }
  23626. // SetNextToken sets the NextToken field's value.
  23627. func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
  23628. s.NextToken = &v
  23629. return s
  23630. }
  23631. // SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
  23632. func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
  23633. s.ScheduledInstanceAvailabilitySet = v
  23634. return s
  23635. }
  23636. // Contains the parameters for DescribeScheduledInstances.
  23637. type DescribeScheduledInstancesInput struct {
  23638. _ struct{} `type:"structure"`
  23639. // Checks whether you have the required permissions for the action, without
  23640. // actually making the request, and provides an error response. If you have
  23641. // the required permissions, the error response is DryRunOperation. Otherwise,
  23642. // it is UnauthorizedOperation.
  23643. DryRun *bool `type:"boolean"`
  23644. // One or more filters.
  23645. //
  23646. // * availability-zone - The Availability Zone (for example, us-west-2a).
  23647. //
  23648. // * instance-type - The instance type (for example, c4.large).
  23649. //
  23650. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  23651. //
  23652. // * platform - The platform (Linux/UNIX or Windows).
  23653. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  23654. // The maximum number of results to return in a single call. This value can
  23655. // be between 5 and 300. The default value is 100. To retrieve the remaining
  23656. // results, make another call with the returned NextToken value.
  23657. MaxResults *int64 `type:"integer"`
  23658. // The token for the next set of results.
  23659. NextToken *string `type:"string"`
  23660. // One or more Scheduled Instance IDs.
  23661. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
  23662. // The time period for the first schedule to start.
  23663. SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
  23664. }
  23665. // String returns the string representation
  23666. func (s DescribeScheduledInstancesInput) String() string {
  23667. return awsutil.Prettify(s)
  23668. }
  23669. // GoString returns the string representation
  23670. func (s DescribeScheduledInstancesInput) GoString() string {
  23671. return s.String()
  23672. }
  23673. // SetDryRun sets the DryRun field's value.
  23674. func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
  23675. s.DryRun = &v
  23676. return s
  23677. }
  23678. // SetFilters sets the Filters field's value.
  23679. func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
  23680. s.Filters = v
  23681. return s
  23682. }
  23683. // SetMaxResults sets the MaxResults field's value.
  23684. func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
  23685. s.MaxResults = &v
  23686. return s
  23687. }
  23688. // SetNextToken sets the NextToken field's value.
  23689. func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
  23690. s.NextToken = &v
  23691. return s
  23692. }
  23693. // SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
  23694. func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
  23695. s.ScheduledInstanceIds = v
  23696. return s
  23697. }
  23698. // SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
  23699. func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
  23700. s.SlotStartTimeRange = v
  23701. return s
  23702. }
  23703. // Contains the output of DescribeScheduledInstances.
  23704. type DescribeScheduledInstancesOutput struct {
  23705. _ struct{} `type:"structure"`
  23706. // The token required to retrieve the next set of results. This value is null
  23707. // when there are no more results to return.
  23708. NextToken *string `locationName:"nextToken" type:"string"`
  23709. // Information about the Scheduled Instances.
  23710. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  23711. }
  23712. // String returns the string representation
  23713. func (s DescribeScheduledInstancesOutput) String() string {
  23714. return awsutil.Prettify(s)
  23715. }
  23716. // GoString returns the string representation
  23717. func (s DescribeScheduledInstancesOutput) GoString() string {
  23718. return s.String()
  23719. }
  23720. // SetNextToken sets the NextToken field's value.
  23721. func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
  23722. s.NextToken = &v
  23723. return s
  23724. }
  23725. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  23726. func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
  23727. s.ScheduledInstanceSet = v
  23728. return s
  23729. }
  23730. type DescribeSecurityGroupReferencesInput struct {
  23731. _ struct{} `type:"structure"`
  23732. // Checks whether you have the required permissions for the operation, without
  23733. // actually making the request, and provides an error response. If you have
  23734. // the required permissions, the error response is DryRunOperation. Otherwise,
  23735. // it is UnauthorizedOperation.
  23736. DryRun *bool `type:"boolean"`
  23737. // One or more security group IDs in your account.
  23738. //
  23739. // GroupId is a required field
  23740. GroupId []*string `locationNameList:"item" type:"list" required:"true"`
  23741. }
  23742. // String returns the string representation
  23743. func (s DescribeSecurityGroupReferencesInput) String() string {
  23744. return awsutil.Prettify(s)
  23745. }
  23746. // GoString returns the string representation
  23747. func (s DescribeSecurityGroupReferencesInput) GoString() string {
  23748. return s.String()
  23749. }
  23750. // Validate inspects the fields of the type to determine if they are valid.
  23751. func (s *DescribeSecurityGroupReferencesInput) Validate() error {
  23752. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
  23753. if s.GroupId == nil {
  23754. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  23755. }
  23756. if invalidParams.Len() > 0 {
  23757. return invalidParams
  23758. }
  23759. return nil
  23760. }
  23761. // SetDryRun sets the DryRun field's value.
  23762. func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
  23763. s.DryRun = &v
  23764. return s
  23765. }
  23766. // SetGroupId sets the GroupId field's value.
  23767. func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
  23768. s.GroupId = v
  23769. return s
  23770. }
  23771. type DescribeSecurityGroupReferencesOutput struct {
  23772. _ struct{} `type:"structure"`
  23773. // Information about the VPCs with the referencing security groups.
  23774. SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
  23775. }
  23776. // String returns the string representation
  23777. func (s DescribeSecurityGroupReferencesOutput) String() string {
  23778. return awsutil.Prettify(s)
  23779. }
  23780. // GoString returns the string representation
  23781. func (s DescribeSecurityGroupReferencesOutput) GoString() string {
  23782. return s.String()
  23783. }
  23784. // SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
  23785. func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
  23786. s.SecurityGroupReferenceSet = v
  23787. return s
  23788. }
  23789. // Contains the parameters for DescribeSecurityGroups.
  23790. type DescribeSecurityGroupsInput struct {
  23791. _ struct{} `type:"structure"`
  23792. // Checks whether you have the required permissions for the action, without
  23793. // actually making the request, and provides an error response. If you have
  23794. // the required permissions, the error response is DryRunOperation. Otherwise,
  23795. // it is UnauthorizedOperation.
  23796. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23797. // One or more filters. If using multiple filters for rules, the results include
  23798. // security groups for which any combination of rules - not necessarily a single
  23799. // rule - match all filters.
  23800. //
  23801. // * description - The description of the security group.
  23802. //
  23803. // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  23804. // to which the security group allows access.
  23805. //
  23806. // * group-id - The ID of the security group.
  23807. //
  23808. // * group-name - The name of the security group.
  23809. //
  23810. // * ip-permission.cidr - A CIDR range that has been granted permission.
  23811. //
  23812. // * ip-permission.from-port - The start of port range for the TCP and UDP
  23813. // protocols, or an ICMP type number.
  23814. //
  23815. // * ip-permission.group-id - The ID of a security group that has been granted
  23816. // permission.
  23817. //
  23818. // * ip-permission.group-name - The name of a security group that has been
  23819. // granted permission.
  23820. //
  23821. // * ip-permission.protocol - The IP protocol for the permission (tcp | udp
  23822. // | icmp or a protocol number).
  23823. //
  23824. // * ip-permission.to-port - The end of port range for the TCP and UDP protocols,
  23825. // or an ICMP code.
  23826. //
  23827. // * ip-permission.user-id - The ID of an AWS account that has been granted
  23828. // permission.
  23829. //
  23830. // * owner-id - The AWS account ID of the owner of the security group.
  23831. //
  23832. // * tag-key - The key of a tag assigned to the security group.
  23833. //
  23834. // * tag-value - The value of a tag assigned to the security group.
  23835. //
  23836. // * vpc-id - The ID of the VPC specified when the security group was created.
  23837. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  23838. // One or more security group IDs. Required for security groups in a nondefault
  23839. // VPC.
  23840. //
  23841. // Default: Describes all your security groups.
  23842. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  23843. // [EC2-Classic and default VPC only] One or more security group names. You
  23844. // can specify either the security group name or the security group ID. For
  23845. // security groups in a nondefault VPC, use the group-name filter to describe
  23846. // security groups by name.
  23847. //
  23848. // Default: Describes all your security groups.
  23849. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  23850. }
  23851. // String returns the string representation
  23852. func (s DescribeSecurityGroupsInput) String() string {
  23853. return awsutil.Prettify(s)
  23854. }
  23855. // GoString returns the string representation
  23856. func (s DescribeSecurityGroupsInput) GoString() string {
  23857. return s.String()
  23858. }
  23859. // SetDryRun sets the DryRun field's value.
  23860. func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
  23861. s.DryRun = &v
  23862. return s
  23863. }
  23864. // SetFilters sets the Filters field's value.
  23865. func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
  23866. s.Filters = v
  23867. return s
  23868. }
  23869. // SetGroupIds sets the GroupIds field's value.
  23870. func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
  23871. s.GroupIds = v
  23872. return s
  23873. }
  23874. // SetGroupNames sets the GroupNames field's value.
  23875. func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
  23876. s.GroupNames = v
  23877. return s
  23878. }
  23879. // Contains the output of DescribeSecurityGroups.
  23880. type DescribeSecurityGroupsOutput struct {
  23881. _ struct{} `type:"structure"`
  23882. // Information about one or more security groups.
  23883. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  23884. }
  23885. // String returns the string representation
  23886. func (s DescribeSecurityGroupsOutput) String() string {
  23887. return awsutil.Prettify(s)
  23888. }
  23889. // GoString returns the string representation
  23890. func (s DescribeSecurityGroupsOutput) GoString() string {
  23891. return s.String()
  23892. }
  23893. // SetSecurityGroups sets the SecurityGroups field's value.
  23894. func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
  23895. s.SecurityGroups = v
  23896. return s
  23897. }
  23898. // Contains the parameters for DescribeSnapshotAttribute.
  23899. type DescribeSnapshotAttributeInput struct {
  23900. _ struct{} `type:"structure"`
  23901. // The snapshot attribute you would like to view.
  23902. //
  23903. // Attribute is a required field
  23904. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  23905. // Checks whether you have the required permissions for the action, without
  23906. // actually making the request, and provides an error response. If you have
  23907. // the required permissions, the error response is DryRunOperation. Otherwise,
  23908. // it is UnauthorizedOperation.
  23909. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23910. // The ID of the EBS snapshot.
  23911. //
  23912. // SnapshotId is a required field
  23913. SnapshotId *string `type:"string" required:"true"`
  23914. }
  23915. // String returns the string representation
  23916. func (s DescribeSnapshotAttributeInput) String() string {
  23917. return awsutil.Prettify(s)
  23918. }
  23919. // GoString returns the string representation
  23920. func (s DescribeSnapshotAttributeInput) GoString() string {
  23921. return s.String()
  23922. }
  23923. // Validate inspects the fields of the type to determine if they are valid.
  23924. func (s *DescribeSnapshotAttributeInput) Validate() error {
  23925. invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
  23926. if s.Attribute == nil {
  23927. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  23928. }
  23929. if s.SnapshotId == nil {
  23930. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  23931. }
  23932. if invalidParams.Len() > 0 {
  23933. return invalidParams
  23934. }
  23935. return nil
  23936. }
  23937. // SetAttribute sets the Attribute field's value.
  23938. func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
  23939. s.Attribute = &v
  23940. return s
  23941. }
  23942. // SetDryRun sets the DryRun field's value.
  23943. func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
  23944. s.DryRun = &v
  23945. return s
  23946. }
  23947. // SetSnapshotId sets the SnapshotId field's value.
  23948. func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
  23949. s.SnapshotId = &v
  23950. return s
  23951. }
  23952. // Contains the output of DescribeSnapshotAttribute.
  23953. type DescribeSnapshotAttributeOutput struct {
  23954. _ struct{} `type:"structure"`
  23955. // A list of permissions for creating volumes from the snapshot.
  23956. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  23957. // A list of product codes.
  23958. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  23959. // The ID of the EBS snapshot.
  23960. SnapshotId *string `locationName:"snapshotId" type:"string"`
  23961. }
  23962. // String returns the string representation
  23963. func (s DescribeSnapshotAttributeOutput) String() string {
  23964. return awsutil.Prettify(s)
  23965. }
  23966. // GoString returns the string representation
  23967. func (s DescribeSnapshotAttributeOutput) GoString() string {
  23968. return s.String()
  23969. }
  23970. // SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
  23971. func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
  23972. s.CreateVolumePermissions = v
  23973. return s
  23974. }
  23975. // SetProductCodes sets the ProductCodes field's value.
  23976. func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
  23977. s.ProductCodes = v
  23978. return s
  23979. }
  23980. // SetSnapshotId sets the SnapshotId field's value.
  23981. func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
  23982. s.SnapshotId = &v
  23983. return s
  23984. }
  23985. // Contains the parameters for DescribeSnapshots.
  23986. type DescribeSnapshotsInput struct {
  23987. _ struct{} `type:"structure"`
  23988. // Checks whether you have the required permissions for the action, without
  23989. // actually making the request, and provides an error response. If you have
  23990. // the required permissions, the error response is DryRunOperation. Otherwise,
  23991. // it is UnauthorizedOperation.
  23992. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23993. // One or more filters.
  23994. //
  23995. // * description - A description of the snapshot.
  23996. //
  23997. // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
  23998. // | microsoft) of snapshot owners. Not to be confused with the user-configured
  23999. // AWS account alias, which is set from the IAM consolew.
  24000. //
  24001. // * owner-id - The ID of the AWS account that owns the snapshot.
  24002. //
  24003. // * progress - The progress of the snapshot, as a percentage (for example,
  24004. // 80%).
  24005. //
  24006. // * snapshot-id - The snapshot ID.
  24007. //
  24008. // * start-time - The time stamp when the snapshot was initiated.
  24009. //
  24010. // * status - The status of the snapshot (pending | completed | error).
  24011. //
  24012. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  24013. //
  24014. // * tag-key - The key of a tag assigned to the resource. This filter is
  24015. // independent of the tag-value filter. For example, if you use both the
  24016. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  24017. // assigned both the tag key Purpose (regardless of what the tag's value
  24018. // is), and the tag value X (regardless of what the tag's key is). If you
  24019. // want to list only resources where Purpose is X, see the tag:key=value
  24020. // filter.
  24021. //
  24022. // * tag-value - The value of a tag assigned to the resource. This filter
  24023. // is independent of the tag-key filter.
  24024. //
  24025. // * volume-id - The ID of the volume the snapshot is for.
  24026. //
  24027. // * volume-size - The size of the volume, in GiB.
  24028. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  24029. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  24030. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  24031. // results in a single page along with a NextToken response element. The remaining
  24032. // results of the initial request can be seen by sending another DescribeSnapshots
  24033. // request with the returned NextToken value. This value can be between 5 and
  24034. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  24035. // are returned. If this parameter is not used, then DescribeSnapshots returns
  24036. // all results. You cannot specify this parameter and the snapshot IDs parameter
  24037. // in the same request.
  24038. MaxResults *int64 `type:"integer"`
  24039. // The NextToken value returned from a previous paginated DescribeSnapshots
  24040. // request where MaxResults was used and the results exceeded the value of that
  24041. // parameter. Pagination continues from the end of the previous results that
  24042. // returned the NextToken value. This value is null when there are no more results
  24043. // to return.
  24044. NextToken *string `type:"string"`
  24045. // Returns the snapshots owned by the specified owner. Multiple owners can be
  24046. // specified.
  24047. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  24048. // One or more AWS accounts IDs that can create volumes from the snapshot.
  24049. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  24050. // One or more snapshot IDs.
  24051. //
  24052. // Default: Describes snapshots for which you have launch permissions.
  24053. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  24054. }
  24055. // String returns the string representation
  24056. func (s DescribeSnapshotsInput) String() string {
  24057. return awsutil.Prettify(s)
  24058. }
  24059. // GoString returns the string representation
  24060. func (s DescribeSnapshotsInput) GoString() string {
  24061. return s.String()
  24062. }
  24063. // SetDryRun sets the DryRun field's value.
  24064. func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
  24065. s.DryRun = &v
  24066. return s
  24067. }
  24068. // SetFilters sets the Filters field's value.
  24069. func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
  24070. s.Filters = v
  24071. return s
  24072. }
  24073. // SetMaxResults sets the MaxResults field's value.
  24074. func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
  24075. s.MaxResults = &v
  24076. return s
  24077. }
  24078. // SetNextToken sets the NextToken field's value.
  24079. func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
  24080. s.NextToken = &v
  24081. return s
  24082. }
  24083. // SetOwnerIds sets the OwnerIds field's value.
  24084. func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
  24085. s.OwnerIds = v
  24086. return s
  24087. }
  24088. // SetRestorableByUserIds sets the RestorableByUserIds field's value.
  24089. func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
  24090. s.RestorableByUserIds = v
  24091. return s
  24092. }
  24093. // SetSnapshotIds sets the SnapshotIds field's value.
  24094. func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
  24095. s.SnapshotIds = v
  24096. return s
  24097. }
  24098. // Contains the output of DescribeSnapshots.
  24099. type DescribeSnapshotsOutput struct {
  24100. _ struct{} `type:"structure"`
  24101. // The NextToken value to include in a future DescribeSnapshots request. When
  24102. // the results of a DescribeSnapshots request exceed MaxResults, this value
  24103. // can be used to retrieve the next page of results. This value is null when
  24104. // there are no more results to return.
  24105. NextToken *string `locationName:"nextToken" type:"string"`
  24106. // Information about the snapshots.
  24107. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  24108. }
  24109. // String returns the string representation
  24110. func (s DescribeSnapshotsOutput) String() string {
  24111. return awsutil.Prettify(s)
  24112. }
  24113. // GoString returns the string representation
  24114. func (s DescribeSnapshotsOutput) GoString() string {
  24115. return s.String()
  24116. }
  24117. // SetNextToken sets the NextToken field's value.
  24118. func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
  24119. s.NextToken = &v
  24120. return s
  24121. }
  24122. // SetSnapshots sets the Snapshots field's value.
  24123. func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
  24124. s.Snapshots = v
  24125. return s
  24126. }
  24127. // Contains the parameters for DescribeSpotDatafeedSubscription.
  24128. type DescribeSpotDatafeedSubscriptionInput struct {
  24129. _ struct{} `type:"structure"`
  24130. // Checks whether you have the required permissions for the action, without
  24131. // actually making the request, and provides an error response. If you have
  24132. // the required permissions, the error response is DryRunOperation. Otherwise,
  24133. // it is UnauthorizedOperation.
  24134. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24135. }
  24136. // String returns the string representation
  24137. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  24138. return awsutil.Prettify(s)
  24139. }
  24140. // GoString returns the string representation
  24141. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  24142. return s.String()
  24143. }
  24144. // SetDryRun sets the DryRun field's value.
  24145. func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
  24146. s.DryRun = &v
  24147. return s
  24148. }
  24149. // Contains the output of DescribeSpotDatafeedSubscription.
  24150. type DescribeSpotDatafeedSubscriptionOutput struct {
  24151. _ struct{} `type:"structure"`
  24152. // The Spot instance data feed subscription.
  24153. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  24154. }
  24155. // String returns the string representation
  24156. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  24157. return awsutil.Prettify(s)
  24158. }
  24159. // GoString returns the string representation
  24160. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  24161. return s.String()
  24162. }
  24163. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  24164. func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
  24165. s.SpotDatafeedSubscription = v
  24166. return s
  24167. }
  24168. // Contains the parameters for DescribeSpotFleetInstances.
  24169. type DescribeSpotFleetInstancesInput struct {
  24170. _ struct{} `type:"structure"`
  24171. // Checks whether you have the required permissions for the action, without
  24172. // actually making the request, and provides an error response. If you have
  24173. // the required permissions, the error response is DryRunOperation. Otherwise,
  24174. // it is UnauthorizedOperation.
  24175. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24176. // The maximum number of results to return in a single call. Specify a value
  24177. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  24178. // results, make another call with the returned NextToken value.
  24179. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  24180. // The token for the next set of results.
  24181. NextToken *string `locationName:"nextToken" type:"string"`
  24182. // The ID of the Spot fleet request.
  24183. //
  24184. // SpotFleetRequestId is a required field
  24185. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  24186. }
  24187. // String returns the string representation
  24188. func (s DescribeSpotFleetInstancesInput) String() string {
  24189. return awsutil.Prettify(s)
  24190. }
  24191. // GoString returns the string representation
  24192. func (s DescribeSpotFleetInstancesInput) GoString() string {
  24193. return s.String()
  24194. }
  24195. // Validate inspects the fields of the type to determine if they are valid.
  24196. func (s *DescribeSpotFleetInstancesInput) Validate() error {
  24197. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
  24198. if s.SpotFleetRequestId == nil {
  24199. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  24200. }
  24201. if invalidParams.Len() > 0 {
  24202. return invalidParams
  24203. }
  24204. return nil
  24205. }
  24206. // SetDryRun sets the DryRun field's value.
  24207. func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
  24208. s.DryRun = &v
  24209. return s
  24210. }
  24211. // SetMaxResults sets the MaxResults field's value.
  24212. func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
  24213. s.MaxResults = &v
  24214. return s
  24215. }
  24216. // SetNextToken sets the NextToken field's value.
  24217. func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
  24218. s.NextToken = &v
  24219. return s
  24220. }
  24221. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  24222. func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
  24223. s.SpotFleetRequestId = &v
  24224. return s
  24225. }
  24226. // Contains the output of DescribeSpotFleetInstances.
  24227. type DescribeSpotFleetInstancesOutput struct {
  24228. _ struct{} `type:"structure"`
  24229. // The running instances. Note that this list is refreshed periodically and
  24230. // might be out of date.
  24231. //
  24232. // ActiveInstances is a required field
  24233. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"`
  24234. // The token required to retrieve the next set of results. This value is null
  24235. // when there are no more results to return.
  24236. NextToken *string `locationName:"nextToken" type:"string"`
  24237. // The ID of the Spot fleet request.
  24238. //
  24239. // SpotFleetRequestId is a required field
  24240. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  24241. }
  24242. // String returns the string representation
  24243. func (s DescribeSpotFleetInstancesOutput) String() string {
  24244. return awsutil.Prettify(s)
  24245. }
  24246. // GoString returns the string representation
  24247. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  24248. return s.String()
  24249. }
  24250. // SetActiveInstances sets the ActiveInstances field's value.
  24251. func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
  24252. s.ActiveInstances = v
  24253. return s
  24254. }
  24255. // SetNextToken sets the NextToken field's value.
  24256. func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
  24257. s.NextToken = &v
  24258. return s
  24259. }
  24260. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  24261. func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
  24262. s.SpotFleetRequestId = &v
  24263. return s
  24264. }
  24265. // Contains the parameters for DescribeSpotFleetRequestHistory.
  24266. type DescribeSpotFleetRequestHistoryInput struct {
  24267. _ struct{} `type:"structure"`
  24268. // Checks whether you have the required permissions for the action, without
  24269. // actually making the request, and provides an error response. If you have
  24270. // the required permissions, the error response is DryRunOperation. Otherwise,
  24271. // it is UnauthorizedOperation.
  24272. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24273. // The type of events to describe. By default, all events are described.
  24274. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  24275. // The maximum number of results to return in a single call. Specify a value
  24276. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  24277. // results, make another call with the returned NextToken value.
  24278. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  24279. // The token for the next set of results.
  24280. NextToken *string `locationName:"nextToken" type:"string"`
  24281. // The ID of the Spot fleet request.
  24282. //
  24283. // SpotFleetRequestId is a required field
  24284. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  24285. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  24286. //
  24287. // StartTime is a required field
  24288. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  24289. }
  24290. // String returns the string representation
  24291. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  24292. return awsutil.Prettify(s)
  24293. }
  24294. // GoString returns the string representation
  24295. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  24296. return s.String()
  24297. }
  24298. // Validate inspects the fields of the type to determine if they are valid.
  24299. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
  24300. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
  24301. if s.SpotFleetRequestId == nil {
  24302. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  24303. }
  24304. if s.StartTime == nil {
  24305. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  24306. }
  24307. if invalidParams.Len() > 0 {
  24308. return invalidParams
  24309. }
  24310. return nil
  24311. }
  24312. // SetDryRun sets the DryRun field's value.
  24313. func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
  24314. s.DryRun = &v
  24315. return s
  24316. }
  24317. // SetEventType sets the EventType field's value.
  24318. func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
  24319. s.EventType = &v
  24320. return s
  24321. }
  24322. // SetMaxResults sets the MaxResults field's value.
  24323. func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
  24324. s.MaxResults = &v
  24325. return s
  24326. }
  24327. // SetNextToken sets the NextToken field's value.
  24328. func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
  24329. s.NextToken = &v
  24330. return s
  24331. }
  24332. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  24333. func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
  24334. s.SpotFleetRequestId = &v
  24335. return s
  24336. }
  24337. // SetStartTime sets the StartTime field's value.
  24338. func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
  24339. s.StartTime = &v
  24340. return s
  24341. }
  24342. // Contains the output of DescribeSpotFleetRequestHistory.
  24343. type DescribeSpotFleetRequestHistoryOutput struct {
  24344. _ struct{} `type:"structure"`
  24345. // Information about the events in the history of the Spot fleet request.
  24346. //
  24347. // HistoryRecords is a required field
  24348. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"`
  24349. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  24350. // All records up to this time were retrieved.
  24351. //
  24352. // If nextToken indicates that there are more results, this value is not present.
  24353. //
  24354. // LastEvaluatedTime is a required field
  24355. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  24356. // The token required to retrieve the next set of results. This value is null
  24357. // when there are no more results to return.
  24358. NextToken *string `locationName:"nextToken" type:"string"`
  24359. // The ID of the Spot fleet request.
  24360. //
  24361. // SpotFleetRequestId is a required field
  24362. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  24363. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  24364. //
  24365. // StartTime is a required field
  24366. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  24367. }
  24368. // String returns the string representation
  24369. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  24370. return awsutil.Prettify(s)
  24371. }
  24372. // GoString returns the string representation
  24373. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  24374. return s.String()
  24375. }
  24376. // SetHistoryRecords sets the HistoryRecords field's value.
  24377. func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
  24378. s.HistoryRecords = v
  24379. return s
  24380. }
  24381. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  24382. func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  24383. s.LastEvaluatedTime = &v
  24384. return s
  24385. }
  24386. // SetNextToken sets the NextToken field's value.
  24387. func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
  24388. s.NextToken = &v
  24389. return s
  24390. }
  24391. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  24392. func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
  24393. s.SpotFleetRequestId = &v
  24394. return s
  24395. }
  24396. // SetStartTime sets the StartTime field's value.
  24397. func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  24398. s.StartTime = &v
  24399. return s
  24400. }
  24401. // Contains the parameters for DescribeSpotFleetRequests.
  24402. type DescribeSpotFleetRequestsInput struct {
  24403. _ struct{} `type:"structure"`
  24404. // Checks whether you have the required permissions for the action, without
  24405. // actually making the request, and provides an error response. If you have
  24406. // the required permissions, the error response is DryRunOperation. Otherwise,
  24407. // it is UnauthorizedOperation.
  24408. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24409. // The maximum number of results to return in a single call. Specify a value
  24410. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  24411. // results, make another call with the returned NextToken value.
  24412. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  24413. // The token for the next set of results.
  24414. NextToken *string `locationName:"nextToken" type:"string"`
  24415. // The IDs of the Spot fleet requests.
  24416. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  24417. }
  24418. // String returns the string representation
  24419. func (s DescribeSpotFleetRequestsInput) String() string {
  24420. return awsutil.Prettify(s)
  24421. }
  24422. // GoString returns the string representation
  24423. func (s DescribeSpotFleetRequestsInput) GoString() string {
  24424. return s.String()
  24425. }
  24426. // SetDryRun sets the DryRun field's value.
  24427. func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
  24428. s.DryRun = &v
  24429. return s
  24430. }
  24431. // SetMaxResults sets the MaxResults field's value.
  24432. func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
  24433. s.MaxResults = &v
  24434. return s
  24435. }
  24436. // SetNextToken sets the NextToken field's value.
  24437. func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
  24438. s.NextToken = &v
  24439. return s
  24440. }
  24441. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  24442. func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
  24443. s.SpotFleetRequestIds = v
  24444. return s
  24445. }
  24446. // Contains the output of DescribeSpotFleetRequests.
  24447. type DescribeSpotFleetRequestsOutput struct {
  24448. _ struct{} `type:"structure"`
  24449. // The token required to retrieve the next set of results. This value is null
  24450. // when there are no more results to return.
  24451. NextToken *string `locationName:"nextToken" type:"string"`
  24452. // Information about the configuration of your Spot fleet.
  24453. //
  24454. // SpotFleetRequestConfigs is a required field
  24455. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
  24456. }
  24457. // String returns the string representation
  24458. func (s DescribeSpotFleetRequestsOutput) String() string {
  24459. return awsutil.Prettify(s)
  24460. }
  24461. // GoString returns the string representation
  24462. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  24463. return s.String()
  24464. }
  24465. // SetNextToken sets the NextToken field's value.
  24466. func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
  24467. s.NextToken = &v
  24468. return s
  24469. }
  24470. // SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
  24471. func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
  24472. s.SpotFleetRequestConfigs = v
  24473. return s
  24474. }
  24475. // Contains the parameters for DescribeSpotInstanceRequests.
  24476. type DescribeSpotInstanceRequestsInput struct {
  24477. _ struct{} `type:"structure"`
  24478. // Checks whether you have the required permissions for the action, without
  24479. // actually making the request, and provides an error response. If you have
  24480. // the required permissions, the error response is DryRunOperation. Otherwise,
  24481. // it is UnauthorizedOperation.
  24482. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24483. // One or more filters.
  24484. //
  24485. // * availability-zone-group - The Availability Zone group.
  24486. //
  24487. // * create-time - The time stamp when the Spot instance request was created.
  24488. //
  24489. // * fault-code - The fault code related to the request.
  24490. //
  24491. // * fault-message - The fault message related to the request.
  24492. //
  24493. // * instance-id - The ID of the instance that fulfilled the request.
  24494. //
  24495. // * launch-group - The Spot instance launch group.
  24496. //
  24497. // * launch.block-device-mapping.delete-on-termination - Indicates whether
  24498. // the Amazon EBS volume is deleted on instance termination.
  24499. //
  24500. // * launch.block-device-mapping.device-name - The device name for the Amazon
  24501. // EBS volume (for example, /dev/sdh).
  24502. //
  24503. // * launch.block-device-mapping.snapshot-id - The ID of the snapshot used
  24504. // for the Amazon EBS volume.
  24505. //
  24506. // * launch.block-device-mapping.volume-size - The size of the Amazon EBS
  24507. // volume, in GiB.
  24508. //
  24509. // * launch.block-device-mapping.volume-type - The type of the Amazon EBS
  24510. // volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1
  24511. // for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
  24512. //
  24513. // * launch.group-id - The security group for the instance.
  24514. //
  24515. // * launch.image-id - The ID of the AMI.
  24516. //
  24517. // * launch.instance-type - The type of instance (for example, m3.medium).
  24518. //
  24519. // * launch.kernel-id - The kernel ID.
  24520. //
  24521. // * launch.key-name - The name of the key pair the instance launched with.
  24522. //
  24523. // * launch.monitoring-enabled - Whether monitoring is enabled for the Spot
  24524. // instance.
  24525. //
  24526. // * launch.ramdisk-id - The RAM disk ID.
  24527. //
  24528. // * network-interface.network-interface-id - The ID of the network interface.
  24529. //
  24530. // * network-interface.device-index - The index of the device for the network
  24531. // interface attachment on the instance.
  24532. //
  24533. // * network-interface.subnet-id - The ID of the subnet for the instance.
  24534. //
  24535. // * network-interface.description - A description of the network interface.
  24536. //
  24537. // * network-interface.private-ip-address - The primary private IP address
  24538. // of the network interface.
  24539. //
  24540. // * network-interface.delete-on-termination - Indicates whether the network
  24541. // interface is deleted when the instance is terminated.
  24542. //
  24543. // * network-interface.group-id - The ID of the security group associated
  24544. // with the network interface.
  24545. //
  24546. // * network-interface.group-name - The name of the security group associated
  24547. // with the network interface.
  24548. //
  24549. // * network-interface.addresses.primary - Indicates whether the IP address
  24550. // is the primary private IP address.
  24551. //
  24552. // * product-description - The product description associated with the instance
  24553. // (Linux/UNIX | Windows).
  24554. //
  24555. // * spot-instance-request-id - The Spot instance request ID.
  24556. //
  24557. // * spot-price - The maximum hourly price for any Spot instance launched
  24558. // to fulfill the request.
  24559. //
  24560. // * state - The state of the Spot instance request (open | active | closed
  24561. // | cancelled | failed). Spot bid status information can help you track
  24562. // your Amazon EC2 Spot instance requests. For more information, see Spot
  24563. // Bid Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  24564. // in the Amazon Elastic Compute Cloud User Guide.
  24565. //
  24566. // * status-code - The short code describing the most recent evaluation of
  24567. // your Spot instance request.
  24568. //
  24569. // * status-message - The message explaining the status of the Spot instance
  24570. // request.
  24571. //
  24572. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  24573. //
  24574. // * tag-key - The key of a tag assigned to the resource. This filter is
  24575. // independent of the tag-value filter. For example, if you use both the
  24576. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  24577. // assigned both the tag key Purpose (regardless of what the tag's value
  24578. // is), and the tag value X (regardless of what the tag's key is). If you
  24579. // want to list only resources where Purpose is X, see the tag:key=value
  24580. // filter.
  24581. //
  24582. // * tag-value - The value of a tag assigned to the resource. This filter
  24583. // is independent of the tag-key filter.
  24584. //
  24585. // * type - The type of Spot instance request (one-time | persistent).
  24586. //
  24587. // * launched-availability-zone - The Availability Zone in which the bid
  24588. // is launched.
  24589. //
  24590. // * valid-from - The start date of the request.
  24591. //
  24592. // * valid-until - The end date of the request.
  24593. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  24594. // One or more Spot instance request IDs.
  24595. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  24596. }
  24597. // String returns the string representation
  24598. func (s DescribeSpotInstanceRequestsInput) String() string {
  24599. return awsutil.Prettify(s)
  24600. }
  24601. // GoString returns the string representation
  24602. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  24603. return s.String()
  24604. }
  24605. // SetDryRun sets the DryRun field's value.
  24606. func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
  24607. s.DryRun = &v
  24608. return s
  24609. }
  24610. // SetFilters sets the Filters field's value.
  24611. func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
  24612. s.Filters = v
  24613. return s
  24614. }
  24615. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  24616. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
  24617. s.SpotInstanceRequestIds = v
  24618. return s
  24619. }
  24620. // Contains the output of DescribeSpotInstanceRequests.
  24621. type DescribeSpotInstanceRequestsOutput struct {
  24622. _ struct{} `type:"structure"`
  24623. // One or more Spot instance requests.
  24624. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  24625. }
  24626. // String returns the string representation
  24627. func (s DescribeSpotInstanceRequestsOutput) String() string {
  24628. return awsutil.Prettify(s)
  24629. }
  24630. // GoString returns the string representation
  24631. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  24632. return s.String()
  24633. }
  24634. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  24635. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
  24636. s.SpotInstanceRequests = v
  24637. return s
  24638. }
  24639. // Contains the parameters for DescribeSpotPriceHistory.
  24640. type DescribeSpotPriceHistoryInput struct {
  24641. _ struct{} `type:"structure"`
  24642. // Filters the results by the specified Availability Zone.
  24643. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  24644. // Checks whether you have the required permissions for the action, without
  24645. // actually making the request, and provides an error response. If you have
  24646. // the required permissions, the error response is DryRunOperation. Otherwise,
  24647. // it is UnauthorizedOperation.
  24648. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24649. // The date and time, up to the current date, from which to stop retrieving
  24650. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  24651. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  24652. // One or more filters.
  24653. //
  24654. // * availability-zone - The Availability Zone for which prices should be
  24655. // returned.
  24656. //
  24657. // * instance-type - The type of instance (for example, m3.medium).
  24658. //
  24659. // * product-description - The product description for the Spot price (Linux/UNIX
  24660. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
  24661. // VPC) | Windows (Amazon VPC)).
  24662. //
  24663. // * spot-price - The Spot price. The value must match exactly (or use wildcards;
  24664. // greater than or less than comparison is not supported).
  24665. //
  24666. // * timestamp - The timestamp of the Spot price history, in UTC format (for
  24667. // example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
  24668. // than or less than comparison is not supported.
  24669. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  24670. // Filters the results by the specified instance types.
  24671. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  24672. // The maximum number of results to return in a single call. Specify a value
  24673. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  24674. // results, make another call with the returned NextToken value.
  24675. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  24676. // The token for the next set of results.
  24677. NextToken *string `locationName:"nextToken" type:"string"`
  24678. // Filters the results by the specified basic product descriptions.
  24679. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  24680. // The date and time, up to the past 90 days, from which to start retrieving
  24681. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  24682. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  24683. }
  24684. // String returns the string representation
  24685. func (s DescribeSpotPriceHistoryInput) String() string {
  24686. return awsutil.Prettify(s)
  24687. }
  24688. // GoString returns the string representation
  24689. func (s DescribeSpotPriceHistoryInput) GoString() string {
  24690. return s.String()
  24691. }
  24692. // SetAvailabilityZone sets the AvailabilityZone field's value.
  24693. func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
  24694. s.AvailabilityZone = &v
  24695. return s
  24696. }
  24697. // SetDryRun sets the DryRun field's value.
  24698. func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
  24699. s.DryRun = &v
  24700. return s
  24701. }
  24702. // SetEndTime sets the EndTime field's value.
  24703. func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
  24704. s.EndTime = &v
  24705. return s
  24706. }
  24707. // SetFilters sets the Filters field's value.
  24708. func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
  24709. s.Filters = v
  24710. return s
  24711. }
  24712. // SetInstanceTypes sets the InstanceTypes field's value.
  24713. func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
  24714. s.InstanceTypes = v
  24715. return s
  24716. }
  24717. // SetMaxResults sets the MaxResults field's value.
  24718. func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
  24719. s.MaxResults = &v
  24720. return s
  24721. }
  24722. // SetNextToken sets the NextToken field's value.
  24723. func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
  24724. s.NextToken = &v
  24725. return s
  24726. }
  24727. // SetProductDescriptions sets the ProductDescriptions field's value.
  24728. func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
  24729. s.ProductDescriptions = v
  24730. return s
  24731. }
  24732. // SetStartTime sets the StartTime field's value.
  24733. func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
  24734. s.StartTime = &v
  24735. return s
  24736. }
  24737. // Contains the output of DescribeSpotPriceHistory.
  24738. type DescribeSpotPriceHistoryOutput struct {
  24739. _ struct{} `type:"structure"`
  24740. // The token required to retrieve the next set of results. This value is null
  24741. // when there are no more results to return.
  24742. NextToken *string `locationName:"nextToken" type:"string"`
  24743. // The historical Spot prices.
  24744. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  24745. }
  24746. // String returns the string representation
  24747. func (s DescribeSpotPriceHistoryOutput) String() string {
  24748. return awsutil.Prettify(s)
  24749. }
  24750. // GoString returns the string representation
  24751. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  24752. return s.String()
  24753. }
  24754. // SetNextToken sets the NextToken field's value.
  24755. func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
  24756. s.NextToken = &v
  24757. return s
  24758. }
  24759. // SetSpotPriceHistory sets the SpotPriceHistory field's value.
  24760. func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
  24761. s.SpotPriceHistory = v
  24762. return s
  24763. }
  24764. type DescribeStaleSecurityGroupsInput struct {
  24765. _ struct{} `type:"structure"`
  24766. // Checks whether you have the required permissions for the operation, 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. // The maximum number of items to return for this request. The request returns
  24772. // a token that you can specify in a subsequent call to get the next set of
  24773. // results.
  24774. MaxResults *int64 `min:"5" type:"integer"`
  24775. // The token for the next set of items to return. (You received this token from
  24776. // a prior call.)
  24777. NextToken *string `min:"1" type:"string"`
  24778. // The ID of the VPC.
  24779. //
  24780. // VpcId is a required field
  24781. VpcId *string `type:"string" required:"true"`
  24782. }
  24783. // String returns the string representation
  24784. func (s DescribeStaleSecurityGroupsInput) String() string {
  24785. return awsutil.Prettify(s)
  24786. }
  24787. // GoString returns the string representation
  24788. func (s DescribeStaleSecurityGroupsInput) GoString() string {
  24789. return s.String()
  24790. }
  24791. // Validate inspects the fields of the type to determine if they are valid.
  24792. func (s *DescribeStaleSecurityGroupsInput) Validate() error {
  24793. invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
  24794. if s.MaxResults != nil && *s.MaxResults < 5 {
  24795. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  24796. }
  24797. if s.NextToken != nil && len(*s.NextToken) < 1 {
  24798. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  24799. }
  24800. if s.VpcId == nil {
  24801. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  24802. }
  24803. if invalidParams.Len() > 0 {
  24804. return invalidParams
  24805. }
  24806. return nil
  24807. }
  24808. // SetDryRun sets the DryRun field's value.
  24809. func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
  24810. s.DryRun = &v
  24811. return s
  24812. }
  24813. // SetMaxResults sets the MaxResults field's value.
  24814. func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
  24815. s.MaxResults = &v
  24816. return s
  24817. }
  24818. // SetNextToken sets the NextToken field's value.
  24819. func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
  24820. s.NextToken = &v
  24821. return s
  24822. }
  24823. // SetVpcId sets the VpcId field's value.
  24824. func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
  24825. s.VpcId = &v
  24826. return s
  24827. }
  24828. type DescribeStaleSecurityGroupsOutput struct {
  24829. _ struct{} `type:"structure"`
  24830. // The token to use when requesting the next set of items. If there are no additional
  24831. // items to return, the string is empty.
  24832. NextToken *string `locationName:"nextToken" type:"string"`
  24833. // Information about the stale security groups.
  24834. StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
  24835. }
  24836. // String returns the string representation
  24837. func (s DescribeStaleSecurityGroupsOutput) String() string {
  24838. return awsutil.Prettify(s)
  24839. }
  24840. // GoString returns the string representation
  24841. func (s DescribeStaleSecurityGroupsOutput) GoString() string {
  24842. return s.String()
  24843. }
  24844. // SetNextToken sets the NextToken field's value.
  24845. func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
  24846. s.NextToken = &v
  24847. return s
  24848. }
  24849. // SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
  24850. func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
  24851. s.StaleSecurityGroupSet = v
  24852. return s
  24853. }
  24854. // Contains the parameters for DescribeSubnets.
  24855. type DescribeSubnetsInput struct {
  24856. _ struct{} `type:"structure"`
  24857. // Checks whether you have the required permissions for the action, without
  24858. // actually making the request, and provides an error response. If you have
  24859. // the required permissions, the error response is DryRunOperation. Otherwise,
  24860. // it is UnauthorizedOperation.
  24861. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24862. // One or more filters.
  24863. //
  24864. // * availabilityZone - The Availability Zone for the subnet. You can also
  24865. // use availability-zone as the filter name.
  24866. //
  24867. // * available-ip-address-count - The number of IP addresses in the subnet
  24868. // that are available.
  24869. //
  24870. // * cidrBlock - The CIDR block of the subnet. The CIDR block you specify
  24871. // must exactly match the subnet's CIDR block for information to be returned
  24872. // for the subnet. You can also use cidr or cidr-block as the filter names.
  24873. //
  24874. // * defaultForAz - Indicates whether this is the default subnet for the
  24875. // Availability Zone. You can also use default-for-az as the filter name.
  24876. //
  24877. // * state - The state of the subnet (pending | available).
  24878. //
  24879. // * subnet-id - The ID of the subnet.
  24880. //
  24881. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  24882. //
  24883. // * tag-key - The key of a tag assigned to the resource. This filter is
  24884. // independent of the tag-value filter. For example, if you use both the
  24885. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  24886. // assigned both the tag key Purpose (regardless of what the tag's value
  24887. // is), and the tag value X (regardless of what the tag's key is). If you
  24888. // want to list only resources where Purpose is X, see the tag:key=value
  24889. // filter.
  24890. //
  24891. // * tag-value - The value of a tag assigned to the resource. This filter
  24892. // is independent of the tag-key filter.
  24893. //
  24894. // * vpc-id - The ID of the VPC for the subnet.
  24895. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  24896. // One or more subnet IDs.
  24897. //
  24898. // Default: Describes all your subnets.
  24899. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  24900. }
  24901. // String returns the string representation
  24902. func (s DescribeSubnetsInput) String() string {
  24903. return awsutil.Prettify(s)
  24904. }
  24905. // GoString returns the string representation
  24906. func (s DescribeSubnetsInput) GoString() string {
  24907. return s.String()
  24908. }
  24909. // SetDryRun sets the DryRun field's value.
  24910. func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
  24911. s.DryRun = &v
  24912. return s
  24913. }
  24914. // SetFilters sets the Filters field's value.
  24915. func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
  24916. s.Filters = v
  24917. return s
  24918. }
  24919. // SetSubnetIds sets the SubnetIds field's value.
  24920. func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
  24921. s.SubnetIds = v
  24922. return s
  24923. }
  24924. // Contains the output of DescribeSubnets.
  24925. type DescribeSubnetsOutput struct {
  24926. _ struct{} `type:"structure"`
  24927. // Information about one or more subnets.
  24928. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  24929. }
  24930. // String returns the string representation
  24931. func (s DescribeSubnetsOutput) String() string {
  24932. return awsutil.Prettify(s)
  24933. }
  24934. // GoString returns the string representation
  24935. func (s DescribeSubnetsOutput) GoString() string {
  24936. return s.String()
  24937. }
  24938. // SetSubnets sets the Subnets field's value.
  24939. func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
  24940. s.Subnets = v
  24941. return s
  24942. }
  24943. // Contains the parameters for DescribeTags.
  24944. type DescribeTagsInput struct {
  24945. _ struct{} `type:"structure"`
  24946. // Checks whether you have the required permissions for the action, without
  24947. // actually making the request, and provides an error response. If you have
  24948. // the required permissions, the error response is DryRunOperation. Otherwise,
  24949. // it is UnauthorizedOperation.
  24950. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24951. // One or more filters.
  24952. //
  24953. // * key - The tag key.
  24954. //
  24955. // * resource-id - The resource ID.
  24956. //
  24957. // * resource-type - The resource type (customer-gateway | dhcp-options |
  24958. // image | instance | internet-gateway | network-acl | network-interface
  24959. // | reserved-instances | route-table | security-group | snapshot | spot-instances-request
  24960. // | subnet | volume | vpc | vpn-connection | vpn-gateway).
  24961. //
  24962. // * value - The tag value.
  24963. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  24964. // The maximum number of results to return in a single call. This value can
  24965. // be between 5 and 1000. To retrieve the remaining results, make another call
  24966. // with the returned NextToken value.
  24967. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  24968. // The token to retrieve the next page of results.
  24969. NextToken *string `locationName:"nextToken" type:"string"`
  24970. }
  24971. // String returns the string representation
  24972. func (s DescribeTagsInput) String() string {
  24973. return awsutil.Prettify(s)
  24974. }
  24975. // GoString returns the string representation
  24976. func (s DescribeTagsInput) GoString() string {
  24977. return s.String()
  24978. }
  24979. // SetDryRun sets the DryRun field's value.
  24980. func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
  24981. s.DryRun = &v
  24982. return s
  24983. }
  24984. // SetFilters sets the Filters field's value.
  24985. func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
  24986. s.Filters = v
  24987. return s
  24988. }
  24989. // SetMaxResults sets the MaxResults field's value.
  24990. func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
  24991. s.MaxResults = &v
  24992. return s
  24993. }
  24994. // SetNextToken sets the NextToken field's value.
  24995. func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
  24996. s.NextToken = &v
  24997. return s
  24998. }
  24999. // Contains the output of DescribeTags.
  25000. type DescribeTagsOutput struct {
  25001. _ struct{} `type:"structure"`
  25002. // The token to use to retrieve the next page of results. This value is null
  25003. // when there are no more results to return..
  25004. NextToken *string `locationName:"nextToken" type:"string"`
  25005. // A list of tags.
  25006. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  25007. }
  25008. // String returns the string representation
  25009. func (s DescribeTagsOutput) String() string {
  25010. return awsutil.Prettify(s)
  25011. }
  25012. // GoString returns the string representation
  25013. func (s DescribeTagsOutput) GoString() string {
  25014. return s.String()
  25015. }
  25016. // SetNextToken sets the NextToken field's value.
  25017. func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
  25018. s.NextToken = &v
  25019. return s
  25020. }
  25021. // SetTags sets the Tags field's value.
  25022. func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
  25023. s.Tags = v
  25024. return s
  25025. }
  25026. // Contains the parameters for DescribeVolumeAttribute.
  25027. type DescribeVolumeAttributeInput struct {
  25028. _ struct{} `type:"structure"`
  25029. // The instance attribute.
  25030. Attribute *string `type:"string" enum:"VolumeAttributeName"`
  25031. // Checks whether you have the required permissions for the action, without
  25032. // actually making the request, and provides an error response. If you have
  25033. // the required permissions, the error response is DryRunOperation. Otherwise,
  25034. // it is UnauthorizedOperation.
  25035. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25036. // The ID of the volume.
  25037. //
  25038. // VolumeId is a required field
  25039. VolumeId *string `type:"string" required:"true"`
  25040. }
  25041. // String returns the string representation
  25042. func (s DescribeVolumeAttributeInput) String() string {
  25043. return awsutil.Prettify(s)
  25044. }
  25045. // GoString returns the string representation
  25046. func (s DescribeVolumeAttributeInput) GoString() string {
  25047. return s.String()
  25048. }
  25049. // Validate inspects the fields of the type to determine if they are valid.
  25050. func (s *DescribeVolumeAttributeInput) Validate() error {
  25051. invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
  25052. if s.VolumeId == nil {
  25053. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  25054. }
  25055. if invalidParams.Len() > 0 {
  25056. return invalidParams
  25057. }
  25058. return nil
  25059. }
  25060. // SetAttribute sets the Attribute field's value.
  25061. func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
  25062. s.Attribute = &v
  25063. return s
  25064. }
  25065. // SetDryRun sets the DryRun field's value.
  25066. func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
  25067. s.DryRun = &v
  25068. return s
  25069. }
  25070. // SetVolumeId sets the VolumeId field's value.
  25071. func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
  25072. s.VolumeId = &v
  25073. return s
  25074. }
  25075. // Contains the output of DescribeVolumeAttribute.
  25076. type DescribeVolumeAttributeOutput struct {
  25077. _ struct{} `type:"structure"`
  25078. // The state of autoEnableIO attribute.
  25079. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  25080. // A list of product codes.
  25081. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  25082. // The ID of the volume.
  25083. VolumeId *string `locationName:"volumeId" type:"string"`
  25084. }
  25085. // String returns the string representation
  25086. func (s DescribeVolumeAttributeOutput) String() string {
  25087. return awsutil.Prettify(s)
  25088. }
  25089. // GoString returns the string representation
  25090. func (s DescribeVolumeAttributeOutput) GoString() string {
  25091. return s.String()
  25092. }
  25093. // SetAutoEnableIO sets the AutoEnableIO field's value.
  25094. func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
  25095. s.AutoEnableIO = v
  25096. return s
  25097. }
  25098. // SetProductCodes sets the ProductCodes field's value.
  25099. func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
  25100. s.ProductCodes = v
  25101. return s
  25102. }
  25103. // SetVolumeId sets the VolumeId field's value.
  25104. func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
  25105. s.VolumeId = &v
  25106. return s
  25107. }
  25108. // Contains the parameters for DescribeVolumeStatus.
  25109. type DescribeVolumeStatusInput struct {
  25110. _ struct{} `type:"structure"`
  25111. // Checks whether you have the required permissions for the action, without
  25112. // actually making the request, and provides an error response. If you have
  25113. // the required permissions, the error response is DryRunOperation. Otherwise,
  25114. // it is UnauthorizedOperation.
  25115. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25116. // One or more filters.
  25117. //
  25118. // * action.code - The action code for the event (for example, enable-volume-io).
  25119. //
  25120. // * action.description - A description of the action.
  25121. //
  25122. // * action.event-id - The event ID associated with the action.
  25123. //
  25124. // * availability-zone - The Availability Zone of the instance.
  25125. //
  25126. // * event.description - A description of the event.
  25127. //
  25128. // * event.event-id - The event ID.
  25129. //
  25130. // * event.event-type - The event type (for io-enabled: passed | failed;
  25131. // for io-performance: io-performance:degraded | io-performance:severely-degraded
  25132. // | io-performance:stalled).
  25133. //
  25134. // * event.not-after - The latest end time for the event.
  25135. //
  25136. // * event.not-before - The earliest start time for the event.
  25137. //
  25138. // * volume-status.details-name - The cause for volume-status.status (io-enabled
  25139. // | io-performance).
  25140. //
  25141. // * volume-status.details-status - The status of volume-status.details-name
  25142. // (for io-enabled: passed | failed; for io-performance: normal | degraded
  25143. // | severely-degraded | stalled).
  25144. //
  25145. // * volume-status.status - The status of the volume (ok | impaired | warning
  25146. // | insufficient-data).
  25147. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25148. // The maximum number of volume results returned by DescribeVolumeStatus in
  25149. // paginated output. When this parameter is used, the request only returns MaxResults
  25150. // results in a single page along with a NextToken response element. The remaining
  25151. // results of the initial request can be seen by sending another request with
  25152. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  25153. // is given a value larger than 1000, only 1000 results are returned. If this
  25154. // parameter is not used, then DescribeVolumeStatus returns all results. You
  25155. // cannot specify this parameter and the volume IDs parameter in the same request.
  25156. MaxResults *int64 `type:"integer"`
  25157. // The NextToken value to include in a future DescribeVolumeStatus request.
  25158. // When the results of the request exceed MaxResults, this value can be used
  25159. // to retrieve the next page of results. This value is null when there are no
  25160. // more results to return.
  25161. NextToken *string `type:"string"`
  25162. // One or more volume IDs.
  25163. //
  25164. // Default: Describes all your volumes.
  25165. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  25166. }
  25167. // String returns the string representation
  25168. func (s DescribeVolumeStatusInput) String() string {
  25169. return awsutil.Prettify(s)
  25170. }
  25171. // GoString returns the string representation
  25172. func (s DescribeVolumeStatusInput) GoString() string {
  25173. return s.String()
  25174. }
  25175. // SetDryRun sets the DryRun field's value.
  25176. func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
  25177. s.DryRun = &v
  25178. return s
  25179. }
  25180. // SetFilters sets the Filters field's value.
  25181. func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
  25182. s.Filters = v
  25183. return s
  25184. }
  25185. // SetMaxResults sets the MaxResults field's value.
  25186. func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
  25187. s.MaxResults = &v
  25188. return s
  25189. }
  25190. // SetNextToken sets the NextToken field's value.
  25191. func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
  25192. s.NextToken = &v
  25193. return s
  25194. }
  25195. // SetVolumeIds sets the VolumeIds field's value.
  25196. func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
  25197. s.VolumeIds = v
  25198. return s
  25199. }
  25200. // Contains the output of DescribeVolumeStatus.
  25201. type DescribeVolumeStatusOutput struct {
  25202. _ struct{} `type:"structure"`
  25203. // The token to use to retrieve the next page of results. This value is null
  25204. // when there are no more results to return.
  25205. NextToken *string `locationName:"nextToken" type:"string"`
  25206. // A list of volumes.
  25207. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  25208. }
  25209. // String returns the string representation
  25210. func (s DescribeVolumeStatusOutput) String() string {
  25211. return awsutil.Prettify(s)
  25212. }
  25213. // GoString returns the string representation
  25214. func (s DescribeVolumeStatusOutput) GoString() string {
  25215. return s.String()
  25216. }
  25217. // SetNextToken sets the NextToken field's value.
  25218. func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
  25219. s.NextToken = &v
  25220. return s
  25221. }
  25222. // SetVolumeStatuses sets the VolumeStatuses field's value.
  25223. func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
  25224. s.VolumeStatuses = v
  25225. return s
  25226. }
  25227. // Contains the parameters for DescribeVolumes.
  25228. type DescribeVolumesInput struct {
  25229. _ struct{} `type:"structure"`
  25230. // Checks whether you have the required permissions for the action, without
  25231. // actually making the request, and provides an error response. If you have
  25232. // the required permissions, the error response is DryRunOperation. Otherwise,
  25233. // it is UnauthorizedOperation.
  25234. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25235. // One or more filters.
  25236. //
  25237. // * attachment.attach-time - The time stamp when the attachment initiated.
  25238. //
  25239. // * attachment.delete-on-termination - Whether the volume is deleted on
  25240. // instance termination.
  25241. //
  25242. // * attachment.device - The device name that is exposed to the instance
  25243. // (for example, /dev/sda1).
  25244. //
  25245. // * attachment.instance-id - The ID of the instance the volume is attached
  25246. // to.
  25247. //
  25248. // * attachment.status - The attachment state (attaching | attached | detaching
  25249. // | detached).
  25250. //
  25251. // * availability-zone - The Availability Zone in which the volume was created.
  25252. //
  25253. // * create-time - The time stamp when the volume was created.
  25254. //
  25255. // * encrypted - The encryption status of the volume.
  25256. //
  25257. // * size - The size of the volume, in GiB.
  25258. //
  25259. // * snapshot-id - The snapshot from which the volume was created.
  25260. //
  25261. // * status - The status of the volume (creating | available | in-use | deleting
  25262. // | deleted | error).
  25263. //
  25264. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25265. //
  25266. // * tag-key - The key of a tag assigned to the resource. This filter is
  25267. // independent of the tag-value filter. For example, if you use both the
  25268. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25269. // assigned both the tag key Purpose (regardless of what the tag's value
  25270. // is), and the tag value X (regardless of what the tag's key is). If you
  25271. // want to list only resources where Purpose is X, see the tag:key=value
  25272. // filter.
  25273. //
  25274. // * tag-value - The value of a tag assigned to the resource. This filter
  25275. // is independent of the tag-key filter.
  25276. //
  25277. // * volume-id - The volume ID.
  25278. //
  25279. // * volume-type - The Amazon EBS volume type. This can be gp2 for General
  25280. // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
  25281. // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
  25282. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25283. // The maximum number of volume results returned by DescribeVolumes in paginated
  25284. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  25285. // results in a single page along with a NextToken response element. The remaining
  25286. // results of the initial request can be seen by sending another DescribeVolumes
  25287. // request with the returned NextToken value. This value can be between 5 and
  25288. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  25289. // are returned. If this parameter is not used, then DescribeVolumes returns
  25290. // all results. You cannot specify this parameter and the volume IDs parameter
  25291. // in the same request.
  25292. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  25293. // The NextToken value returned from a previous paginated DescribeVolumes request
  25294. // where MaxResults was used and the results exceeded the value of that parameter.
  25295. // Pagination continues from the end of the previous results that returned the
  25296. // NextToken value. This value is null when there are no more results to return.
  25297. NextToken *string `locationName:"nextToken" type:"string"`
  25298. // One or more volume IDs.
  25299. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  25300. }
  25301. // String returns the string representation
  25302. func (s DescribeVolumesInput) String() string {
  25303. return awsutil.Prettify(s)
  25304. }
  25305. // GoString returns the string representation
  25306. func (s DescribeVolumesInput) GoString() string {
  25307. return s.String()
  25308. }
  25309. // SetDryRun sets the DryRun field's value.
  25310. func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
  25311. s.DryRun = &v
  25312. return s
  25313. }
  25314. // SetFilters sets the Filters field's value.
  25315. func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
  25316. s.Filters = v
  25317. return s
  25318. }
  25319. // SetMaxResults sets the MaxResults field's value.
  25320. func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
  25321. s.MaxResults = &v
  25322. return s
  25323. }
  25324. // SetNextToken sets the NextToken field's value.
  25325. func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
  25326. s.NextToken = &v
  25327. return s
  25328. }
  25329. // SetVolumeIds sets the VolumeIds field's value.
  25330. func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
  25331. s.VolumeIds = v
  25332. return s
  25333. }
  25334. // Contains the output of DescribeVolumes.
  25335. type DescribeVolumesOutput struct {
  25336. _ struct{} `type:"structure"`
  25337. // The NextToken value to include in a future DescribeVolumes request. When
  25338. // the results of a DescribeVolumes request exceed MaxResults, this value can
  25339. // be used to retrieve the next page of results. This value is null when there
  25340. // are no more results to return.
  25341. NextToken *string `locationName:"nextToken" type:"string"`
  25342. // Information about the volumes.
  25343. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  25344. }
  25345. // String returns the string representation
  25346. func (s DescribeVolumesOutput) String() string {
  25347. return awsutil.Prettify(s)
  25348. }
  25349. // GoString returns the string representation
  25350. func (s DescribeVolumesOutput) GoString() string {
  25351. return s.String()
  25352. }
  25353. // SetNextToken sets the NextToken field's value.
  25354. func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
  25355. s.NextToken = &v
  25356. return s
  25357. }
  25358. // SetVolumes sets the Volumes field's value.
  25359. func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
  25360. s.Volumes = v
  25361. return s
  25362. }
  25363. // Contains the parameters for DescribeVpcAttribute.
  25364. type DescribeVpcAttributeInput struct {
  25365. _ struct{} `type:"structure"`
  25366. // The VPC attribute.
  25367. //
  25368. // Attribute is a required field
  25369. Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
  25370. // Checks whether you have the required permissions for the action, without
  25371. // actually making the request, and provides an error response. If you have
  25372. // the required permissions, the error response is DryRunOperation. Otherwise,
  25373. // it is UnauthorizedOperation.
  25374. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25375. // The ID of the VPC.
  25376. //
  25377. // VpcId is a required field
  25378. VpcId *string `type:"string" required:"true"`
  25379. }
  25380. // String returns the string representation
  25381. func (s DescribeVpcAttributeInput) String() string {
  25382. return awsutil.Prettify(s)
  25383. }
  25384. // GoString returns the string representation
  25385. func (s DescribeVpcAttributeInput) GoString() string {
  25386. return s.String()
  25387. }
  25388. // Validate inspects the fields of the type to determine if they are valid.
  25389. func (s *DescribeVpcAttributeInput) Validate() error {
  25390. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
  25391. if s.Attribute == nil {
  25392. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  25393. }
  25394. if s.VpcId == nil {
  25395. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  25396. }
  25397. if invalidParams.Len() > 0 {
  25398. return invalidParams
  25399. }
  25400. return nil
  25401. }
  25402. // SetAttribute sets the Attribute field's value.
  25403. func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
  25404. s.Attribute = &v
  25405. return s
  25406. }
  25407. // SetDryRun sets the DryRun field's value.
  25408. func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
  25409. s.DryRun = &v
  25410. return s
  25411. }
  25412. // SetVpcId sets the VpcId field's value.
  25413. func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
  25414. s.VpcId = &v
  25415. return s
  25416. }
  25417. // Contains the output of DescribeVpcAttribute.
  25418. type DescribeVpcAttributeOutput struct {
  25419. _ struct{} `type:"structure"`
  25420. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  25421. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  25422. // they do not.
  25423. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  25424. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  25425. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  25426. // to their corresponding IP addresses; otherwise, it does not.
  25427. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  25428. // The ID of the VPC.
  25429. VpcId *string `locationName:"vpcId" type:"string"`
  25430. }
  25431. // String returns the string representation
  25432. func (s DescribeVpcAttributeOutput) String() string {
  25433. return awsutil.Prettify(s)
  25434. }
  25435. // GoString returns the string representation
  25436. func (s DescribeVpcAttributeOutput) GoString() string {
  25437. return s.String()
  25438. }
  25439. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  25440. func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  25441. s.EnableDnsHostnames = v
  25442. return s
  25443. }
  25444. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  25445. func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  25446. s.EnableDnsSupport = v
  25447. return s
  25448. }
  25449. // SetVpcId sets the VpcId field's value.
  25450. func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
  25451. s.VpcId = &v
  25452. return s
  25453. }
  25454. // Contains the parameters for DescribeVpcClassicLinkDnsSupport.
  25455. type DescribeVpcClassicLinkDnsSupportInput struct {
  25456. _ struct{} `type:"structure"`
  25457. // The maximum number of items to return for this request. The request returns
  25458. // a token that you can specify in a subsequent call to get the next set of
  25459. // results.
  25460. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  25461. // The token for the next set of items to return. (You received this token from
  25462. // a prior call.)
  25463. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  25464. // One or more VPC IDs.
  25465. VpcIds []*string `locationNameList:"VpcId" type:"list"`
  25466. }
  25467. // String returns the string representation
  25468. func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
  25469. return awsutil.Prettify(s)
  25470. }
  25471. // GoString returns the string representation
  25472. func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
  25473. return s.String()
  25474. }
  25475. // Validate inspects the fields of the type to determine if they are valid.
  25476. func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
  25477. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
  25478. if s.MaxResults != nil && *s.MaxResults < 5 {
  25479. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  25480. }
  25481. if s.NextToken != nil && len(*s.NextToken) < 1 {
  25482. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  25483. }
  25484. if invalidParams.Len() > 0 {
  25485. return invalidParams
  25486. }
  25487. return nil
  25488. }
  25489. // SetMaxResults sets the MaxResults field's value.
  25490. func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
  25491. s.MaxResults = &v
  25492. return s
  25493. }
  25494. // SetNextToken sets the NextToken field's value.
  25495. func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
  25496. s.NextToken = &v
  25497. return s
  25498. }
  25499. // SetVpcIds sets the VpcIds field's value.
  25500. func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
  25501. s.VpcIds = v
  25502. return s
  25503. }
  25504. // Contains the output of DescribeVpcClassicLinkDnsSupport.
  25505. type DescribeVpcClassicLinkDnsSupportOutput struct {
  25506. _ struct{} `type:"structure"`
  25507. // The token to use when requesting the next set of items.
  25508. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  25509. // Information about the ClassicLink DNS support status of the VPCs.
  25510. Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
  25511. }
  25512. // String returns the string representation
  25513. func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
  25514. return awsutil.Prettify(s)
  25515. }
  25516. // GoString returns the string representation
  25517. func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
  25518. return s.String()
  25519. }
  25520. // SetNextToken sets the NextToken field's value.
  25521. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
  25522. s.NextToken = &v
  25523. return s
  25524. }
  25525. // SetVpcs sets the Vpcs field's value.
  25526. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
  25527. s.Vpcs = v
  25528. return s
  25529. }
  25530. // Contains the parameters for DescribeVpcClassicLink.
  25531. type DescribeVpcClassicLinkInput struct {
  25532. _ struct{} `type:"structure"`
  25533. // Checks whether you have the required permissions for the action, without
  25534. // actually making the request, and provides an error response. If you have
  25535. // the required permissions, the error response is DryRunOperation. Otherwise,
  25536. // it is UnauthorizedOperation.
  25537. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25538. // One or more filters.
  25539. //
  25540. // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
  25541. // (true | false).
  25542. //
  25543. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25544. //
  25545. // * tag-key - The key of a tag assigned to the resource. This filter is
  25546. // independent of the tag-value filter. For example, if you use both the
  25547. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25548. // assigned both the tag key Purpose (regardless of what the tag's value
  25549. // is), and the tag value X (regardless of what the tag's key is). If you
  25550. // want to list only resources where Purpose is X, see the tag:key=value
  25551. // filter.
  25552. //
  25553. // * tag-value - The value of a tag assigned to the resource. This filter
  25554. // is independent of the tag-key filter.
  25555. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25556. // One or more VPCs for which you want to describe the ClassicLink status.
  25557. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  25558. }
  25559. // String returns the string representation
  25560. func (s DescribeVpcClassicLinkInput) String() string {
  25561. return awsutil.Prettify(s)
  25562. }
  25563. // GoString returns the string representation
  25564. func (s DescribeVpcClassicLinkInput) GoString() string {
  25565. return s.String()
  25566. }
  25567. // SetDryRun sets the DryRun field's value.
  25568. func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
  25569. s.DryRun = &v
  25570. return s
  25571. }
  25572. // SetFilters sets the Filters field's value.
  25573. func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
  25574. s.Filters = v
  25575. return s
  25576. }
  25577. // SetVpcIds sets the VpcIds field's value.
  25578. func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
  25579. s.VpcIds = v
  25580. return s
  25581. }
  25582. // Contains the output of DescribeVpcClassicLink.
  25583. type DescribeVpcClassicLinkOutput struct {
  25584. _ struct{} `type:"structure"`
  25585. // The ClassicLink status of one or more VPCs.
  25586. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  25587. }
  25588. // String returns the string representation
  25589. func (s DescribeVpcClassicLinkOutput) String() string {
  25590. return awsutil.Prettify(s)
  25591. }
  25592. // GoString returns the string representation
  25593. func (s DescribeVpcClassicLinkOutput) GoString() string {
  25594. return s.String()
  25595. }
  25596. // SetVpcs sets the Vpcs field's value.
  25597. func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
  25598. s.Vpcs = v
  25599. return s
  25600. }
  25601. // Contains the parameters for DescribeVpcEndpointServices.
  25602. type DescribeVpcEndpointServicesInput struct {
  25603. _ struct{} `type:"structure"`
  25604. // Checks whether you have the required permissions for the action, without
  25605. // actually making the request, and provides an error response. If you have
  25606. // the required permissions, the error response is DryRunOperation. Otherwise,
  25607. // it is UnauthorizedOperation.
  25608. DryRun *bool `type:"boolean"`
  25609. // The maximum number of items to return for this request. The request returns
  25610. // a token that you can specify in a subsequent call to get the next set of
  25611. // results.
  25612. //
  25613. // Constraint: If the value is greater than 1000, we return only 1000 items.
  25614. MaxResults *int64 `type:"integer"`
  25615. // The token for the next set of items to return. (You received this token from
  25616. // a prior call.)
  25617. NextToken *string `type:"string"`
  25618. }
  25619. // String returns the string representation
  25620. func (s DescribeVpcEndpointServicesInput) String() string {
  25621. return awsutil.Prettify(s)
  25622. }
  25623. // GoString returns the string representation
  25624. func (s DescribeVpcEndpointServicesInput) GoString() string {
  25625. return s.String()
  25626. }
  25627. // SetDryRun sets the DryRun field's value.
  25628. func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
  25629. s.DryRun = &v
  25630. return s
  25631. }
  25632. // SetMaxResults sets the MaxResults field's value.
  25633. func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
  25634. s.MaxResults = &v
  25635. return s
  25636. }
  25637. // SetNextToken sets the NextToken field's value.
  25638. func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
  25639. s.NextToken = &v
  25640. return s
  25641. }
  25642. // Contains the output of DescribeVpcEndpointServices.
  25643. type DescribeVpcEndpointServicesOutput struct {
  25644. _ struct{} `type:"structure"`
  25645. // The token to use when requesting the next set of items. If there are no additional
  25646. // items to return, the string is empty.
  25647. NextToken *string `locationName:"nextToken" type:"string"`
  25648. // A list of supported AWS services.
  25649. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  25650. }
  25651. // String returns the string representation
  25652. func (s DescribeVpcEndpointServicesOutput) String() string {
  25653. return awsutil.Prettify(s)
  25654. }
  25655. // GoString returns the string representation
  25656. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  25657. return s.String()
  25658. }
  25659. // SetNextToken sets the NextToken field's value.
  25660. func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
  25661. s.NextToken = &v
  25662. return s
  25663. }
  25664. // SetServiceNames sets the ServiceNames field's value.
  25665. func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
  25666. s.ServiceNames = v
  25667. return s
  25668. }
  25669. // Contains the parameters for DescribeVpcEndpoints.
  25670. type DescribeVpcEndpointsInput struct {
  25671. _ struct{} `type:"structure"`
  25672. // Checks whether you have the required permissions for the action, without
  25673. // actually making the request, and provides an error response. If you have
  25674. // the required permissions, the error response is DryRunOperation. Otherwise,
  25675. // it is UnauthorizedOperation.
  25676. DryRun *bool `type:"boolean"`
  25677. // One or more filters.
  25678. //
  25679. // * service-name: The name of the AWS service.
  25680. //
  25681. // * vpc-id: The ID of the VPC in which the endpoint resides.
  25682. //
  25683. // * vpc-endpoint-id: The ID of the endpoint.
  25684. //
  25685. // * vpc-endpoint-state: The state of the endpoint. (pending | available
  25686. // | deleting | deleted)
  25687. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25688. // The maximum number of items to return for this request. The request returns
  25689. // a token that you can specify in a subsequent call to get the next set of
  25690. // results.
  25691. //
  25692. // Constraint: If the value is greater than 1000, we return only 1000 items.
  25693. MaxResults *int64 `type:"integer"`
  25694. // The token for the next set of items to return. (You received this token from
  25695. // a prior call.)
  25696. NextToken *string `type:"string"`
  25697. // One or more endpoint IDs.
  25698. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  25699. }
  25700. // String returns the string representation
  25701. func (s DescribeVpcEndpointsInput) String() string {
  25702. return awsutil.Prettify(s)
  25703. }
  25704. // GoString returns the string representation
  25705. func (s DescribeVpcEndpointsInput) GoString() string {
  25706. return s.String()
  25707. }
  25708. // SetDryRun sets the DryRun field's value.
  25709. func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
  25710. s.DryRun = &v
  25711. return s
  25712. }
  25713. // SetFilters sets the Filters field's value.
  25714. func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
  25715. s.Filters = v
  25716. return s
  25717. }
  25718. // SetMaxResults sets the MaxResults field's value.
  25719. func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
  25720. s.MaxResults = &v
  25721. return s
  25722. }
  25723. // SetNextToken sets the NextToken field's value.
  25724. func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
  25725. s.NextToken = &v
  25726. return s
  25727. }
  25728. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  25729. func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
  25730. s.VpcEndpointIds = v
  25731. return s
  25732. }
  25733. // Contains the output of DescribeVpcEndpoints.
  25734. type DescribeVpcEndpointsOutput struct {
  25735. _ struct{} `type:"structure"`
  25736. // The token to use when requesting the next set of items. If there are no additional
  25737. // items to return, the string is empty.
  25738. NextToken *string `locationName:"nextToken" type:"string"`
  25739. // Information about the endpoints.
  25740. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  25741. }
  25742. // String returns the string representation
  25743. func (s DescribeVpcEndpointsOutput) String() string {
  25744. return awsutil.Prettify(s)
  25745. }
  25746. // GoString returns the string representation
  25747. func (s DescribeVpcEndpointsOutput) GoString() string {
  25748. return s.String()
  25749. }
  25750. // SetNextToken sets the NextToken field's value.
  25751. func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
  25752. s.NextToken = &v
  25753. return s
  25754. }
  25755. // SetVpcEndpoints sets the VpcEndpoints field's value.
  25756. func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
  25757. s.VpcEndpoints = v
  25758. return s
  25759. }
  25760. // Contains the parameters for DescribeVpcPeeringConnections.
  25761. type DescribeVpcPeeringConnectionsInput struct {
  25762. _ struct{} `type:"structure"`
  25763. // Checks whether you have the required permissions for the action, without
  25764. // actually making the request, and provides an error response. If you have
  25765. // the required permissions, the error response is DryRunOperation. Otherwise,
  25766. // it is UnauthorizedOperation.
  25767. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25768. // One or more filters.
  25769. //
  25770. // * accepter-vpc-info.cidr-block - The CIDR block of the peer VPC.
  25771. //
  25772. // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
  25773. // peer VPC.
  25774. //
  25775. // * accepter-vpc-info.vpc-id - The ID of the peer VPC.
  25776. //
  25777. // * expiration-time - The expiration date and time for the VPC peering connection.
  25778. //
  25779. // * requester-vpc-info.cidr-block - The CIDR block of the requester's VPC.
  25780. //
  25781. // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
  25782. // requester VPC.
  25783. //
  25784. // * requester-vpc-info.vpc-id - The ID of the requester VPC.
  25785. //
  25786. // * status-code - The status of the VPC peering connection (pending-acceptance
  25787. // | failed | expired | provisioning | active | deleted | rejected).
  25788. //
  25789. // * status-message - A message that provides more information about the
  25790. // status of the VPC peering connection, if applicable.
  25791. //
  25792. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25793. //
  25794. // * tag-key - The key of a tag assigned to the resource. This filter is
  25795. // independent of the tag-value filter. For example, if you use both the
  25796. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25797. // assigned both the tag key Purpose (regardless of what the tag's value
  25798. // is), and the tag value X (regardless of what the tag's key is). If you
  25799. // want to list only resources where Purpose is X, see the tag:key=value
  25800. // filter.
  25801. //
  25802. // * tag-value - The value of a tag assigned to the resource. This filter
  25803. // is independent of the tag-key filter.
  25804. //
  25805. // * vpc-peering-connection-id - The ID of the VPC peering connection.
  25806. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25807. // One or more VPC peering connection IDs.
  25808. //
  25809. // Default: Describes all your VPC peering connections.
  25810. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  25811. }
  25812. // String returns the string representation
  25813. func (s DescribeVpcPeeringConnectionsInput) String() string {
  25814. return awsutil.Prettify(s)
  25815. }
  25816. // GoString returns the string representation
  25817. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  25818. return s.String()
  25819. }
  25820. // SetDryRun sets the DryRun field's value.
  25821. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
  25822. s.DryRun = &v
  25823. return s
  25824. }
  25825. // SetFilters sets the Filters field's value.
  25826. func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
  25827. s.Filters = v
  25828. return s
  25829. }
  25830. // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
  25831. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
  25832. s.VpcPeeringConnectionIds = v
  25833. return s
  25834. }
  25835. // Contains the output of DescribeVpcPeeringConnections.
  25836. type DescribeVpcPeeringConnectionsOutput struct {
  25837. _ struct{} `type:"structure"`
  25838. // Information about the VPC peering connections.
  25839. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  25840. }
  25841. // String returns the string representation
  25842. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  25843. return awsutil.Prettify(s)
  25844. }
  25845. // GoString returns the string representation
  25846. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  25847. return s.String()
  25848. }
  25849. // SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
  25850. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
  25851. s.VpcPeeringConnections = v
  25852. return s
  25853. }
  25854. // Contains the parameters for DescribeVpcs.
  25855. type DescribeVpcsInput struct {
  25856. _ struct{} `type:"structure"`
  25857. // Checks whether you have the required permissions for the action, without
  25858. // actually making the request, and provides an error response. If you have
  25859. // the required permissions, the error response is DryRunOperation. Otherwise,
  25860. // it is UnauthorizedOperation.
  25861. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25862. // One or more filters.
  25863. //
  25864. // * cidr - The CIDR block of the VPC. The CIDR block you specify must exactly
  25865. // match the VPC's CIDR block for information to be returned for the VPC.
  25866. // Must contain the slash followed by one or two digits (for example, /28).
  25867. //
  25868. // * dhcp-options-id - The ID of a set of DHCP options.
  25869. //
  25870. // * isDefault - Indicates whether the VPC is the default VPC.
  25871. //
  25872. // * state - The state of the VPC (pending | available).
  25873. //
  25874. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25875. //
  25876. // * tag-key - The key of a tag assigned to the resource. This filter is
  25877. // independent of the tag-value filter. For example, if you use both the
  25878. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25879. // assigned both the tag key Purpose (regardless of what the tag's value
  25880. // is), and the tag value X (regardless of what the tag's key is). If you
  25881. // want to list only resources where Purpose is X, see the tag:key=value
  25882. // filter.
  25883. //
  25884. // * tag-value - The value of a tag assigned to the resource. This filter
  25885. // is independent of the tag-key filter.
  25886. //
  25887. // * vpc-id - The ID of the VPC.
  25888. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25889. // One or more VPC IDs.
  25890. //
  25891. // Default: Describes all your VPCs.
  25892. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  25893. }
  25894. // String returns the string representation
  25895. func (s DescribeVpcsInput) String() string {
  25896. return awsutil.Prettify(s)
  25897. }
  25898. // GoString returns the string representation
  25899. func (s DescribeVpcsInput) GoString() string {
  25900. return s.String()
  25901. }
  25902. // SetDryRun sets the DryRun field's value.
  25903. func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
  25904. s.DryRun = &v
  25905. return s
  25906. }
  25907. // SetFilters sets the Filters field's value.
  25908. func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
  25909. s.Filters = v
  25910. return s
  25911. }
  25912. // SetVpcIds sets the VpcIds field's value.
  25913. func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
  25914. s.VpcIds = v
  25915. return s
  25916. }
  25917. // Contains the output of DescribeVpcs.
  25918. type DescribeVpcsOutput struct {
  25919. _ struct{} `type:"structure"`
  25920. // Information about one or more VPCs.
  25921. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  25922. }
  25923. // String returns the string representation
  25924. func (s DescribeVpcsOutput) String() string {
  25925. return awsutil.Prettify(s)
  25926. }
  25927. // GoString returns the string representation
  25928. func (s DescribeVpcsOutput) GoString() string {
  25929. return s.String()
  25930. }
  25931. // SetVpcs sets the Vpcs field's value.
  25932. func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
  25933. s.Vpcs = v
  25934. return s
  25935. }
  25936. // Contains the parameters for DescribeVpnConnections.
  25937. type DescribeVpnConnectionsInput struct {
  25938. _ struct{} `type:"structure"`
  25939. // Checks whether you have the required permissions for the action, without
  25940. // actually making the request, and provides an error response. If you have
  25941. // the required permissions, the error response is DryRunOperation. Otherwise,
  25942. // it is UnauthorizedOperation.
  25943. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25944. // One or more filters.
  25945. //
  25946. // * customer-gateway-configuration - The configuration information for the
  25947. // customer gateway.
  25948. //
  25949. // * customer-gateway-id - The ID of a customer gateway associated with the
  25950. // VPN connection.
  25951. //
  25952. // * state - The state of the VPN connection (pending | available | deleting
  25953. // | deleted).
  25954. //
  25955. // * option.static-routes-only - Indicates whether the connection has static
  25956. // routes only. Used for devices that do not support Border Gateway Protocol
  25957. // (BGP).
  25958. //
  25959. // * route.destination-cidr-block - The destination CIDR block. This corresponds
  25960. // to the subnet used in a customer data center.
  25961. //
  25962. // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  25963. // device.
  25964. //
  25965. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25966. //
  25967. // * tag-key - The key of a tag assigned to the resource. This filter is
  25968. // independent of the tag-value filter. For example, if you use both the
  25969. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25970. // assigned both the tag key Purpose (regardless of what the tag's value
  25971. // is), and the tag value X (regardless of what the tag's key is). If you
  25972. // want to list only resources where Purpose is X, see the tag:key=value
  25973. // filter.
  25974. //
  25975. // * tag-value - The value of a tag assigned to the resource. This filter
  25976. // is independent of the tag-key filter.
  25977. //
  25978. // * type - The type of VPN connection. Currently the only supported type
  25979. // is ipsec.1.
  25980. //
  25981. // * vpn-connection-id - The ID of the VPN connection.
  25982. //
  25983. // * vpn-gateway-id - The ID of a virtual private gateway associated with
  25984. // the VPN connection.
  25985. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25986. // One or more VPN connection IDs.
  25987. //
  25988. // Default: Describes your VPN connections.
  25989. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  25990. }
  25991. // String returns the string representation
  25992. func (s DescribeVpnConnectionsInput) String() string {
  25993. return awsutil.Prettify(s)
  25994. }
  25995. // GoString returns the string representation
  25996. func (s DescribeVpnConnectionsInput) GoString() string {
  25997. return s.String()
  25998. }
  25999. // SetDryRun sets the DryRun field's value.
  26000. func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
  26001. s.DryRun = &v
  26002. return s
  26003. }
  26004. // SetFilters sets the Filters field's value.
  26005. func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
  26006. s.Filters = v
  26007. return s
  26008. }
  26009. // SetVpnConnectionIds sets the VpnConnectionIds field's value.
  26010. func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
  26011. s.VpnConnectionIds = v
  26012. return s
  26013. }
  26014. // Contains the output of DescribeVpnConnections.
  26015. type DescribeVpnConnectionsOutput struct {
  26016. _ struct{} `type:"structure"`
  26017. // Information about one or more VPN connections.
  26018. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  26019. }
  26020. // String returns the string representation
  26021. func (s DescribeVpnConnectionsOutput) String() string {
  26022. return awsutil.Prettify(s)
  26023. }
  26024. // GoString returns the string representation
  26025. func (s DescribeVpnConnectionsOutput) GoString() string {
  26026. return s.String()
  26027. }
  26028. // SetVpnConnections sets the VpnConnections field's value.
  26029. func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
  26030. s.VpnConnections = v
  26031. return s
  26032. }
  26033. // Contains the parameters for DescribeVpnGateways.
  26034. type DescribeVpnGatewaysInput struct {
  26035. _ struct{} `type:"structure"`
  26036. // Checks whether you have the required permissions for the action, without
  26037. // actually making the request, and provides an error response. If you have
  26038. // the required permissions, the error response is DryRunOperation. Otherwise,
  26039. // it is UnauthorizedOperation.
  26040. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26041. // One or more filters.
  26042. //
  26043. // * attachment.state - The current state of the attachment between the gateway
  26044. // and the VPC (attaching | attached | detaching | detached).
  26045. //
  26046. // * attachment.vpc-id - The ID of an attached VPC.
  26047. //
  26048. // * availability-zone - The Availability Zone for the virtual private gateway
  26049. // (if applicable).
  26050. //
  26051. // * state - The state of the virtual private gateway (pending | available
  26052. // | deleting | deleted).
  26053. //
  26054. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  26055. //
  26056. // * tag-key - The key of a tag assigned to the resource. This filter is
  26057. // independent of the tag-value filter. For example, if you use both the
  26058. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  26059. // assigned both the tag key Purpose (regardless of what the tag's value
  26060. // is), and the tag value X (regardless of what the tag's key is). If you
  26061. // want to list only resources where Purpose is X, see the tag:key=value
  26062. // filter.
  26063. //
  26064. // * tag-value - The value of a tag assigned to the resource. This filter
  26065. // is independent of the tag-key filter.
  26066. //
  26067. // * type - The type of virtual private gateway. Currently the only supported
  26068. // type is ipsec.1.
  26069. //
  26070. // * vpn-gateway-id - The ID of the virtual private gateway.
  26071. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26072. // One or more virtual private gateway IDs.
  26073. //
  26074. // Default: Describes all your virtual private gateways.
  26075. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  26076. }
  26077. // String returns the string representation
  26078. func (s DescribeVpnGatewaysInput) String() string {
  26079. return awsutil.Prettify(s)
  26080. }
  26081. // GoString returns the string representation
  26082. func (s DescribeVpnGatewaysInput) GoString() string {
  26083. return s.String()
  26084. }
  26085. // SetDryRun sets the DryRun field's value.
  26086. func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
  26087. s.DryRun = &v
  26088. return s
  26089. }
  26090. // SetFilters sets the Filters field's value.
  26091. func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
  26092. s.Filters = v
  26093. return s
  26094. }
  26095. // SetVpnGatewayIds sets the VpnGatewayIds field's value.
  26096. func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
  26097. s.VpnGatewayIds = v
  26098. return s
  26099. }
  26100. // Contains the output of DescribeVpnGateways.
  26101. type DescribeVpnGatewaysOutput struct {
  26102. _ struct{} `type:"structure"`
  26103. // Information about one or more virtual private gateways.
  26104. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  26105. }
  26106. // String returns the string representation
  26107. func (s DescribeVpnGatewaysOutput) String() string {
  26108. return awsutil.Prettify(s)
  26109. }
  26110. // GoString returns the string representation
  26111. func (s DescribeVpnGatewaysOutput) GoString() string {
  26112. return s.String()
  26113. }
  26114. // SetVpnGateways sets the VpnGateways field's value.
  26115. func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
  26116. s.VpnGateways = v
  26117. return s
  26118. }
  26119. // Contains the parameters for DetachClassicLinkVpc.
  26120. type DetachClassicLinkVpcInput struct {
  26121. _ struct{} `type:"structure"`
  26122. // Checks whether you have the required permissions for the action, without
  26123. // actually making the request, and provides an error response. If you have
  26124. // the required permissions, the error response is DryRunOperation. Otherwise,
  26125. // it is UnauthorizedOperation.
  26126. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26127. // The ID of the instance to unlink from the VPC.
  26128. //
  26129. // InstanceId is a required field
  26130. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  26131. // The ID of the VPC to which the instance is linked.
  26132. //
  26133. // VpcId is a required field
  26134. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  26135. }
  26136. // String returns the string representation
  26137. func (s DetachClassicLinkVpcInput) String() string {
  26138. return awsutil.Prettify(s)
  26139. }
  26140. // GoString returns the string representation
  26141. func (s DetachClassicLinkVpcInput) GoString() string {
  26142. return s.String()
  26143. }
  26144. // Validate inspects the fields of the type to determine if they are valid.
  26145. func (s *DetachClassicLinkVpcInput) Validate() error {
  26146. invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
  26147. if s.InstanceId == nil {
  26148. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  26149. }
  26150. if s.VpcId == nil {
  26151. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26152. }
  26153. if invalidParams.Len() > 0 {
  26154. return invalidParams
  26155. }
  26156. return nil
  26157. }
  26158. // SetDryRun sets the DryRun field's value.
  26159. func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
  26160. s.DryRun = &v
  26161. return s
  26162. }
  26163. // SetInstanceId sets the InstanceId field's value.
  26164. func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
  26165. s.InstanceId = &v
  26166. return s
  26167. }
  26168. // SetVpcId sets the VpcId field's value.
  26169. func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
  26170. s.VpcId = &v
  26171. return s
  26172. }
  26173. // Contains the output of DetachClassicLinkVpc.
  26174. type DetachClassicLinkVpcOutput struct {
  26175. _ struct{} `type:"structure"`
  26176. // Returns true if the request succeeds; otherwise, it returns an error.
  26177. Return *bool `locationName:"return" type:"boolean"`
  26178. }
  26179. // String returns the string representation
  26180. func (s DetachClassicLinkVpcOutput) String() string {
  26181. return awsutil.Prettify(s)
  26182. }
  26183. // GoString returns the string representation
  26184. func (s DetachClassicLinkVpcOutput) GoString() string {
  26185. return s.String()
  26186. }
  26187. // SetReturn sets the Return field's value.
  26188. func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
  26189. s.Return = &v
  26190. return s
  26191. }
  26192. // Contains the parameters for DetachInternetGateway.
  26193. type DetachInternetGatewayInput struct {
  26194. _ struct{} `type:"structure"`
  26195. // Checks whether you have the required permissions for the action, without
  26196. // actually making the request, and provides an error response. If you have
  26197. // the required permissions, the error response is DryRunOperation. Otherwise,
  26198. // it is UnauthorizedOperation.
  26199. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26200. // The ID of the Internet gateway.
  26201. //
  26202. // InternetGatewayId is a required field
  26203. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  26204. // The ID of the VPC.
  26205. //
  26206. // VpcId is a required field
  26207. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  26208. }
  26209. // String returns the string representation
  26210. func (s DetachInternetGatewayInput) String() string {
  26211. return awsutil.Prettify(s)
  26212. }
  26213. // GoString returns the string representation
  26214. func (s DetachInternetGatewayInput) GoString() string {
  26215. return s.String()
  26216. }
  26217. // Validate inspects the fields of the type to determine if they are valid.
  26218. func (s *DetachInternetGatewayInput) Validate() error {
  26219. invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
  26220. if s.InternetGatewayId == nil {
  26221. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  26222. }
  26223. if s.VpcId == nil {
  26224. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26225. }
  26226. if invalidParams.Len() > 0 {
  26227. return invalidParams
  26228. }
  26229. return nil
  26230. }
  26231. // SetDryRun sets the DryRun field's value.
  26232. func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
  26233. s.DryRun = &v
  26234. return s
  26235. }
  26236. // SetInternetGatewayId sets the InternetGatewayId field's value.
  26237. func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
  26238. s.InternetGatewayId = &v
  26239. return s
  26240. }
  26241. // SetVpcId sets the VpcId field's value.
  26242. func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
  26243. s.VpcId = &v
  26244. return s
  26245. }
  26246. type DetachInternetGatewayOutput struct {
  26247. _ struct{} `type:"structure"`
  26248. }
  26249. // String returns the string representation
  26250. func (s DetachInternetGatewayOutput) String() string {
  26251. return awsutil.Prettify(s)
  26252. }
  26253. // GoString returns the string representation
  26254. func (s DetachInternetGatewayOutput) GoString() string {
  26255. return s.String()
  26256. }
  26257. // Contains the parameters for DetachNetworkInterface.
  26258. type DetachNetworkInterfaceInput struct {
  26259. _ struct{} `type:"structure"`
  26260. // The ID of the attachment.
  26261. //
  26262. // AttachmentId is a required field
  26263. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  26264. // Checks whether you have the required permissions for the action, without
  26265. // actually making the request, and provides an error response. If you have
  26266. // the required permissions, the error response is DryRunOperation. Otherwise,
  26267. // it is UnauthorizedOperation.
  26268. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26269. // Specifies whether to force a detachment.
  26270. Force *bool `locationName:"force" type:"boolean"`
  26271. }
  26272. // String returns the string representation
  26273. func (s DetachNetworkInterfaceInput) String() string {
  26274. return awsutil.Prettify(s)
  26275. }
  26276. // GoString returns the string representation
  26277. func (s DetachNetworkInterfaceInput) GoString() string {
  26278. return s.String()
  26279. }
  26280. // Validate inspects the fields of the type to determine if they are valid.
  26281. func (s *DetachNetworkInterfaceInput) Validate() error {
  26282. invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
  26283. if s.AttachmentId == nil {
  26284. invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  26285. }
  26286. if invalidParams.Len() > 0 {
  26287. return invalidParams
  26288. }
  26289. return nil
  26290. }
  26291. // SetAttachmentId sets the AttachmentId field's value.
  26292. func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
  26293. s.AttachmentId = &v
  26294. return s
  26295. }
  26296. // SetDryRun sets the DryRun field's value.
  26297. func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
  26298. s.DryRun = &v
  26299. return s
  26300. }
  26301. // SetForce sets the Force field's value.
  26302. func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
  26303. s.Force = &v
  26304. return s
  26305. }
  26306. type DetachNetworkInterfaceOutput struct {
  26307. _ struct{} `type:"structure"`
  26308. }
  26309. // String returns the string representation
  26310. func (s DetachNetworkInterfaceOutput) String() string {
  26311. return awsutil.Prettify(s)
  26312. }
  26313. // GoString returns the string representation
  26314. func (s DetachNetworkInterfaceOutput) GoString() string {
  26315. return s.String()
  26316. }
  26317. // Contains the parameters for DetachVolume.
  26318. type DetachVolumeInput struct {
  26319. _ struct{} `type:"structure"`
  26320. // The device name.
  26321. Device *string `type:"string"`
  26322. // Checks whether you have the required permissions for the action, without
  26323. // actually making the request, and provides an error response. If you have
  26324. // the required permissions, the error response is DryRunOperation. Otherwise,
  26325. // it is UnauthorizedOperation.
  26326. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26327. // Forces detachment if the previous detachment attempt did not occur cleanly
  26328. // (for example, logging into an instance, unmounting the volume, and detaching
  26329. // normally). This option can lead to data loss or a corrupted file system.
  26330. // Use this option only as a last resort to detach a volume from a failed instance.
  26331. // The instance won't have an opportunity to flush file system caches or file
  26332. // system metadata. If you use this option, you must perform file system check
  26333. // and repair procedures.
  26334. Force *bool `type:"boolean"`
  26335. // The ID of the instance.
  26336. InstanceId *string `type:"string"`
  26337. // The ID of the volume.
  26338. //
  26339. // VolumeId is a required field
  26340. VolumeId *string `type:"string" required:"true"`
  26341. }
  26342. // String returns the string representation
  26343. func (s DetachVolumeInput) String() string {
  26344. return awsutil.Prettify(s)
  26345. }
  26346. // GoString returns the string representation
  26347. func (s DetachVolumeInput) GoString() string {
  26348. return s.String()
  26349. }
  26350. // Validate inspects the fields of the type to determine if they are valid.
  26351. func (s *DetachVolumeInput) Validate() error {
  26352. invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
  26353. if s.VolumeId == nil {
  26354. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  26355. }
  26356. if invalidParams.Len() > 0 {
  26357. return invalidParams
  26358. }
  26359. return nil
  26360. }
  26361. // SetDevice sets the Device field's value.
  26362. func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
  26363. s.Device = &v
  26364. return s
  26365. }
  26366. // SetDryRun sets the DryRun field's value.
  26367. func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
  26368. s.DryRun = &v
  26369. return s
  26370. }
  26371. // SetForce sets the Force field's value.
  26372. func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
  26373. s.Force = &v
  26374. return s
  26375. }
  26376. // SetInstanceId sets the InstanceId field's value.
  26377. func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
  26378. s.InstanceId = &v
  26379. return s
  26380. }
  26381. // SetVolumeId sets the VolumeId field's value.
  26382. func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
  26383. s.VolumeId = &v
  26384. return s
  26385. }
  26386. // Contains the parameters for DetachVpnGateway.
  26387. type DetachVpnGatewayInput struct {
  26388. _ struct{} `type:"structure"`
  26389. // Checks whether you have the required permissions for the action, without
  26390. // actually making the request, and provides an error response. If you have
  26391. // the required permissions, the error response is DryRunOperation. Otherwise,
  26392. // it is UnauthorizedOperation.
  26393. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26394. // The ID of the VPC.
  26395. //
  26396. // VpcId is a required field
  26397. VpcId *string `type:"string" required:"true"`
  26398. // The ID of the virtual private gateway.
  26399. //
  26400. // VpnGatewayId is a required field
  26401. VpnGatewayId *string `type:"string" required:"true"`
  26402. }
  26403. // String returns the string representation
  26404. func (s DetachVpnGatewayInput) String() string {
  26405. return awsutil.Prettify(s)
  26406. }
  26407. // GoString returns the string representation
  26408. func (s DetachVpnGatewayInput) GoString() string {
  26409. return s.String()
  26410. }
  26411. // Validate inspects the fields of the type to determine if they are valid.
  26412. func (s *DetachVpnGatewayInput) Validate() error {
  26413. invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
  26414. if s.VpcId == nil {
  26415. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26416. }
  26417. if s.VpnGatewayId == nil {
  26418. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  26419. }
  26420. if invalidParams.Len() > 0 {
  26421. return invalidParams
  26422. }
  26423. return nil
  26424. }
  26425. // SetDryRun sets the DryRun field's value.
  26426. func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
  26427. s.DryRun = &v
  26428. return s
  26429. }
  26430. // SetVpcId sets the VpcId field's value.
  26431. func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
  26432. s.VpcId = &v
  26433. return s
  26434. }
  26435. // SetVpnGatewayId sets the VpnGatewayId field's value.
  26436. func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
  26437. s.VpnGatewayId = &v
  26438. return s
  26439. }
  26440. type DetachVpnGatewayOutput struct {
  26441. _ struct{} `type:"structure"`
  26442. }
  26443. // String returns the string representation
  26444. func (s DetachVpnGatewayOutput) String() string {
  26445. return awsutil.Prettify(s)
  26446. }
  26447. // GoString returns the string representation
  26448. func (s DetachVpnGatewayOutput) GoString() string {
  26449. return s.String()
  26450. }
  26451. // Describes a DHCP configuration option.
  26452. type DhcpConfiguration struct {
  26453. _ struct{} `type:"structure"`
  26454. // The name of a DHCP option.
  26455. Key *string `locationName:"key" type:"string"`
  26456. // One or more values for the DHCP option.
  26457. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  26458. }
  26459. // String returns the string representation
  26460. func (s DhcpConfiguration) String() string {
  26461. return awsutil.Prettify(s)
  26462. }
  26463. // GoString returns the string representation
  26464. func (s DhcpConfiguration) GoString() string {
  26465. return s.String()
  26466. }
  26467. // SetKey sets the Key field's value.
  26468. func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
  26469. s.Key = &v
  26470. return s
  26471. }
  26472. // SetValues sets the Values field's value.
  26473. func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
  26474. s.Values = v
  26475. return s
  26476. }
  26477. // Describes a set of DHCP options.
  26478. type DhcpOptions struct {
  26479. _ struct{} `type:"structure"`
  26480. // One or more DHCP options in the set.
  26481. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  26482. // The ID of the set of DHCP options.
  26483. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  26484. // Any tags assigned to the DHCP options set.
  26485. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  26486. }
  26487. // String returns the string representation
  26488. func (s DhcpOptions) String() string {
  26489. return awsutil.Prettify(s)
  26490. }
  26491. // GoString returns the string representation
  26492. func (s DhcpOptions) GoString() string {
  26493. return s.String()
  26494. }
  26495. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  26496. func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
  26497. s.DhcpConfigurations = v
  26498. return s
  26499. }
  26500. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  26501. func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
  26502. s.DhcpOptionsId = &v
  26503. return s
  26504. }
  26505. // SetTags sets the Tags field's value.
  26506. func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
  26507. s.Tags = v
  26508. return s
  26509. }
  26510. // Contains the parameters for DisableVgwRoutePropagation.
  26511. type DisableVgwRoutePropagationInput struct {
  26512. _ struct{} `type:"structure"`
  26513. // The ID of the virtual private gateway.
  26514. //
  26515. // GatewayId is a required field
  26516. GatewayId *string `type:"string" required:"true"`
  26517. // The ID of the route table.
  26518. //
  26519. // RouteTableId is a required field
  26520. RouteTableId *string `type:"string" required:"true"`
  26521. }
  26522. // String returns the string representation
  26523. func (s DisableVgwRoutePropagationInput) String() string {
  26524. return awsutil.Prettify(s)
  26525. }
  26526. // GoString returns the string representation
  26527. func (s DisableVgwRoutePropagationInput) GoString() string {
  26528. return s.String()
  26529. }
  26530. // Validate inspects the fields of the type to determine if they are valid.
  26531. func (s *DisableVgwRoutePropagationInput) Validate() error {
  26532. invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
  26533. if s.GatewayId == nil {
  26534. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  26535. }
  26536. if s.RouteTableId == nil {
  26537. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  26538. }
  26539. if invalidParams.Len() > 0 {
  26540. return invalidParams
  26541. }
  26542. return nil
  26543. }
  26544. // SetGatewayId sets the GatewayId field's value.
  26545. func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
  26546. s.GatewayId = &v
  26547. return s
  26548. }
  26549. // SetRouteTableId sets the RouteTableId field's value.
  26550. func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
  26551. s.RouteTableId = &v
  26552. return s
  26553. }
  26554. type DisableVgwRoutePropagationOutput struct {
  26555. _ struct{} `type:"structure"`
  26556. }
  26557. // String returns the string representation
  26558. func (s DisableVgwRoutePropagationOutput) String() string {
  26559. return awsutil.Prettify(s)
  26560. }
  26561. // GoString returns the string representation
  26562. func (s DisableVgwRoutePropagationOutput) GoString() string {
  26563. return s.String()
  26564. }
  26565. // Contains the parameters for DisableVpcClassicLinkDnsSupport.
  26566. type DisableVpcClassicLinkDnsSupportInput struct {
  26567. _ struct{} `type:"structure"`
  26568. // The ID of the VPC.
  26569. VpcId *string `type:"string"`
  26570. }
  26571. // String returns the string representation
  26572. func (s DisableVpcClassicLinkDnsSupportInput) String() string {
  26573. return awsutil.Prettify(s)
  26574. }
  26575. // GoString returns the string representation
  26576. func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
  26577. return s.String()
  26578. }
  26579. // SetVpcId sets the VpcId field's value.
  26580. func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
  26581. s.VpcId = &v
  26582. return s
  26583. }
  26584. // Contains the output of DisableVpcClassicLinkDnsSupport.
  26585. type DisableVpcClassicLinkDnsSupportOutput struct {
  26586. _ struct{} `type:"structure"`
  26587. // Returns true if the request succeeds; otherwise, it returns an error.
  26588. Return *bool `locationName:"return" type:"boolean"`
  26589. }
  26590. // String returns the string representation
  26591. func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
  26592. return awsutil.Prettify(s)
  26593. }
  26594. // GoString returns the string representation
  26595. func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
  26596. return s.String()
  26597. }
  26598. // SetReturn sets the Return field's value.
  26599. func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
  26600. s.Return = &v
  26601. return s
  26602. }
  26603. // Contains the parameters for DisableVpcClassicLink.
  26604. type DisableVpcClassicLinkInput struct {
  26605. _ struct{} `type:"structure"`
  26606. // Checks whether you have the required permissions for the action, without
  26607. // actually making the request, and provides an error response. If you have
  26608. // the required permissions, the error response is DryRunOperation. Otherwise,
  26609. // it is UnauthorizedOperation.
  26610. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26611. // The ID of the VPC.
  26612. //
  26613. // VpcId is a required field
  26614. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  26615. }
  26616. // String returns the string representation
  26617. func (s DisableVpcClassicLinkInput) String() string {
  26618. return awsutil.Prettify(s)
  26619. }
  26620. // GoString returns the string representation
  26621. func (s DisableVpcClassicLinkInput) GoString() string {
  26622. return s.String()
  26623. }
  26624. // Validate inspects the fields of the type to determine if they are valid.
  26625. func (s *DisableVpcClassicLinkInput) Validate() error {
  26626. invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
  26627. if s.VpcId == nil {
  26628. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  26629. }
  26630. if invalidParams.Len() > 0 {
  26631. return invalidParams
  26632. }
  26633. return nil
  26634. }
  26635. // SetDryRun sets the DryRun field's value.
  26636. func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
  26637. s.DryRun = &v
  26638. return s
  26639. }
  26640. // SetVpcId sets the VpcId field's value.
  26641. func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
  26642. s.VpcId = &v
  26643. return s
  26644. }
  26645. // Contains the output of DisableVpcClassicLink.
  26646. type DisableVpcClassicLinkOutput struct {
  26647. _ struct{} `type:"structure"`
  26648. // Returns true if the request succeeds; otherwise, it returns an error.
  26649. Return *bool `locationName:"return" type:"boolean"`
  26650. }
  26651. // String returns the string representation
  26652. func (s DisableVpcClassicLinkOutput) String() string {
  26653. return awsutil.Prettify(s)
  26654. }
  26655. // GoString returns the string representation
  26656. func (s DisableVpcClassicLinkOutput) GoString() string {
  26657. return s.String()
  26658. }
  26659. // SetReturn sets the Return field's value.
  26660. func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
  26661. s.Return = &v
  26662. return s
  26663. }
  26664. // Contains the parameters for DisassociateAddress.
  26665. type DisassociateAddressInput struct {
  26666. _ struct{} `type:"structure"`
  26667. // [EC2-VPC] The association ID. Required for EC2-VPC.
  26668. AssociationId *string `type:"string"`
  26669. // Checks whether you have the required permissions for the action, without
  26670. // actually making the request, and provides an error response. If you have
  26671. // the required permissions, the error response is DryRunOperation. Otherwise,
  26672. // it is UnauthorizedOperation.
  26673. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26674. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  26675. PublicIp *string `type:"string"`
  26676. }
  26677. // String returns the string representation
  26678. func (s DisassociateAddressInput) String() string {
  26679. return awsutil.Prettify(s)
  26680. }
  26681. // GoString returns the string representation
  26682. func (s DisassociateAddressInput) GoString() string {
  26683. return s.String()
  26684. }
  26685. // SetAssociationId sets the AssociationId field's value.
  26686. func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
  26687. s.AssociationId = &v
  26688. return s
  26689. }
  26690. // SetDryRun sets the DryRun field's value.
  26691. func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
  26692. s.DryRun = &v
  26693. return s
  26694. }
  26695. // SetPublicIp sets the PublicIp field's value.
  26696. func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
  26697. s.PublicIp = &v
  26698. return s
  26699. }
  26700. type DisassociateAddressOutput struct {
  26701. _ struct{} `type:"structure"`
  26702. }
  26703. // String returns the string representation
  26704. func (s DisassociateAddressOutput) String() string {
  26705. return awsutil.Prettify(s)
  26706. }
  26707. // GoString returns the string representation
  26708. func (s DisassociateAddressOutput) GoString() string {
  26709. return s.String()
  26710. }
  26711. // Contains the parameters for DisassociateRouteTable.
  26712. type DisassociateRouteTableInput struct {
  26713. _ struct{} `type:"structure"`
  26714. // The association ID representing the current association between the route
  26715. // table and subnet.
  26716. //
  26717. // AssociationId is a required field
  26718. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  26719. // Checks whether you have the required permissions for the action, without
  26720. // actually making the request, and provides an error response. If you have
  26721. // the required permissions, the error response is DryRunOperation. Otherwise,
  26722. // it is UnauthorizedOperation.
  26723. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26724. }
  26725. // String returns the string representation
  26726. func (s DisassociateRouteTableInput) String() string {
  26727. return awsutil.Prettify(s)
  26728. }
  26729. // GoString returns the string representation
  26730. func (s DisassociateRouteTableInput) GoString() string {
  26731. return s.String()
  26732. }
  26733. // Validate inspects the fields of the type to determine if they are valid.
  26734. func (s *DisassociateRouteTableInput) Validate() error {
  26735. invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
  26736. if s.AssociationId == nil {
  26737. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  26738. }
  26739. if invalidParams.Len() > 0 {
  26740. return invalidParams
  26741. }
  26742. return nil
  26743. }
  26744. // SetAssociationId sets the AssociationId field's value.
  26745. func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
  26746. s.AssociationId = &v
  26747. return s
  26748. }
  26749. // SetDryRun sets the DryRun field's value.
  26750. func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
  26751. s.DryRun = &v
  26752. return s
  26753. }
  26754. type DisassociateRouteTableOutput struct {
  26755. _ struct{} `type:"structure"`
  26756. }
  26757. // String returns the string representation
  26758. func (s DisassociateRouteTableOutput) String() string {
  26759. return awsutil.Prettify(s)
  26760. }
  26761. // GoString returns the string representation
  26762. func (s DisassociateRouteTableOutput) GoString() string {
  26763. return s.String()
  26764. }
  26765. // Describes a disk image.
  26766. type DiskImage struct {
  26767. _ struct{} `type:"structure"`
  26768. // A description of the disk image.
  26769. Description *string `type:"string"`
  26770. // Information about the disk image.
  26771. Image *DiskImageDetail `type:"structure"`
  26772. // Information about the volume.
  26773. Volume *VolumeDetail `type:"structure"`
  26774. }
  26775. // String returns the string representation
  26776. func (s DiskImage) String() string {
  26777. return awsutil.Prettify(s)
  26778. }
  26779. // GoString returns the string representation
  26780. func (s DiskImage) GoString() string {
  26781. return s.String()
  26782. }
  26783. // Validate inspects the fields of the type to determine if they are valid.
  26784. func (s *DiskImage) Validate() error {
  26785. invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
  26786. if s.Image != nil {
  26787. if err := s.Image.Validate(); err != nil {
  26788. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  26789. }
  26790. }
  26791. if s.Volume != nil {
  26792. if err := s.Volume.Validate(); err != nil {
  26793. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  26794. }
  26795. }
  26796. if invalidParams.Len() > 0 {
  26797. return invalidParams
  26798. }
  26799. return nil
  26800. }
  26801. // SetDescription sets the Description field's value.
  26802. func (s *DiskImage) SetDescription(v string) *DiskImage {
  26803. s.Description = &v
  26804. return s
  26805. }
  26806. // SetImage sets the Image field's value.
  26807. func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
  26808. s.Image = v
  26809. return s
  26810. }
  26811. // SetVolume sets the Volume field's value.
  26812. func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
  26813. s.Volume = v
  26814. return s
  26815. }
  26816. // Describes a disk image.
  26817. type DiskImageDescription struct {
  26818. _ struct{} `type:"structure"`
  26819. // The checksum computed for the disk image.
  26820. Checksum *string `locationName:"checksum" type:"string"`
  26821. // The disk image format.
  26822. //
  26823. // Format is a required field
  26824. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  26825. // A presigned URL for the import manifest stored in Amazon S3. For information
  26826. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  26827. // Request Authentication Alternative" section of the Authenticating REST Requests
  26828. // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  26829. // topic in the Amazon Simple Storage Service Developer Guide.
  26830. //
  26831. // For information about the import manifest referenced by this API action,
  26832. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  26833. //
  26834. // ImportManifestUrl is a required field
  26835. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  26836. // The size of the disk image, in GiB.
  26837. //
  26838. // Size is a required field
  26839. Size *int64 `locationName:"size" type:"long" required:"true"`
  26840. }
  26841. // String returns the string representation
  26842. func (s DiskImageDescription) String() string {
  26843. return awsutil.Prettify(s)
  26844. }
  26845. // GoString returns the string representation
  26846. func (s DiskImageDescription) GoString() string {
  26847. return s.String()
  26848. }
  26849. // SetChecksum sets the Checksum field's value.
  26850. func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
  26851. s.Checksum = &v
  26852. return s
  26853. }
  26854. // SetFormat sets the Format field's value.
  26855. func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
  26856. s.Format = &v
  26857. return s
  26858. }
  26859. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  26860. func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
  26861. s.ImportManifestUrl = &v
  26862. return s
  26863. }
  26864. // SetSize sets the Size field's value.
  26865. func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
  26866. s.Size = &v
  26867. return s
  26868. }
  26869. // Describes a disk image.
  26870. type DiskImageDetail struct {
  26871. _ struct{} `type:"structure"`
  26872. // The size of the disk image, in GiB.
  26873. //
  26874. // Bytes is a required field
  26875. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  26876. // The disk image format.
  26877. //
  26878. // Format is a required field
  26879. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  26880. // A presigned URL for the import manifest stored in Amazon S3 and presented
  26881. // here as an Amazon S3 presigned URL. For information about creating a presigned
  26882. // URL for an Amazon S3 object, read the "Query String Request Authentication
  26883. // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  26884. // topic in the Amazon Simple Storage Service Developer Guide.
  26885. //
  26886. // For information about the import manifest referenced by this API action,
  26887. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  26888. //
  26889. // ImportManifestUrl is a required field
  26890. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  26891. }
  26892. // String returns the string representation
  26893. func (s DiskImageDetail) String() string {
  26894. return awsutil.Prettify(s)
  26895. }
  26896. // GoString returns the string representation
  26897. func (s DiskImageDetail) GoString() string {
  26898. return s.String()
  26899. }
  26900. // Validate inspects the fields of the type to determine if they are valid.
  26901. func (s *DiskImageDetail) Validate() error {
  26902. invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
  26903. if s.Bytes == nil {
  26904. invalidParams.Add(request.NewErrParamRequired("Bytes"))
  26905. }
  26906. if s.Format == nil {
  26907. invalidParams.Add(request.NewErrParamRequired("Format"))
  26908. }
  26909. if s.ImportManifestUrl == nil {
  26910. invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
  26911. }
  26912. if invalidParams.Len() > 0 {
  26913. return invalidParams
  26914. }
  26915. return nil
  26916. }
  26917. // SetBytes sets the Bytes field's value.
  26918. func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
  26919. s.Bytes = &v
  26920. return s
  26921. }
  26922. // SetFormat sets the Format field's value.
  26923. func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
  26924. s.Format = &v
  26925. return s
  26926. }
  26927. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  26928. func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
  26929. s.ImportManifestUrl = &v
  26930. return s
  26931. }
  26932. // Describes a disk image volume.
  26933. type DiskImageVolumeDescription struct {
  26934. _ struct{} `type:"structure"`
  26935. // The volume identifier.
  26936. //
  26937. // Id is a required field
  26938. Id *string `locationName:"id" type:"string" required:"true"`
  26939. // The size of the volume, in GiB.
  26940. Size *int64 `locationName:"size" type:"long"`
  26941. }
  26942. // String returns the string representation
  26943. func (s DiskImageVolumeDescription) String() string {
  26944. return awsutil.Prettify(s)
  26945. }
  26946. // GoString returns the string representation
  26947. func (s DiskImageVolumeDescription) GoString() string {
  26948. return s.String()
  26949. }
  26950. // SetId sets the Id field's value.
  26951. func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
  26952. s.Id = &v
  26953. return s
  26954. }
  26955. // SetSize sets the Size field's value.
  26956. func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
  26957. s.Size = &v
  26958. return s
  26959. }
  26960. // Describes a block device for an EBS volume.
  26961. type EbsBlockDevice struct {
  26962. _ struct{} `type:"structure"`
  26963. // Indicates whether the EBS volume is deleted on instance termination.
  26964. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  26965. // Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes
  26966. // may only be attached to instances that support Amazon EBS encryption.
  26967. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  26968. // The number of I/O operations per second (IOPS) that the volume supports.
  26969. // For io1, this represents the number of IOPS that are provisioned for the
  26970. // volume. For gp2, this represents the baseline performance of the volume and
  26971. // the rate at which the volume accumulates I/O credits for bursting. For more
  26972. // information about General Purpose SSD baseline performance, I/O credits,
  26973. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  26974. // in the Amazon Elastic Compute Cloud User Guide.
  26975. //
  26976. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  26977. // gp2 volumes.
  26978. //
  26979. // Condition: This parameter is required for requests to create io1 volumes;
  26980. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  26981. Iops *int64 `locationName:"iops" type:"integer"`
  26982. // The ID of the snapshot.
  26983. SnapshotId *string `locationName:"snapshotId" type:"string"`
  26984. // The size of the volume, in GiB.
  26985. //
  26986. // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
  26987. // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
  26988. // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
  26989. // a snapshot, the volume size must be equal to or larger than the snapshot
  26990. // size.
  26991. //
  26992. // Default: If you're creating the volume from a snapshot and don't specify
  26993. // a volume size, the default is the snapshot size.
  26994. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  26995. // The volume type: gp2, io1, st1, sc1, or standard.
  26996. //
  26997. // Default: standard
  26998. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  26999. }
  27000. // String returns the string representation
  27001. func (s EbsBlockDevice) String() string {
  27002. return awsutil.Prettify(s)
  27003. }
  27004. // GoString returns the string representation
  27005. func (s EbsBlockDevice) GoString() string {
  27006. return s.String()
  27007. }
  27008. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  27009. func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
  27010. s.DeleteOnTermination = &v
  27011. return s
  27012. }
  27013. // SetEncrypted sets the Encrypted field's value.
  27014. func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
  27015. s.Encrypted = &v
  27016. return s
  27017. }
  27018. // SetIops sets the Iops field's value.
  27019. func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
  27020. s.Iops = &v
  27021. return s
  27022. }
  27023. // SetSnapshotId sets the SnapshotId field's value.
  27024. func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
  27025. s.SnapshotId = &v
  27026. return s
  27027. }
  27028. // SetVolumeSize sets the VolumeSize field's value.
  27029. func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
  27030. s.VolumeSize = &v
  27031. return s
  27032. }
  27033. // SetVolumeType sets the VolumeType field's value.
  27034. func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
  27035. s.VolumeType = &v
  27036. return s
  27037. }
  27038. // Describes a parameter used to set up an EBS volume in a block device mapping.
  27039. type EbsInstanceBlockDevice struct {
  27040. _ struct{} `type:"structure"`
  27041. // The time stamp when the attachment initiated.
  27042. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  27043. // Indicates whether the volume is deleted on instance termination.
  27044. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  27045. // The attachment state.
  27046. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  27047. // The ID of the EBS volume.
  27048. VolumeId *string `locationName:"volumeId" type:"string"`
  27049. }
  27050. // String returns the string representation
  27051. func (s EbsInstanceBlockDevice) String() string {
  27052. return awsutil.Prettify(s)
  27053. }
  27054. // GoString returns the string representation
  27055. func (s EbsInstanceBlockDevice) GoString() string {
  27056. return s.String()
  27057. }
  27058. // SetAttachTime sets the AttachTime field's value.
  27059. func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
  27060. s.AttachTime = &v
  27061. return s
  27062. }
  27063. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  27064. func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
  27065. s.DeleteOnTermination = &v
  27066. return s
  27067. }
  27068. // SetStatus sets the Status field's value.
  27069. func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
  27070. s.Status = &v
  27071. return s
  27072. }
  27073. // SetVolumeId sets the VolumeId field's value.
  27074. func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
  27075. s.VolumeId = &v
  27076. return s
  27077. }
  27078. // Describes information used to set up an EBS volume specified in a block device
  27079. // mapping.
  27080. type EbsInstanceBlockDeviceSpecification struct {
  27081. _ struct{} `type:"structure"`
  27082. // Indicates whether the volume is deleted on instance termination.
  27083. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  27084. // The ID of the EBS volume.
  27085. VolumeId *string `locationName:"volumeId" type:"string"`
  27086. }
  27087. // String returns the string representation
  27088. func (s EbsInstanceBlockDeviceSpecification) String() string {
  27089. return awsutil.Prettify(s)
  27090. }
  27091. // GoString returns the string representation
  27092. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  27093. return s.String()
  27094. }
  27095. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  27096. func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
  27097. s.DeleteOnTermination = &v
  27098. return s
  27099. }
  27100. // SetVolumeId sets the VolumeId field's value.
  27101. func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
  27102. s.VolumeId = &v
  27103. return s
  27104. }
  27105. // Contains the parameters for EnableVgwRoutePropagation.
  27106. type EnableVgwRoutePropagationInput struct {
  27107. _ struct{} `type:"structure"`
  27108. // The ID of the virtual private gateway.
  27109. //
  27110. // GatewayId is a required field
  27111. GatewayId *string `type:"string" required:"true"`
  27112. // The ID of the route table.
  27113. //
  27114. // RouteTableId is a required field
  27115. RouteTableId *string `type:"string" required:"true"`
  27116. }
  27117. // String returns the string representation
  27118. func (s EnableVgwRoutePropagationInput) String() string {
  27119. return awsutil.Prettify(s)
  27120. }
  27121. // GoString returns the string representation
  27122. func (s EnableVgwRoutePropagationInput) GoString() string {
  27123. return s.String()
  27124. }
  27125. // Validate inspects the fields of the type to determine if they are valid.
  27126. func (s *EnableVgwRoutePropagationInput) Validate() error {
  27127. invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
  27128. if s.GatewayId == nil {
  27129. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  27130. }
  27131. if s.RouteTableId == nil {
  27132. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  27133. }
  27134. if invalidParams.Len() > 0 {
  27135. return invalidParams
  27136. }
  27137. return nil
  27138. }
  27139. // SetGatewayId sets the GatewayId field's value.
  27140. func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
  27141. s.GatewayId = &v
  27142. return s
  27143. }
  27144. // SetRouteTableId sets the RouteTableId field's value.
  27145. func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
  27146. s.RouteTableId = &v
  27147. return s
  27148. }
  27149. type EnableVgwRoutePropagationOutput struct {
  27150. _ struct{} `type:"structure"`
  27151. }
  27152. // String returns the string representation
  27153. func (s EnableVgwRoutePropagationOutput) String() string {
  27154. return awsutil.Prettify(s)
  27155. }
  27156. // GoString returns the string representation
  27157. func (s EnableVgwRoutePropagationOutput) GoString() string {
  27158. return s.String()
  27159. }
  27160. // Contains the parameters for EnableVolumeIO.
  27161. type EnableVolumeIOInput struct {
  27162. _ struct{} `type:"structure"`
  27163. // Checks whether you have the required permissions for the action, without
  27164. // actually making the request, and provides an error response. If you have
  27165. // the required permissions, the error response is DryRunOperation. Otherwise,
  27166. // it is UnauthorizedOperation.
  27167. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27168. // The ID of the volume.
  27169. //
  27170. // VolumeId is a required field
  27171. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  27172. }
  27173. // String returns the string representation
  27174. func (s EnableVolumeIOInput) String() string {
  27175. return awsutil.Prettify(s)
  27176. }
  27177. // GoString returns the string representation
  27178. func (s EnableVolumeIOInput) GoString() string {
  27179. return s.String()
  27180. }
  27181. // Validate inspects the fields of the type to determine if they are valid.
  27182. func (s *EnableVolumeIOInput) Validate() error {
  27183. invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
  27184. if s.VolumeId == nil {
  27185. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  27186. }
  27187. if invalidParams.Len() > 0 {
  27188. return invalidParams
  27189. }
  27190. return nil
  27191. }
  27192. // SetDryRun sets the DryRun field's value.
  27193. func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
  27194. s.DryRun = &v
  27195. return s
  27196. }
  27197. // SetVolumeId sets the VolumeId field's value.
  27198. func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
  27199. s.VolumeId = &v
  27200. return s
  27201. }
  27202. type EnableVolumeIOOutput struct {
  27203. _ struct{} `type:"structure"`
  27204. }
  27205. // String returns the string representation
  27206. func (s EnableVolumeIOOutput) String() string {
  27207. return awsutil.Prettify(s)
  27208. }
  27209. // GoString returns the string representation
  27210. func (s EnableVolumeIOOutput) GoString() string {
  27211. return s.String()
  27212. }
  27213. // Contains the parameters for EnableVpcClassicLinkDnsSupport.
  27214. type EnableVpcClassicLinkDnsSupportInput struct {
  27215. _ struct{} `type:"structure"`
  27216. // The ID of the VPC.
  27217. VpcId *string `type:"string"`
  27218. }
  27219. // String returns the string representation
  27220. func (s EnableVpcClassicLinkDnsSupportInput) String() string {
  27221. return awsutil.Prettify(s)
  27222. }
  27223. // GoString returns the string representation
  27224. func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
  27225. return s.String()
  27226. }
  27227. // SetVpcId sets the VpcId field's value.
  27228. func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
  27229. s.VpcId = &v
  27230. return s
  27231. }
  27232. // Contains the output of EnableVpcClassicLinkDnsSupport.
  27233. type EnableVpcClassicLinkDnsSupportOutput struct {
  27234. _ struct{} `type:"structure"`
  27235. // Returns true if the request succeeds; otherwise, it returns an error.
  27236. Return *bool `locationName:"return" type:"boolean"`
  27237. }
  27238. // String returns the string representation
  27239. func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
  27240. return awsutil.Prettify(s)
  27241. }
  27242. // GoString returns the string representation
  27243. func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
  27244. return s.String()
  27245. }
  27246. // SetReturn sets the Return field's value.
  27247. func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
  27248. s.Return = &v
  27249. return s
  27250. }
  27251. // Contains the parameters for EnableVpcClassicLink.
  27252. type EnableVpcClassicLinkInput struct {
  27253. _ struct{} `type:"structure"`
  27254. // Checks whether you have the required permissions for the action, without
  27255. // actually making the request, and provides an error response. If you have
  27256. // the required permissions, the error response is DryRunOperation. Otherwise,
  27257. // it is UnauthorizedOperation.
  27258. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27259. // The ID of the VPC.
  27260. //
  27261. // VpcId is a required field
  27262. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  27263. }
  27264. // String returns the string representation
  27265. func (s EnableVpcClassicLinkInput) String() string {
  27266. return awsutil.Prettify(s)
  27267. }
  27268. // GoString returns the string representation
  27269. func (s EnableVpcClassicLinkInput) GoString() string {
  27270. return s.String()
  27271. }
  27272. // Validate inspects the fields of the type to determine if they are valid.
  27273. func (s *EnableVpcClassicLinkInput) Validate() error {
  27274. invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
  27275. if s.VpcId == nil {
  27276. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  27277. }
  27278. if invalidParams.Len() > 0 {
  27279. return invalidParams
  27280. }
  27281. return nil
  27282. }
  27283. // SetDryRun sets the DryRun field's value.
  27284. func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
  27285. s.DryRun = &v
  27286. return s
  27287. }
  27288. // SetVpcId sets the VpcId field's value.
  27289. func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
  27290. s.VpcId = &v
  27291. return s
  27292. }
  27293. // Contains the output of EnableVpcClassicLink.
  27294. type EnableVpcClassicLinkOutput struct {
  27295. _ struct{} `type:"structure"`
  27296. // Returns true if the request succeeds; otherwise, it returns an error.
  27297. Return *bool `locationName:"return" type:"boolean"`
  27298. }
  27299. // String returns the string representation
  27300. func (s EnableVpcClassicLinkOutput) String() string {
  27301. return awsutil.Prettify(s)
  27302. }
  27303. // GoString returns the string representation
  27304. func (s EnableVpcClassicLinkOutput) GoString() string {
  27305. return s.String()
  27306. }
  27307. // SetReturn sets the Return field's value.
  27308. func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
  27309. s.Return = &v
  27310. return s
  27311. }
  27312. // Describes a Spot fleet event.
  27313. type EventInformation struct {
  27314. _ struct{} `type:"structure"`
  27315. // The description of the event.
  27316. EventDescription *string `locationName:"eventDescription" type:"string"`
  27317. // The event.
  27318. //
  27319. // The following are the error events.
  27320. //
  27321. // * iamFleetRoleInvalid - The Spot fleet did not have the required permissions
  27322. // either to launch or terminate an instance.
  27323. //
  27324. // * launchSpecTemporarilyBlacklisted - The configuration is not valid and
  27325. // several attempts to launch instances have failed. For more information,
  27326. // see the description of the event.
  27327. //
  27328. // * spotFleetRequestConfigurationInvalid - The configuration is not valid.
  27329. // For more information, see the description of the event.
  27330. //
  27331. // * spotInstanceCountLimitExceeded - You've reached the limit on the number
  27332. // of Spot instances that you can launch.
  27333. //
  27334. // The following are the fleetRequestChange events.
  27335. //
  27336. // * active - The Spot fleet has been validated and Amazon EC2 is attempting
  27337. // to maintain the target number of running Spot instances.
  27338. //
  27339. // * cancelled - The Spot fleet is canceled and has no running Spot instances.
  27340. // The Spot fleet will be deleted two days after its instances were terminated.
  27341. //
  27342. // * cancelled_running - The Spot fleet is canceled and will not launch additional
  27343. // Spot instances, but its existing Spot instances continue to run until
  27344. // they are interrupted or terminated.
  27345. //
  27346. // * cancelled_terminating - The Spot fleet is canceled and its Spot instances
  27347. // are terminating.
  27348. //
  27349. // * expired - The Spot fleet request has expired. A subsequent event indicates
  27350. // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
  27351. // set.
  27352. //
  27353. // * modify_in_progress - A request to modify the Spot fleet request was
  27354. // accepted and is in progress.
  27355. //
  27356. // * modify_successful - The Spot fleet request was modified.
  27357. //
  27358. // * price_update - The bid price for a launch configuration was adjusted
  27359. // because it was too high. This change is permanent.
  27360. //
  27361. // * submitted - The Spot fleet request is being evaluated and Amazon EC2
  27362. // is preparing to launch the target number of Spot instances.
  27363. //
  27364. // The following are the instanceChange events.
  27365. //
  27366. // * launched - A bid was fulfilled and a new instance was launched.
  27367. //
  27368. // * terminated - An instance was terminated by the user.
  27369. EventSubType *string `locationName:"eventSubType" type:"string"`
  27370. // The ID of the instance. This information is available only for instanceChange
  27371. // events.
  27372. InstanceId *string `locationName:"instanceId" type:"string"`
  27373. }
  27374. // String returns the string representation
  27375. func (s EventInformation) String() string {
  27376. return awsutil.Prettify(s)
  27377. }
  27378. // GoString returns the string representation
  27379. func (s EventInformation) GoString() string {
  27380. return s.String()
  27381. }
  27382. // SetEventDescription sets the EventDescription field's value.
  27383. func (s *EventInformation) SetEventDescription(v string) *EventInformation {
  27384. s.EventDescription = &v
  27385. return s
  27386. }
  27387. // SetEventSubType sets the EventSubType field's value.
  27388. func (s *EventInformation) SetEventSubType(v string) *EventInformation {
  27389. s.EventSubType = &v
  27390. return s
  27391. }
  27392. // SetInstanceId sets the InstanceId field's value.
  27393. func (s *EventInformation) SetInstanceId(v string) *EventInformation {
  27394. s.InstanceId = &v
  27395. return s
  27396. }
  27397. // Describes an instance export task.
  27398. type ExportTask struct {
  27399. _ struct{} `type:"structure"`
  27400. // A description of the resource being exported.
  27401. Description *string `locationName:"description" type:"string"`
  27402. // The ID of the export task.
  27403. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  27404. // Information about the export task.
  27405. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  27406. // Information about the instance to export.
  27407. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  27408. // The state of the export task.
  27409. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  27410. // The status message related to the export task.
  27411. StatusMessage *string `locationName:"statusMessage" type:"string"`
  27412. }
  27413. // String returns the string representation
  27414. func (s ExportTask) String() string {
  27415. return awsutil.Prettify(s)
  27416. }
  27417. // GoString returns the string representation
  27418. func (s ExportTask) GoString() string {
  27419. return s.String()
  27420. }
  27421. // SetDescription sets the Description field's value.
  27422. func (s *ExportTask) SetDescription(v string) *ExportTask {
  27423. s.Description = &v
  27424. return s
  27425. }
  27426. // SetExportTaskId sets the ExportTaskId field's value.
  27427. func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
  27428. s.ExportTaskId = &v
  27429. return s
  27430. }
  27431. // SetExportToS3Task sets the ExportToS3Task field's value.
  27432. func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
  27433. s.ExportToS3Task = v
  27434. return s
  27435. }
  27436. // SetInstanceExportDetails sets the InstanceExportDetails field's value.
  27437. func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
  27438. s.InstanceExportDetails = v
  27439. return s
  27440. }
  27441. // SetState sets the State field's value.
  27442. func (s *ExportTask) SetState(v string) *ExportTask {
  27443. s.State = &v
  27444. return s
  27445. }
  27446. // SetStatusMessage sets the StatusMessage field's value.
  27447. func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
  27448. s.StatusMessage = &v
  27449. return s
  27450. }
  27451. // Describes the format and location for an instance export task.
  27452. type ExportToS3Task struct {
  27453. _ struct{} `type:"structure"`
  27454. // The container format used to combine disk images with metadata (such as OVF).
  27455. // If absent, only the disk image is exported.
  27456. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  27457. // The format for the exported image.
  27458. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  27459. // The S3 bucket for the destination image. The destination bucket must exist
  27460. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  27461. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  27462. // The encryption key for your S3 bucket.
  27463. S3Key *string `locationName:"s3Key" type:"string"`
  27464. }
  27465. // String returns the string representation
  27466. func (s ExportToS3Task) String() string {
  27467. return awsutil.Prettify(s)
  27468. }
  27469. // GoString returns the string representation
  27470. func (s ExportToS3Task) GoString() string {
  27471. return s.String()
  27472. }
  27473. // SetContainerFormat sets the ContainerFormat field's value.
  27474. func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
  27475. s.ContainerFormat = &v
  27476. return s
  27477. }
  27478. // SetDiskImageFormat sets the DiskImageFormat field's value.
  27479. func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
  27480. s.DiskImageFormat = &v
  27481. return s
  27482. }
  27483. // SetS3Bucket sets the S3Bucket field's value.
  27484. func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
  27485. s.S3Bucket = &v
  27486. return s
  27487. }
  27488. // SetS3Key sets the S3Key field's value.
  27489. func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
  27490. s.S3Key = &v
  27491. return s
  27492. }
  27493. // Describes an instance export task.
  27494. type ExportToS3TaskSpecification struct {
  27495. _ struct{} `type:"structure"`
  27496. // The container format used to combine disk images with metadata (such as OVF).
  27497. // If absent, only the disk image is exported.
  27498. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  27499. // The format for the exported image.
  27500. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  27501. // The S3 bucket for the destination image. The destination bucket must exist
  27502. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  27503. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  27504. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  27505. // + exportTaskId + '.' + diskImageFormat.
  27506. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  27507. }
  27508. // String returns the string representation
  27509. func (s ExportToS3TaskSpecification) String() string {
  27510. return awsutil.Prettify(s)
  27511. }
  27512. // GoString returns the string representation
  27513. func (s ExportToS3TaskSpecification) GoString() string {
  27514. return s.String()
  27515. }
  27516. // SetContainerFormat sets the ContainerFormat field's value.
  27517. func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
  27518. s.ContainerFormat = &v
  27519. return s
  27520. }
  27521. // SetDiskImageFormat sets the DiskImageFormat field's value.
  27522. func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
  27523. s.DiskImageFormat = &v
  27524. return s
  27525. }
  27526. // SetS3Bucket sets the S3Bucket field's value.
  27527. func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
  27528. s.S3Bucket = &v
  27529. return s
  27530. }
  27531. // SetS3Prefix sets the S3Prefix field's value.
  27532. func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
  27533. s.S3Prefix = &v
  27534. return s
  27535. }
  27536. // A filter name and value pair that is used to return a more specific list
  27537. // of results. Filters can be used to match a set of resources by various criteria,
  27538. // such as tags, attributes, or IDs.
  27539. type Filter struct {
  27540. _ struct{} `type:"structure"`
  27541. // The name of the filter. Filter names are case-sensitive.
  27542. Name *string `type:"string"`
  27543. // One or more filter values. Filter values are case-sensitive.
  27544. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  27545. }
  27546. // String returns the string representation
  27547. func (s Filter) String() string {
  27548. return awsutil.Prettify(s)
  27549. }
  27550. // GoString returns the string representation
  27551. func (s Filter) GoString() string {
  27552. return s.String()
  27553. }
  27554. // SetName sets the Name field's value.
  27555. func (s *Filter) SetName(v string) *Filter {
  27556. s.Name = &v
  27557. return s
  27558. }
  27559. // SetValues sets the Values field's value.
  27560. func (s *Filter) SetValues(v []*string) *Filter {
  27561. s.Values = v
  27562. return s
  27563. }
  27564. // Describes a flow log.
  27565. type FlowLog struct {
  27566. _ struct{} `type:"structure"`
  27567. // The date and time the flow log was created.
  27568. CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  27569. // Information about the error that occurred. Rate limited indicates that CloudWatch
  27570. // logs throttling has been applied for one or more network interfaces, or that
  27571. // you've reached the limit on the number of CloudWatch Logs log groups that
  27572. // you can create. Access error indicates that the IAM role associated with
  27573. // the flow log does not have sufficient permissions to publish to CloudWatch
  27574. // Logs. Unknown error indicates an internal error.
  27575. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  27576. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  27577. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  27578. // The status of the logs delivery (SUCCESS | FAILED).
  27579. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  27580. // The flow log ID.
  27581. FlowLogId *string `locationName:"flowLogId" type:"string"`
  27582. // The status of the flow log (ACTIVE).
  27583. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  27584. // The name of the flow log group.
  27585. LogGroupName *string `locationName:"logGroupName" type:"string"`
  27586. // The ID of the resource on which the flow log was created.
  27587. ResourceId *string `locationName:"resourceId" type:"string"`
  27588. // The type of traffic captured for the flow log.
  27589. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  27590. }
  27591. // String returns the string representation
  27592. func (s FlowLog) String() string {
  27593. return awsutil.Prettify(s)
  27594. }
  27595. // GoString returns the string representation
  27596. func (s FlowLog) GoString() string {
  27597. return s.String()
  27598. }
  27599. // SetCreationTime sets the CreationTime field's value.
  27600. func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
  27601. s.CreationTime = &v
  27602. return s
  27603. }
  27604. // SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
  27605. func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
  27606. s.DeliverLogsErrorMessage = &v
  27607. return s
  27608. }
  27609. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  27610. func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
  27611. s.DeliverLogsPermissionArn = &v
  27612. return s
  27613. }
  27614. // SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
  27615. func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
  27616. s.DeliverLogsStatus = &v
  27617. return s
  27618. }
  27619. // SetFlowLogId sets the FlowLogId field's value.
  27620. func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
  27621. s.FlowLogId = &v
  27622. return s
  27623. }
  27624. // SetFlowLogStatus sets the FlowLogStatus field's value.
  27625. func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
  27626. s.FlowLogStatus = &v
  27627. return s
  27628. }
  27629. // SetLogGroupName sets the LogGroupName field's value.
  27630. func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
  27631. s.LogGroupName = &v
  27632. return s
  27633. }
  27634. // SetResourceId sets the ResourceId field's value.
  27635. func (s *FlowLog) SetResourceId(v string) *FlowLog {
  27636. s.ResourceId = &v
  27637. return s
  27638. }
  27639. // SetTrafficType sets the TrafficType field's value.
  27640. func (s *FlowLog) SetTrafficType(v string) *FlowLog {
  27641. s.TrafficType = &v
  27642. return s
  27643. }
  27644. // Contains the parameters for GetConsoleOutput.
  27645. type GetConsoleOutputInput struct {
  27646. _ struct{} `type:"structure"`
  27647. // Checks whether you have the required permissions for the action, without
  27648. // actually making the request, and provides an error response. If you have
  27649. // the required permissions, the error response is DryRunOperation. Otherwise,
  27650. // it is UnauthorizedOperation.
  27651. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27652. // The ID of the instance.
  27653. //
  27654. // InstanceId is a required field
  27655. InstanceId *string `type:"string" required:"true"`
  27656. }
  27657. // String returns the string representation
  27658. func (s GetConsoleOutputInput) String() string {
  27659. return awsutil.Prettify(s)
  27660. }
  27661. // GoString returns the string representation
  27662. func (s GetConsoleOutputInput) GoString() string {
  27663. return s.String()
  27664. }
  27665. // Validate inspects the fields of the type to determine if they are valid.
  27666. func (s *GetConsoleOutputInput) Validate() error {
  27667. invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
  27668. if s.InstanceId == nil {
  27669. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  27670. }
  27671. if invalidParams.Len() > 0 {
  27672. return invalidParams
  27673. }
  27674. return nil
  27675. }
  27676. // SetDryRun sets the DryRun field's value.
  27677. func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
  27678. s.DryRun = &v
  27679. return s
  27680. }
  27681. // SetInstanceId sets the InstanceId field's value.
  27682. func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
  27683. s.InstanceId = &v
  27684. return s
  27685. }
  27686. // Contains the output of GetConsoleOutput.
  27687. type GetConsoleOutputOutput struct {
  27688. _ struct{} `type:"structure"`
  27689. // The ID of the instance.
  27690. InstanceId *string `locationName:"instanceId" type:"string"`
  27691. // The console output, Base64-encoded. If using a command line tool, the tool
  27692. // decodes the output for you.
  27693. Output *string `locationName:"output" type:"string"`
  27694. // The time the output was last updated.
  27695. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  27696. }
  27697. // String returns the string representation
  27698. func (s GetConsoleOutputOutput) String() string {
  27699. return awsutil.Prettify(s)
  27700. }
  27701. // GoString returns the string representation
  27702. func (s GetConsoleOutputOutput) GoString() string {
  27703. return s.String()
  27704. }
  27705. // SetInstanceId sets the InstanceId field's value.
  27706. func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
  27707. s.InstanceId = &v
  27708. return s
  27709. }
  27710. // SetOutput sets the Output field's value.
  27711. func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
  27712. s.Output = &v
  27713. return s
  27714. }
  27715. // SetTimestamp sets the Timestamp field's value.
  27716. func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
  27717. s.Timestamp = &v
  27718. return s
  27719. }
  27720. // Contains the parameters for the request.
  27721. type GetConsoleScreenshotInput struct {
  27722. _ struct{} `type:"structure"`
  27723. // Checks whether you have the required permissions for the action, without
  27724. // actually making the request, and provides an error response. If you have
  27725. // the required permissions, the error response is DryRunOperation. Otherwise,
  27726. // it is UnauthorizedOperation.
  27727. DryRun *bool `type:"boolean"`
  27728. // The ID of the instance.
  27729. //
  27730. // InstanceId is a required field
  27731. InstanceId *string `type:"string" required:"true"`
  27732. // When set to true, acts as keystroke input and wakes up an instance that's
  27733. // in standby or "sleep" mode.
  27734. WakeUp *bool `type:"boolean"`
  27735. }
  27736. // String returns the string representation
  27737. func (s GetConsoleScreenshotInput) String() string {
  27738. return awsutil.Prettify(s)
  27739. }
  27740. // GoString returns the string representation
  27741. func (s GetConsoleScreenshotInput) GoString() string {
  27742. return s.String()
  27743. }
  27744. // Validate inspects the fields of the type to determine if they are valid.
  27745. func (s *GetConsoleScreenshotInput) Validate() error {
  27746. invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
  27747. if s.InstanceId == nil {
  27748. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  27749. }
  27750. if invalidParams.Len() > 0 {
  27751. return invalidParams
  27752. }
  27753. return nil
  27754. }
  27755. // SetDryRun sets the DryRun field's value.
  27756. func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
  27757. s.DryRun = &v
  27758. return s
  27759. }
  27760. // SetInstanceId sets the InstanceId field's value.
  27761. func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
  27762. s.InstanceId = &v
  27763. return s
  27764. }
  27765. // SetWakeUp sets the WakeUp field's value.
  27766. func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
  27767. s.WakeUp = &v
  27768. return s
  27769. }
  27770. // Contains the output of the request.
  27771. type GetConsoleScreenshotOutput struct {
  27772. _ struct{} `type:"structure"`
  27773. // The data that comprises the image.
  27774. ImageData *string `locationName:"imageData" type:"string"`
  27775. // The ID of the instance.
  27776. InstanceId *string `locationName:"instanceId" type:"string"`
  27777. }
  27778. // String returns the string representation
  27779. func (s GetConsoleScreenshotOutput) String() string {
  27780. return awsutil.Prettify(s)
  27781. }
  27782. // GoString returns the string representation
  27783. func (s GetConsoleScreenshotOutput) GoString() string {
  27784. return s.String()
  27785. }
  27786. // SetImageData sets the ImageData field's value.
  27787. func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
  27788. s.ImageData = &v
  27789. return s
  27790. }
  27791. // SetInstanceId sets the InstanceId field's value.
  27792. func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
  27793. s.InstanceId = &v
  27794. return s
  27795. }
  27796. type GetHostReservationPurchasePreviewInput struct {
  27797. _ struct{} `type:"structure"`
  27798. // The ID/s of the Dedicated Host/s that the reservation will be associated
  27799. // with.
  27800. //
  27801. // HostIdSet is a required field
  27802. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  27803. // The offering ID of the reservation.
  27804. //
  27805. // OfferingId is a required field
  27806. OfferingId *string `type:"string" required:"true"`
  27807. }
  27808. // String returns the string representation
  27809. func (s GetHostReservationPurchasePreviewInput) String() string {
  27810. return awsutil.Prettify(s)
  27811. }
  27812. // GoString returns the string representation
  27813. func (s GetHostReservationPurchasePreviewInput) GoString() string {
  27814. return s.String()
  27815. }
  27816. // Validate inspects the fields of the type to determine if they are valid.
  27817. func (s *GetHostReservationPurchasePreviewInput) Validate() error {
  27818. invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
  27819. if s.HostIdSet == nil {
  27820. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  27821. }
  27822. if s.OfferingId == nil {
  27823. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  27824. }
  27825. if invalidParams.Len() > 0 {
  27826. return invalidParams
  27827. }
  27828. return nil
  27829. }
  27830. // SetHostIdSet sets the HostIdSet field's value.
  27831. func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
  27832. s.HostIdSet = v
  27833. return s
  27834. }
  27835. // SetOfferingId sets the OfferingId field's value.
  27836. func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
  27837. s.OfferingId = &v
  27838. return s
  27839. }
  27840. type GetHostReservationPurchasePreviewOutput struct {
  27841. _ struct{} `type:"structure"`
  27842. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  27843. // are specified. At this time, the only supported currency is USD.
  27844. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  27845. // The purchase information of the Dedicated Host Reservation and the Dedicated
  27846. // Hosts associated with it.
  27847. Purchase []*Purchase `locationName:"purchase" type:"list"`
  27848. // The potential total hourly price of the reservation per hour.
  27849. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  27850. // The potential total upfront price. This is billed immediately.
  27851. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  27852. }
  27853. // String returns the string representation
  27854. func (s GetHostReservationPurchasePreviewOutput) String() string {
  27855. return awsutil.Prettify(s)
  27856. }
  27857. // GoString returns the string representation
  27858. func (s GetHostReservationPurchasePreviewOutput) GoString() string {
  27859. return s.String()
  27860. }
  27861. // SetCurrencyCode sets the CurrencyCode field's value.
  27862. func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
  27863. s.CurrencyCode = &v
  27864. return s
  27865. }
  27866. // SetPurchase sets the Purchase field's value.
  27867. func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
  27868. s.Purchase = v
  27869. return s
  27870. }
  27871. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  27872. func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
  27873. s.TotalHourlyPrice = &v
  27874. return s
  27875. }
  27876. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  27877. func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
  27878. s.TotalUpfrontPrice = &v
  27879. return s
  27880. }
  27881. // Contains the parameters for GetPasswordData.
  27882. type GetPasswordDataInput struct {
  27883. _ struct{} `type:"structure"`
  27884. // Checks whether you have the required permissions for the action, without
  27885. // actually making the request, and provides an error response. If you have
  27886. // the required permissions, the error response is DryRunOperation. Otherwise,
  27887. // it is UnauthorizedOperation.
  27888. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27889. // The ID of the Windows instance.
  27890. //
  27891. // InstanceId is a required field
  27892. InstanceId *string `type:"string" required:"true"`
  27893. }
  27894. // String returns the string representation
  27895. func (s GetPasswordDataInput) String() string {
  27896. return awsutil.Prettify(s)
  27897. }
  27898. // GoString returns the string representation
  27899. func (s GetPasswordDataInput) GoString() string {
  27900. return s.String()
  27901. }
  27902. // Validate inspects the fields of the type to determine if they are valid.
  27903. func (s *GetPasswordDataInput) Validate() error {
  27904. invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
  27905. if s.InstanceId == nil {
  27906. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  27907. }
  27908. if invalidParams.Len() > 0 {
  27909. return invalidParams
  27910. }
  27911. return nil
  27912. }
  27913. // SetDryRun sets the DryRun field's value.
  27914. func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
  27915. s.DryRun = &v
  27916. return s
  27917. }
  27918. // SetInstanceId sets the InstanceId field's value.
  27919. func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
  27920. s.InstanceId = &v
  27921. return s
  27922. }
  27923. // Contains the output of GetPasswordData.
  27924. type GetPasswordDataOutput struct {
  27925. _ struct{} `type:"structure"`
  27926. // The ID of the Windows instance.
  27927. InstanceId *string `locationName:"instanceId" type:"string"`
  27928. // The password of the instance.
  27929. PasswordData *string `locationName:"passwordData" type:"string"`
  27930. // The time the data was last updated.
  27931. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  27932. }
  27933. // String returns the string representation
  27934. func (s GetPasswordDataOutput) String() string {
  27935. return awsutil.Prettify(s)
  27936. }
  27937. // GoString returns the string representation
  27938. func (s GetPasswordDataOutput) GoString() string {
  27939. return s.String()
  27940. }
  27941. // SetInstanceId sets the InstanceId field's value.
  27942. func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
  27943. s.InstanceId = &v
  27944. return s
  27945. }
  27946. // SetPasswordData sets the PasswordData field's value.
  27947. func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
  27948. s.PasswordData = &v
  27949. return s
  27950. }
  27951. // SetTimestamp sets the Timestamp field's value.
  27952. func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
  27953. s.Timestamp = &v
  27954. return s
  27955. }
  27956. // Contains the parameters for GetReservedInstanceExchangeQuote.
  27957. type GetReservedInstancesExchangeQuoteInput struct {
  27958. _ struct{} `type:"structure"`
  27959. // Checks whether you have the required permissions for the action, without
  27960. // actually making the request, and provides an error response. If you have
  27961. // the required permissions, the error response is DryRunOperation. Otherwise,
  27962. // it is UnauthorizedOperation.
  27963. DryRun *bool `type:"boolean"`
  27964. // The ID/s of the Convertible Reserved Instances you want to exchange.
  27965. //
  27966. // ReservedInstanceIds is a required field
  27967. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  27968. // The configuration requirements of the Convertible Reserved Instances you
  27969. // want in exchange for your current Convertible Reserved Instances.
  27970. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  27971. }
  27972. // String returns the string representation
  27973. func (s GetReservedInstancesExchangeQuoteInput) String() string {
  27974. return awsutil.Prettify(s)
  27975. }
  27976. // GoString returns the string representation
  27977. func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
  27978. return s.String()
  27979. }
  27980. // Validate inspects the fields of the type to determine if they are valid.
  27981. func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
  27982. invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
  27983. if s.ReservedInstanceIds == nil {
  27984. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  27985. }
  27986. if s.TargetConfigurations != nil {
  27987. for i, v := range s.TargetConfigurations {
  27988. if v == nil {
  27989. continue
  27990. }
  27991. if err := v.Validate(); err != nil {
  27992. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  27993. }
  27994. }
  27995. }
  27996. if invalidParams.Len() > 0 {
  27997. return invalidParams
  27998. }
  27999. return nil
  28000. }
  28001. // SetDryRun sets the DryRun field's value.
  28002. func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
  28003. s.DryRun = &v
  28004. return s
  28005. }
  28006. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  28007. func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
  28008. s.ReservedInstanceIds = v
  28009. return s
  28010. }
  28011. // SetTargetConfigurations sets the TargetConfigurations field's value.
  28012. func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
  28013. s.TargetConfigurations = v
  28014. return s
  28015. }
  28016. // Contains the output of GetReservedInstancesExchangeQuote.
  28017. type GetReservedInstancesExchangeQuoteOutput struct {
  28018. _ struct{} `type:"structure"`
  28019. // The currency of the transaction.
  28020. CurrencyCode *string `locationName:"currencyCode" type:"string"`
  28021. // If true, the exchange is valid. If false, the exchange cannot be performed.
  28022. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
  28023. // The new end date of the reservation term.
  28024. OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp" timestampFormat:"iso8601"`
  28025. // The total true upfront charge for the exchange.
  28026. PaymentDue *string `locationName:"paymentDue" type:"string"`
  28027. // The cost associated with the Reserved Instance.
  28028. ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
  28029. // The configuration of your Convertible Reserved Instances.
  28030. ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
  28031. // The cost associated with the Reserved Instance.
  28032. TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
  28033. // The values of the target Convertible Reserved Instances.
  28034. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
  28035. // Describes the reason why the exchange can not be completed.
  28036. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
  28037. }
  28038. // String returns the string representation
  28039. func (s GetReservedInstancesExchangeQuoteOutput) String() string {
  28040. return awsutil.Prettify(s)
  28041. }
  28042. // GoString returns the string representation
  28043. func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
  28044. return s.String()
  28045. }
  28046. // SetCurrencyCode sets the CurrencyCode field's value.
  28047. func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
  28048. s.CurrencyCode = &v
  28049. return s
  28050. }
  28051. // SetIsValidExchange sets the IsValidExchange field's value.
  28052. func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
  28053. s.IsValidExchange = &v
  28054. return s
  28055. }
  28056. // SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
  28057. func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
  28058. s.OutputReservedInstancesWillExpireAt = &v
  28059. return s
  28060. }
  28061. // SetPaymentDue sets the PaymentDue field's value.
  28062. func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
  28063. s.PaymentDue = &v
  28064. return s
  28065. }
  28066. // SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
  28067. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  28068. s.ReservedInstanceValueRollup = v
  28069. return s
  28070. }
  28071. // SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
  28072. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  28073. s.ReservedInstanceValueSet = v
  28074. return s
  28075. }
  28076. // SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
  28077. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  28078. s.TargetConfigurationValueRollup = v
  28079. return s
  28080. }
  28081. // SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
  28082. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  28083. s.TargetConfigurationValueSet = v
  28084. return s
  28085. }
  28086. // SetValidationFailureReason sets the ValidationFailureReason field's value.
  28087. func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
  28088. s.ValidationFailureReason = &v
  28089. return s
  28090. }
  28091. // Describes a security group.
  28092. type GroupIdentifier struct {
  28093. _ struct{} `type:"structure"`
  28094. // The ID of the security group.
  28095. GroupId *string `locationName:"groupId" type:"string"`
  28096. // The name of the security group.
  28097. GroupName *string `locationName:"groupName" type:"string"`
  28098. }
  28099. // String returns the string representation
  28100. func (s GroupIdentifier) String() string {
  28101. return awsutil.Prettify(s)
  28102. }
  28103. // GoString returns the string representation
  28104. func (s GroupIdentifier) GoString() string {
  28105. return s.String()
  28106. }
  28107. // SetGroupId sets the GroupId field's value.
  28108. func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
  28109. s.GroupId = &v
  28110. return s
  28111. }
  28112. // SetGroupName sets the GroupName field's value.
  28113. func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
  28114. s.GroupName = &v
  28115. return s
  28116. }
  28117. // Describes an event in the history of the Spot fleet request.
  28118. type HistoryRecord struct {
  28119. _ struct{} `type:"structure"`
  28120. // Information about the event.
  28121. //
  28122. // EventInformation is a required field
  28123. EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
  28124. // The event type.
  28125. //
  28126. // * error - Indicates an error with the Spot fleet request.
  28127. //
  28128. // * fleetRequestChange - Indicates a change in the status or configuration
  28129. // of the Spot fleet request.
  28130. //
  28131. // * instanceChange - Indicates that an instance was launched or terminated.
  28132. //
  28133. // EventType is a required field
  28134. EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
  28135. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  28136. //
  28137. // Timestamp is a required field
  28138. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  28139. }
  28140. // String returns the string representation
  28141. func (s HistoryRecord) String() string {
  28142. return awsutil.Prettify(s)
  28143. }
  28144. // GoString returns the string representation
  28145. func (s HistoryRecord) GoString() string {
  28146. return s.String()
  28147. }
  28148. // SetEventInformation sets the EventInformation field's value.
  28149. func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
  28150. s.EventInformation = v
  28151. return s
  28152. }
  28153. // SetEventType sets the EventType field's value.
  28154. func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
  28155. s.EventType = &v
  28156. return s
  28157. }
  28158. // SetTimestamp sets the Timestamp field's value.
  28159. func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
  28160. s.Timestamp = &v
  28161. return s
  28162. }
  28163. // Describes the properties of the Dedicated Host.
  28164. type Host struct {
  28165. _ struct{} `type:"structure"`
  28166. // Whether auto-placement is on or off.
  28167. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  28168. // The Availability Zone of the Dedicated Host.
  28169. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  28170. // The number of new instances that can be launched onto the Dedicated Host.
  28171. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
  28172. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  28173. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  28174. // in the Amazon Elastic Compute Cloud User Guide.
  28175. ClientToken *string `locationName:"clientToken" type:"string"`
  28176. // The ID of the Dedicated Host.
  28177. HostId *string `locationName:"hostId" type:"string"`
  28178. // The hardware specifications of the Dedicated Host.
  28179. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
  28180. // The reservation ID of the Dedicated Host. This returns a null response if
  28181. // the Dedicated Host doesn't have an associated reservation.
  28182. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  28183. // The IDs and instance type that are currently running on the Dedicated Host.
  28184. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
  28185. // The Dedicated Host's state.
  28186. State *string `locationName:"state" type:"string" enum:"AllocationState"`
  28187. }
  28188. // String returns the string representation
  28189. func (s Host) String() string {
  28190. return awsutil.Prettify(s)
  28191. }
  28192. // GoString returns the string representation
  28193. func (s Host) GoString() string {
  28194. return s.String()
  28195. }
  28196. // SetAutoPlacement sets the AutoPlacement field's value.
  28197. func (s *Host) SetAutoPlacement(v string) *Host {
  28198. s.AutoPlacement = &v
  28199. return s
  28200. }
  28201. // SetAvailabilityZone sets the AvailabilityZone field's value.
  28202. func (s *Host) SetAvailabilityZone(v string) *Host {
  28203. s.AvailabilityZone = &v
  28204. return s
  28205. }
  28206. // SetAvailableCapacity sets the AvailableCapacity field's value.
  28207. func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
  28208. s.AvailableCapacity = v
  28209. return s
  28210. }
  28211. // SetClientToken sets the ClientToken field's value.
  28212. func (s *Host) SetClientToken(v string) *Host {
  28213. s.ClientToken = &v
  28214. return s
  28215. }
  28216. // SetHostId sets the HostId field's value.
  28217. func (s *Host) SetHostId(v string) *Host {
  28218. s.HostId = &v
  28219. return s
  28220. }
  28221. // SetHostProperties sets the HostProperties field's value.
  28222. func (s *Host) SetHostProperties(v *HostProperties) *Host {
  28223. s.HostProperties = v
  28224. return s
  28225. }
  28226. // SetHostReservationId sets the HostReservationId field's value.
  28227. func (s *Host) SetHostReservationId(v string) *Host {
  28228. s.HostReservationId = &v
  28229. return s
  28230. }
  28231. // SetInstances sets the Instances field's value.
  28232. func (s *Host) SetInstances(v []*HostInstance) *Host {
  28233. s.Instances = v
  28234. return s
  28235. }
  28236. // SetState sets the State field's value.
  28237. func (s *Host) SetState(v string) *Host {
  28238. s.State = &v
  28239. return s
  28240. }
  28241. // Describes an instance running on a Dedicated Host.
  28242. type HostInstance struct {
  28243. _ struct{} `type:"structure"`
  28244. // the IDs of instances that are running on the Dedicated Host.
  28245. InstanceId *string `locationName:"instanceId" type:"string"`
  28246. // The instance type size (for example, m3.medium) of the running instance.
  28247. InstanceType *string `locationName:"instanceType" type:"string"`
  28248. }
  28249. // String returns the string representation
  28250. func (s HostInstance) String() string {
  28251. return awsutil.Prettify(s)
  28252. }
  28253. // GoString returns the string representation
  28254. func (s HostInstance) GoString() string {
  28255. return s.String()
  28256. }
  28257. // SetInstanceId sets the InstanceId field's value.
  28258. func (s *HostInstance) SetInstanceId(v string) *HostInstance {
  28259. s.InstanceId = &v
  28260. return s
  28261. }
  28262. // SetInstanceType sets the InstanceType field's value.
  28263. func (s *HostInstance) SetInstanceType(v string) *HostInstance {
  28264. s.InstanceType = &v
  28265. return s
  28266. }
  28267. // Details about the Dedicated Host Reservation offering.
  28268. type HostOffering struct {
  28269. _ struct{} `type:"structure"`
  28270. // The currency of the offering.
  28271. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  28272. // The duration of the offering (in seconds).
  28273. Duration *int64 `locationName:"duration" type:"integer"`
  28274. // The hourly price of the offering.
  28275. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  28276. // The instance family of the offering.
  28277. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  28278. // The ID of the offering.
  28279. OfferingId *string `locationName:"offeringId" type:"string"`
  28280. // The available payment option.
  28281. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  28282. // The upfront price of the offering. Does not apply to No Upfront offerings.
  28283. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  28284. }
  28285. // String returns the string representation
  28286. func (s HostOffering) String() string {
  28287. return awsutil.Prettify(s)
  28288. }
  28289. // GoString returns the string representation
  28290. func (s HostOffering) GoString() string {
  28291. return s.String()
  28292. }
  28293. // SetCurrencyCode sets the CurrencyCode field's value.
  28294. func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
  28295. s.CurrencyCode = &v
  28296. return s
  28297. }
  28298. // SetDuration sets the Duration field's value.
  28299. func (s *HostOffering) SetDuration(v int64) *HostOffering {
  28300. s.Duration = &v
  28301. return s
  28302. }
  28303. // SetHourlyPrice sets the HourlyPrice field's value.
  28304. func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
  28305. s.HourlyPrice = &v
  28306. return s
  28307. }
  28308. // SetInstanceFamily sets the InstanceFamily field's value.
  28309. func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
  28310. s.InstanceFamily = &v
  28311. return s
  28312. }
  28313. // SetOfferingId sets the OfferingId field's value.
  28314. func (s *HostOffering) SetOfferingId(v string) *HostOffering {
  28315. s.OfferingId = &v
  28316. return s
  28317. }
  28318. // SetPaymentOption sets the PaymentOption field's value.
  28319. func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
  28320. s.PaymentOption = &v
  28321. return s
  28322. }
  28323. // SetUpfrontPrice sets the UpfrontPrice field's value.
  28324. func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
  28325. s.UpfrontPrice = &v
  28326. return s
  28327. }
  28328. // Describes properties of a Dedicated Host.
  28329. type HostProperties struct {
  28330. _ struct{} `type:"structure"`
  28331. // The number of cores on the Dedicated Host.
  28332. Cores *int64 `locationName:"cores" type:"integer"`
  28333. // The instance type size that the Dedicated Host supports (for example, m3.medium).
  28334. InstanceType *string `locationName:"instanceType" type:"string"`
  28335. // The number of sockets on the Dedicated Host.
  28336. Sockets *int64 `locationName:"sockets" type:"integer"`
  28337. // The number of vCPUs on the Dedicated Host.
  28338. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
  28339. }
  28340. // String returns the string representation
  28341. func (s HostProperties) String() string {
  28342. return awsutil.Prettify(s)
  28343. }
  28344. // GoString returns the string representation
  28345. func (s HostProperties) GoString() string {
  28346. return s.String()
  28347. }
  28348. // SetCores sets the Cores field's value.
  28349. func (s *HostProperties) SetCores(v int64) *HostProperties {
  28350. s.Cores = &v
  28351. return s
  28352. }
  28353. // SetInstanceType sets the InstanceType field's value.
  28354. func (s *HostProperties) SetInstanceType(v string) *HostProperties {
  28355. s.InstanceType = &v
  28356. return s
  28357. }
  28358. // SetSockets sets the Sockets field's value.
  28359. func (s *HostProperties) SetSockets(v int64) *HostProperties {
  28360. s.Sockets = &v
  28361. return s
  28362. }
  28363. // SetTotalVCpus sets the TotalVCpus field's value.
  28364. func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
  28365. s.TotalVCpus = &v
  28366. return s
  28367. }
  28368. // Details about the Dedicated Host Reservation and associated Dedicated Hosts.
  28369. type HostReservation struct {
  28370. _ struct{} `type:"structure"`
  28371. // The number of Dedicated Hosts the reservation is associated with.
  28372. Count *int64 `locationName:"count" type:"integer"`
  28373. // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
  28374. // At this time, the only supported currency is USD.
  28375. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  28376. // The length of the reservation's term, specified in seconds. Can be 31536000
  28377. // (1 year) | 94608000 (3 years).
  28378. Duration *int64 `locationName:"duration" type:"integer"`
  28379. // The date and time that the reservation ends.
  28380. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  28381. // The IDs of the Dedicated Hosts associated with the reservation.
  28382. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  28383. // The ID of the reservation that specifies the associated Dedicated Hosts.
  28384. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  28385. // The hourly price of the reservation.
  28386. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  28387. // The instance family of the Dedicated Host Reservation. The instance family
  28388. // on the Dedicated Host must be the same in order for it to benefit from the
  28389. // reservation.
  28390. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  28391. // The ID of the reservation. This remains the same regardless of which Dedicated
  28392. // Hosts are associated with it.
  28393. OfferingId *string `locationName:"offeringId" type:"string"`
  28394. // The payment option selected for this reservation.
  28395. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  28396. // The date and time that the reservation started.
  28397. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  28398. // The state of the reservation.
  28399. State *string `locationName:"state" type:"string" enum:"ReservationState"`
  28400. // The upfront price of the reservation.
  28401. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  28402. }
  28403. // String returns the string representation
  28404. func (s HostReservation) String() string {
  28405. return awsutil.Prettify(s)
  28406. }
  28407. // GoString returns the string representation
  28408. func (s HostReservation) GoString() string {
  28409. return s.String()
  28410. }
  28411. // SetCount sets the Count field's value.
  28412. func (s *HostReservation) SetCount(v int64) *HostReservation {
  28413. s.Count = &v
  28414. return s
  28415. }
  28416. // SetCurrencyCode sets the CurrencyCode field's value.
  28417. func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
  28418. s.CurrencyCode = &v
  28419. return s
  28420. }
  28421. // SetDuration sets the Duration field's value.
  28422. func (s *HostReservation) SetDuration(v int64) *HostReservation {
  28423. s.Duration = &v
  28424. return s
  28425. }
  28426. // SetEnd sets the End field's value.
  28427. func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
  28428. s.End = &v
  28429. return s
  28430. }
  28431. // SetHostIdSet sets the HostIdSet field's value.
  28432. func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
  28433. s.HostIdSet = v
  28434. return s
  28435. }
  28436. // SetHostReservationId sets the HostReservationId field's value.
  28437. func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
  28438. s.HostReservationId = &v
  28439. return s
  28440. }
  28441. // SetHourlyPrice sets the HourlyPrice field's value.
  28442. func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
  28443. s.HourlyPrice = &v
  28444. return s
  28445. }
  28446. // SetInstanceFamily sets the InstanceFamily field's value.
  28447. func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
  28448. s.InstanceFamily = &v
  28449. return s
  28450. }
  28451. // SetOfferingId sets the OfferingId field's value.
  28452. func (s *HostReservation) SetOfferingId(v string) *HostReservation {
  28453. s.OfferingId = &v
  28454. return s
  28455. }
  28456. // SetPaymentOption sets the PaymentOption field's value.
  28457. func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
  28458. s.PaymentOption = &v
  28459. return s
  28460. }
  28461. // SetStart sets the Start field's value.
  28462. func (s *HostReservation) SetStart(v time.Time) *HostReservation {
  28463. s.Start = &v
  28464. return s
  28465. }
  28466. // SetState sets the State field's value.
  28467. func (s *HostReservation) SetState(v string) *HostReservation {
  28468. s.State = &v
  28469. return s
  28470. }
  28471. // SetUpfrontPrice sets the UpfrontPrice field's value.
  28472. func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
  28473. s.UpfrontPrice = &v
  28474. return s
  28475. }
  28476. // Describes an IAM instance profile.
  28477. type IamInstanceProfile struct {
  28478. _ struct{} `type:"structure"`
  28479. // The Amazon Resource Name (ARN) of the instance profile.
  28480. Arn *string `locationName:"arn" type:"string"`
  28481. // The ID of the instance profile.
  28482. Id *string `locationName:"id" type:"string"`
  28483. }
  28484. // String returns the string representation
  28485. func (s IamInstanceProfile) String() string {
  28486. return awsutil.Prettify(s)
  28487. }
  28488. // GoString returns the string representation
  28489. func (s IamInstanceProfile) GoString() string {
  28490. return s.String()
  28491. }
  28492. // SetArn sets the Arn field's value.
  28493. func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
  28494. s.Arn = &v
  28495. return s
  28496. }
  28497. // SetId sets the Id field's value.
  28498. func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
  28499. s.Id = &v
  28500. return s
  28501. }
  28502. // Describes an IAM instance profile.
  28503. type IamInstanceProfileSpecification struct {
  28504. _ struct{} `type:"structure"`
  28505. // The Amazon Resource Name (ARN) of the instance profile.
  28506. Arn *string `locationName:"arn" type:"string"`
  28507. // The name of the instance profile.
  28508. Name *string `locationName:"name" type:"string"`
  28509. }
  28510. // String returns the string representation
  28511. func (s IamInstanceProfileSpecification) String() string {
  28512. return awsutil.Prettify(s)
  28513. }
  28514. // GoString returns the string representation
  28515. func (s IamInstanceProfileSpecification) GoString() string {
  28516. return s.String()
  28517. }
  28518. // SetArn sets the Arn field's value.
  28519. func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
  28520. s.Arn = &v
  28521. return s
  28522. }
  28523. // SetName sets the Name field's value.
  28524. func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
  28525. s.Name = &v
  28526. return s
  28527. }
  28528. // Describes the ICMP type and code.
  28529. type IcmpTypeCode struct {
  28530. _ struct{} `type:"structure"`
  28531. // The ICMP type. A value of -1 means all types.
  28532. Code *int64 `locationName:"code" type:"integer"`
  28533. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  28534. Type *int64 `locationName:"type" type:"integer"`
  28535. }
  28536. // String returns the string representation
  28537. func (s IcmpTypeCode) String() string {
  28538. return awsutil.Prettify(s)
  28539. }
  28540. // GoString returns the string representation
  28541. func (s IcmpTypeCode) GoString() string {
  28542. return s.String()
  28543. }
  28544. // SetCode sets the Code field's value.
  28545. func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
  28546. s.Code = &v
  28547. return s
  28548. }
  28549. // SetType sets the Type field's value.
  28550. func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
  28551. s.Type = &v
  28552. return s
  28553. }
  28554. // Describes the ID format for a resource.
  28555. type IdFormat struct {
  28556. _ struct{} `type:"structure"`
  28557. // The date in UTC at which you are permanently switched over to using longer
  28558. // IDs. If a deadline is not yet available for this resource type, this field
  28559. // is not returned.
  28560. Deadline *time.Time `locationName:"deadline" type:"timestamp" timestampFormat:"iso8601"`
  28561. // The type of resource.
  28562. Resource *string `locationName:"resource" type:"string"`
  28563. // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
  28564. UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
  28565. }
  28566. // String returns the string representation
  28567. func (s IdFormat) String() string {
  28568. return awsutil.Prettify(s)
  28569. }
  28570. // GoString returns the string representation
  28571. func (s IdFormat) GoString() string {
  28572. return s.String()
  28573. }
  28574. // SetDeadline sets the Deadline field's value.
  28575. func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
  28576. s.Deadline = &v
  28577. return s
  28578. }
  28579. // SetResource sets the Resource field's value.
  28580. func (s *IdFormat) SetResource(v string) *IdFormat {
  28581. s.Resource = &v
  28582. return s
  28583. }
  28584. // SetUseLongIds sets the UseLongIds field's value.
  28585. func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
  28586. s.UseLongIds = &v
  28587. return s
  28588. }
  28589. // Describes an image.
  28590. type Image struct {
  28591. _ struct{} `type:"structure"`
  28592. // The architecture of the image.
  28593. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  28594. // Any block device mapping entries.
  28595. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  28596. // The date and time the image was created.
  28597. CreationDate *string `locationName:"creationDate" type:"string"`
  28598. // The description of the AMI that was provided during image creation.
  28599. Description *string `locationName:"description" type:"string"`
  28600. // Specifies whether enhanced networking with ENA is enabled.
  28601. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  28602. // The hypervisor type of the image.
  28603. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  28604. // The ID of the AMI.
  28605. ImageId *string `locationName:"imageId" type:"string"`
  28606. // The location of the AMI.
  28607. ImageLocation *string `locationName:"imageLocation" type:"string"`
  28608. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  28609. // the AMI owner.
  28610. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  28611. // The type of image.
  28612. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  28613. // The kernel associated with the image, if any. Only applicable for machine
  28614. // images.
  28615. KernelId *string `locationName:"kernelId" type:"string"`
  28616. // The name of the AMI that was provided during image creation.
  28617. Name *string `locationName:"name" type:"string"`
  28618. // The AWS account ID of the image owner.
  28619. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  28620. // The value is Windows for Windows AMIs; otherwise blank.
  28621. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  28622. // Any product codes associated with the AMI.
  28623. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  28624. // Indicates whether the image has public launch permissions. The value is true
  28625. // if this image has public launch permissions or false if it has only implicit
  28626. // and explicit launch permissions.
  28627. Public *bool `locationName:"isPublic" type:"boolean"`
  28628. // The RAM disk associated with the image, if any. Only applicable for machine
  28629. // images.
  28630. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  28631. // The device name of the root device (for example, /dev/sda1 or /dev/xvda).
  28632. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  28633. // The type of root device used by the AMI. The AMI can use an EBS volume or
  28634. // an instance store volume.
  28635. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  28636. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  28637. // interface is enabled.
  28638. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  28639. // The current state of the AMI. If the state is available, the image is successfully
  28640. // registered and can be used to launch an instance.
  28641. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  28642. // The reason for the state change.
  28643. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  28644. // Any tags assigned to the image.
  28645. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  28646. // The type of virtualization of the AMI.
  28647. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  28648. }
  28649. // String returns the string representation
  28650. func (s Image) String() string {
  28651. return awsutil.Prettify(s)
  28652. }
  28653. // GoString returns the string representation
  28654. func (s Image) GoString() string {
  28655. return s.String()
  28656. }
  28657. // SetArchitecture sets the Architecture field's value.
  28658. func (s *Image) SetArchitecture(v string) *Image {
  28659. s.Architecture = &v
  28660. return s
  28661. }
  28662. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  28663. func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
  28664. s.BlockDeviceMappings = v
  28665. return s
  28666. }
  28667. // SetCreationDate sets the CreationDate field's value.
  28668. func (s *Image) SetCreationDate(v string) *Image {
  28669. s.CreationDate = &v
  28670. return s
  28671. }
  28672. // SetDescription sets the Description field's value.
  28673. func (s *Image) SetDescription(v string) *Image {
  28674. s.Description = &v
  28675. return s
  28676. }
  28677. // SetEnaSupport sets the EnaSupport field's value.
  28678. func (s *Image) SetEnaSupport(v bool) *Image {
  28679. s.EnaSupport = &v
  28680. return s
  28681. }
  28682. // SetHypervisor sets the Hypervisor field's value.
  28683. func (s *Image) SetHypervisor(v string) *Image {
  28684. s.Hypervisor = &v
  28685. return s
  28686. }
  28687. // SetImageId sets the ImageId field's value.
  28688. func (s *Image) SetImageId(v string) *Image {
  28689. s.ImageId = &v
  28690. return s
  28691. }
  28692. // SetImageLocation sets the ImageLocation field's value.
  28693. func (s *Image) SetImageLocation(v string) *Image {
  28694. s.ImageLocation = &v
  28695. return s
  28696. }
  28697. // SetImageOwnerAlias sets the ImageOwnerAlias field's value.
  28698. func (s *Image) SetImageOwnerAlias(v string) *Image {
  28699. s.ImageOwnerAlias = &v
  28700. return s
  28701. }
  28702. // SetImageType sets the ImageType field's value.
  28703. func (s *Image) SetImageType(v string) *Image {
  28704. s.ImageType = &v
  28705. return s
  28706. }
  28707. // SetKernelId sets the KernelId field's value.
  28708. func (s *Image) SetKernelId(v string) *Image {
  28709. s.KernelId = &v
  28710. return s
  28711. }
  28712. // SetName sets the Name field's value.
  28713. func (s *Image) SetName(v string) *Image {
  28714. s.Name = &v
  28715. return s
  28716. }
  28717. // SetOwnerId sets the OwnerId field's value.
  28718. func (s *Image) SetOwnerId(v string) *Image {
  28719. s.OwnerId = &v
  28720. return s
  28721. }
  28722. // SetPlatform sets the Platform field's value.
  28723. func (s *Image) SetPlatform(v string) *Image {
  28724. s.Platform = &v
  28725. return s
  28726. }
  28727. // SetProductCodes sets the ProductCodes field's value.
  28728. func (s *Image) SetProductCodes(v []*ProductCode) *Image {
  28729. s.ProductCodes = v
  28730. return s
  28731. }
  28732. // SetPublic sets the Public field's value.
  28733. func (s *Image) SetPublic(v bool) *Image {
  28734. s.Public = &v
  28735. return s
  28736. }
  28737. // SetRamdiskId sets the RamdiskId field's value.
  28738. func (s *Image) SetRamdiskId(v string) *Image {
  28739. s.RamdiskId = &v
  28740. return s
  28741. }
  28742. // SetRootDeviceName sets the RootDeviceName field's value.
  28743. func (s *Image) SetRootDeviceName(v string) *Image {
  28744. s.RootDeviceName = &v
  28745. return s
  28746. }
  28747. // SetRootDeviceType sets the RootDeviceType field's value.
  28748. func (s *Image) SetRootDeviceType(v string) *Image {
  28749. s.RootDeviceType = &v
  28750. return s
  28751. }
  28752. // SetSriovNetSupport sets the SriovNetSupport field's value.
  28753. func (s *Image) SetSriovNetSupport(v string) *Image {
  28754. s.SriovNetSupport = &v
  28755. return s
  28756. }
  28757. // SetState sets the State field's value.
  28758. func (s *Image) SetState(v string) *Image {
  28759. s.State = &v
  28760. return s
  28761. }
  28762. // SetStateReason sets the StateReason field's value.
  28763. func (s *Image) SetStateReason(v *StateReason) *Image {
  28764. s.StateReason = v
  28765. return s
  28766. }
  28767. // SetTags sets the Tags field's value.
  28768. func (s *Image) SetTags(v []*Tag) *Image {
  28769. s.Tags = v
  28770. return s
  28771. }
  28772. // SetVirtualizationType sets the VirtualizationType field's value.
  28773. func (s *Image) SetVirtualizationType(v string) *Image {
  28774. s.VirtualizationType = &v
  28775. return s
  28776. }
  28777. // Describes the disk container object for an import image task.
  28778. type ImageDiskContainer struct {
  28779. _ struct{} `type:"structure"`
  28780. // The description of the disk image.
  28781. Description *string `type:"string"`
  28782. // The block device mapping for the disk.
  28783. DeviceName *string `type:"string"`
  28784. // The format of the disk image being imported.
  28785. //
  28786. // Valid values: RAW | VHD | VMDK | OVA
  28787. Format *string `type:"string"`
  28788. // The ID of the EBS snapshot to be used for importing the snapshot.
  28789. SnapshotId *string `type:"string"`
  28790. // The URL to the Amazon S3-based disk image being imported. The URL can either
  28791. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  28792. Url *string `type:"string"`
  28793. // The S3 bucket for the disk image.
  28794. UserBucket *UserBucket `type:"structure"`
  28795. }
  28796. // String returns the string representation
  28797. func (s ImageDiskContainer) String() string {
  28798. return awsutil.Prettify(s)
  28799. }
  28800. // GoString returns the string representation
  28801. func (s ImageDiskContainer) GoString() string {
  28802. return s.String()
  28803. }
  28804. // SetDescription sets the Description field's value.
  28805. func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
  28806. s.Description = &v
  28807. return s
  28808. }
  28809. // SetDeviceName sets the DeviceName field's value.
  28810. func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
  28811. s.DeviceName = &v
  28812. return s
  28813. }
  28814. // SetFormat sets the Format field's value.
  28815. func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
  28816. s.Format = &v
  28817. return s
  28818. }
  28819. // SetSnapshotId sets the SnapshotId field's value.
  28820. func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
  28821. s.SnapshotId = &v
  28822. return s
  28823. }
  28824. // SetUrl sets the Url field's value.
  28825. func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
  28826. s.Url = &v
  28827. return s
  28828. }
  28829. // SetUserBucket sets the UserBucket field's value.
  28830. func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
  28831. s.UserBucket = v
  28832. return s
  28833. }
  28834. // Contains the parameters for ImportImage.
  28835. type ImportImageInput struct {
  28836. _ struct{} `type:"structure"`
  28837. // The architecture of the virtual machine.
  28838. //
  28839. // Valid values: i386 | x86_64
  28840. Architecture *string `type:"string"`
  28841. // The client-specific data.
  28842. ClientData *ClientData `type:"structure"`
  28843. // The token to enable idempotency for VM import requests.
  28844. ClientToken *string `type:"string"`
  28845. // A description string for the import image task.
  28846. Description *string `type:"string"`
  28847. // Information about the disk containers.
  28848. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  28849. // Checks whether you have the required permissions for the action, without
  28850. // actually making the request, and provides an error response. If you have
  28851. // the required permissions, the error response is DryRunOperation. Otherwise,
  28852. // it is UnauthorizedOperation.
  28853. DryRun *bool `type:"boolean"`
  28854. // The target hypervisor platform.
  28855. //
  28856. // Valid values: xen
  28857. Hypervisor *string `type:"string"`
  28858. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  28859. //
  28860. // Note: You may only use BYOL if you have existing licenses with rights to
  28861. // use these licenses in a third party cloud like AWS. For more information,
  28862. // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
  28863. // in the VM Import/Export User Guide.
  28864. //
  28865. // Valid values: AWS | BYOL
  28866. LicenseType *string `type:"string"`
  28867. // The operating system of the virtual machine.
  28868. //
  28869. // Valid values: Windows | Linux
  28870. Platform *string `type:"string"`
  28871. // The name of the role to use when not using the default role, 'vmimport'.
  28872. RoleName *string `type:"string"`
  28873. }
  28874. // String returns the string representation
  28875. func (s ImportImageInput) String() string {
  28876. return awsutil.Prettify(s)
  28877. }
  28878. // GoString returns the string representation
  28879. func (s ImportImageInput) GoString() string {
  28880. return s.String()
  28881. }
  28882. // SetArchitecture sets the Architecture field's value.
  28883. func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
  28884. s.Architecture = &v
  28885. return s
  28886. }
  28887. // SetClientData sets the ClientData field's value.
  28888. func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
  28889. s.ClientData = v
  28890. return s
  28891. }
  28892. // SetClientToken sets the ClientToken field's value.
  28893. func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
  28894. s.ClientToken = &v
  28895. return s
  28896. }
  28897. // SetDescription sets the Description field's value.
  28898. func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
  28899. s.Description = &v
  28900. return s
  28901. }
  28902. // SetDiskContainers sets the DiskContainers field's value.
  28903. func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
  28904. s.DiskContainers = v
  28905. return s
  28906. }
  28907. // SetDryRun sets the DryRun field's value.
  28908. func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
  28909. s.DryRun = &v
  28910. return s
  28911. }
  28912. // SetHypervisor sets the Hypervisor field's value.
  28913. func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
  28914. s.Hypervisor = &v
  28915. return s
  28916. }
  28917. // SetLicenseType sets the LicenseType field's value.
  28918. func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
  28919. s.LicenseType = &v
  28920. return s
  28921. }
  28922. // SetPlatform sets the Platform field's value.
  28923. func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
  28924. s.Platform = &v
  28925. return s
  28926. }
  28927. // SetRoleName sets the RoleName field's value.
  28928. func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
  28929. s.RoleName = &v
  28930. return s
  28931. }
  28932. // Contains the output for ImportImage.
  28933. type ImportImageOutput struct {
  28934. _ struct{} `type:"structure"`
  28935. // The architecture of the virtual machine.
  28936. Architecture *string `locationName:"architecture" type:"string"`
  28937. // A description of the import task.
  28938. Description *string `locationName:"description" type:"string"`
  28939. // The target hypervisor of the import task.
  28940. Hypervisor *string `locationName:"hypervisor" type:"string"`
  28941. // The ID of the Amazon Machine Image (AMI) created by the import task.
  28942. ImageId *string `locationName:"imageId" type:"string"`
  28943. // The task ID of the import image task.
  28944. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  28945. // The license type of the virtual machine.
  28946. LicenseType *string `locationName:"licenseType" type:"string"`
  28947. // The operating system of the virtual machine.
  28948. Platform *string `locationName:"platform" type:"string"`
  28949. // The progress of the task.
  28950. Progress *string `locationName:"progress" type:"string"`
  28951. // Information about the snapshots.
  28952. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  28953. // A brief status of the task.
  28954. Status *string `locationName:"status" type:"string"`
  28955. // A detailed status message of the import task.
  28956. StatusMessage *string `locationName:"statusMessage" type:"string"`
  28957. }
  28958. // String returns the string representation
  28959. func (s ImportImageOutput) String() string {
  28960. return awsutil.Prettify(s)
  28961. }
  28962. // GoString returns the string representation
  28963. func (s ImportImageOutput) GoString() string {
  28964. return s.String()
  28965. }
  28966. // SetArchitecture sets the Architecture field's value.
  28967. func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
  28968. s.Architecture = &v
  28969. return s
  28970. }
  28971. // SetDescription sets the Description field's value.
  28972. func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
  28973. s.Description = &v
  28974. return s
  28975. }
  28976. // SetHypervisor sets the Hypervisor field's value.
  28977. func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
  28978. s.Hypervisor = &v
  28979. return s
  28980. }
  28981. // SetImageId sets the ImageId field's value.
  28982. func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
  28983. s.ImageId = &v
  28984. return s
  28985. }
  28986. // SetImportTaskId sets the ImportTaskId field's value.
  28987. func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
  28988. s.ImportTaskId = &v
  28989. return s
  28990. }
  28991. // SetLicenseType sets the LicenseType field's value.
  28992. func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
  28993. s.LicenseType = &v
  28994. return s
  28995. }
  28996. // SetPlatform sets the Platform field's value.
  28997. func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
  28998. s.Platform = &v
  28999. return s
  29000. }
  29001. // SetProgress sets the Progress field's value.
  29002. func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
  29003. s.Progress = &v
  29004. return s
  29005. }
  29006. // SetSnapshotDetails sets the SnapshotDetails field's value.
  29007. func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
  29008. s.SnapshotDetails = v
  29009. return s
  29010. }
  29011. // SetStatus sets the Status field's value.
  29012. func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
  29013. s.Status = &v
  29014. return s
  29015. }
  29016. // SetStatusMessage sets the StatusMessage field's value.
  29017. func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
  29018. s.StatusMessage = &v
  29019. return s
  29020. }
  29021. // Describes an import image task.
  29022. type ImportImageTask struct {
  29023. _ struct{} `type:"structure"`
  29024. // The architecture of the virtual machine.
  29025. //
  29026. // Valid values: i386 | x86_64
  29027. Architecture *string `locationName:"architecture" type:"string"`
  29028. // A description of the import task.
  29029. Description *string `locationName:"description" type:"string"`
  29030. // The target hypervisor for the import task.
  29031. //
  29032. // Valid values: xen
  29033. Hypervisor *string `locationName:"hypervisor" type:"string"`
  29034. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  29035. ImageId *string `locationName:"imageId" type:"string"`
  29036. // The ID of the import image task.
  29037. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  29038. // The license type of the virtual machine.
  29039. LicenseType *string `locationName:"licenseType" type:"string"`
  29040. // The description string for the import image task.
  29041. Platform *string `locationName:"platform" type:"string"`
  29042. // The percentage of progress of the import image task.
  29043. Progress *string `locationName:"progress" type:"string"`
  29044. // Information about the snapshots.
  29045. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  29046. // A brief status for the import image task.
  29047. Status *string `locationName:"status" type:"string"`
  29048. // A descriptive status message for the import image task.
  29049. StatusMessage *string `locationName:"statusMessage" type:"string"`
  29050. }
  29051. // String returns the string representation
  29052. func (s ImportImageTask) String() string {
  29053. return awsutil.Prettify(s)
  29054. }
  29055. // GoString returns the string representation
  29056. func (s ImportImageTask) GoString() string {
  29057. return s.String()
  29058. }
  29059. // SetArchitecture sets the Architecture field's value.
  29060. func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
  29061. s.Architecture = &v
  29062. return s
  29063. }
  29064. // SetDescription sets the Description field's value.
  29065. func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
  29066. s.Description = &v
  29067. return s
  29068. }
  29069. // SetHypervisor sets the Hypervisor field's value.
  29070. func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
  29071. s.Hypervisor = &v
  29072. return s
  29073. }
  29074. // SetImageId sets the ImageId field's value.
  29075. func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
  29076. s.ImageId = &v
  29077. return s
  29078. }
  29079. // SetImportTaskId sets the ImportTaskId field's value.
  29080. func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
  29081. s.ImportTaskId = &v
  29082. return s
  29083. }
  29084. // SetLicenseType sets the LicenseType field's value.
  29085. func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
  29086. s.LicenseType = &v
  29087. return s
  29088. }
  29089. // SetPlatform sets the Platform field's value.
  29090. func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
  29091. s.Platform = &v
  29092. return s
  29093. }
  29094. // SetProgress sets the Progress field's value.
  29095. func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
  29096. s.Progress = &v
  29097. return s
  29098. }
  29099. // SetSnapshotDetails sets the SnapshotDetails field's value.
  29100. func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
  29101. s.SnapshotDetails = v
  29102. return s
  29103. }
  29104. // SetStatus sets the Status field's value.
  29105. func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
  29106. s.Status = &v
  29107. return s
  29108. }
  29109. // SetStatusMessage sets the StatusMessage field's value.
  29110. func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
  29111. s.StatusMessage = &v
  29112. return s
  29113. }
  29114. // Contains the parameters for ImportInstance.
  29115. type ImportInstanceInput struct {
  29116. _ struct{} `type:"structure"`
  29117. // A description for the instance being imported.
  29118. Description *string `locationName:"description" type:"string"`
  29119. // The disk image.
  29120. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  29121. // Checks whether you have the required permissions for the action, without
  29122. // actually making the request, and provides an error response. If you have
  29123. // the required permissions, the error response is DryRunOperation. Otherwise,
  29124. // it is UnauthorizedOperation.
  29125. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29126. // The launch specification.
  29127. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  29128. // The instance operating system.
  29129. //
  29130. // Platform is a required field
  29131. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  29132. }
  29133. // String returns the string representation
  29134. func (s ImportInstanceInput) String() string {
  29135. return awsutil.Prettify(s)
  29136. }
  29137. // GoString returns the string representation
  29138. func (s ImportInstanceInput) GoString() string {
  29139. return s.String()
  29140. }
  29141. // Validate inspects the fields of the type to determine if they are valid.
  29142. func (s *ImportInstanceInput) Validate() error {
  29143. invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
  29144. if s.Platform == nil {
  29145. invalidParams.Add(request.NewErrParamRequired("Platform"))
  29146. }
  29147. if s.DiskImages != nil {
  29148. for i, v := range s.DiskImages {
  29149. if v == nil {
  29150. continue
  29151. }
  29152. if err := v.Validate(); err != nil {
  29153. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
  29154. }
  29155. }
  29156. }
  29157. if invalidParams.Len() > 0 {
  29158. return invalidParams
  29159. }
  29160. return nil
  29161. }
  29162. // SetDescription sets the Description field's value.
  29163. func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
  29164. s.Description = &v
  29165. return s
  29166. }
  29167. // SetDiskImages sets the DiskImages field's value.
  29168. func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
  29169. s.DiskImages = v
  29170. return s
  29171. }
  29172. // SetDryRun sets the DryRun field's value.
  29173. func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
  29174. s.DryRun = &v
  29175. return s
  29176. }
  29177. // SetLaunchSpecification sets the LaunchSpecification field's value.
  29178. func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
  29179. s.LaunchSpecification = v
  29180. return s
  29181. }
  29182. // SetPlatform sets the Platform field's value.
  29183. func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
  29184. s.Platform = &v
  29185. return s
  29186. }
  29187. // Describes the launch specification for VM import.
  29188. type ImportInstanceLaunchSpecification struct {
  29189. _ struct{} `type:"structure"`
  29190. // Reserved.
  29191. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  29192. // The architecture of the instance.
  29193. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  29194. // One or more security group IDs.
  29195. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  29196. // One or more security group names.
  29197. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  29198. // Indicates whether an instance stops or terminates when you initiate shutdown
  29199. // from the instance (using the operating system command for system shutdown).
  29200. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  29201. // The instance type. For more information about the instance types that you
  29202. // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#vmimport-instance-types)
  29203. // in the VM Import/Export User Guide.
  29204. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  29205. // Indicates whether monitoring is enabled.
  29206. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  29207. // The placement information for the instance.
  29208. Placement *Placement `locationName:"placement" type:"structure"`
  29209. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  29210. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  29211. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  29212. SubnetId *string `locationName:"subnetId" type:"string"`
  29213. // The user data to make available to the instance. If you are using an AWS
  29214. // SDK or command line tool, Base64-encoding is performed for you, and you can
  29215. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  29216. UserData *UserData `locationName:"userData" type:"structure"`
  29217. }
  29218. // String returns the string representation
  29219. func (s ImportInstanceLaunchSpecification) String() string {
  29220. return awsutil.Prettify(s)
  29221. }
  29222. // GoString returns the string representation
  29223. func (s ImportInstanceLaunchSpecification) GoString() string {
  29224. return s.String()
  29225. }
  29226. // SetAdditionalInfo sets the AdditionalInfo field's value.
  29227. func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
  29228. s.AdditionalInfo = &v
  29229. return s
  29230. }
  29231. // SetArchitecture sets the Architecture field's value.
  29232. func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
  29233. s.Architecture = &v
  29234. return s
  29235. }
  29236. // SetGroupIds sets the GroupIds field's value.
  29237. func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
  29238. s.GroupIds = v
  29239. return s
  29240. }
  29241. // SetGroupNames sets the GroupNames field's value.
  29242. func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
  29243. s.GroupNames = v
  29244. return s
  29245. }
  29246. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  29247. func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
  29248. s.InstanceInitiatedShutdownBehavior = &v
  29249. return s
  29250. }
  29251. // SetInstanceType sets the InstanceType field's value.
  29252. func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
  29253. s.InstanceType = &v
  29254. return s
  29255. }
  29256. // SetMonitoring sets the Monitoring field's value.
  29257. func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
  29258. s.Monitoring = &v
  29259. return s
  29260. }
  29261. // SetPlacement sets the Placement field's value.
  29262. func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
  29263. s.Placement = v
  29264. return s
  29265. }
  29266. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  29267. func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
  29268. s.PrivateIpAddress = &v
  29269. return s
  29270. }
  29271. // SetSubnetId sets the SubnetId field's value.
  29272. func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
  29273. s.SubnetId = &v
  29274. return s
  29275. }
  29276. // SetUserData sets the UserData field's value.
  29277. func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
  29278. s.UserData = v
  29279. return s
  29280. }
  29281. // Contains the output for ImportInstance.
  29282. type ImportInstanceOutput struct {
  29283. _ struct{} `type:"structure"`
  29284. // Information about the conversion task.
  29285. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  29286. }
  29287. // String returns the string representation
  29288. func (s ImportInstanceOutput) String() string {
  29289. return awsutil.Prettify(s)
  29290. }
  29291. // GoString returns the string representation
  29292. func (s ImportInstanceOutput) GoString() string {
  29293. return s.String()
  29294. }
  29295. // SetConversionTask sets the ConversionTask field's value.
  29296. func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
  29297. s.ConversionTask = v
  29298. return s
  29299. }
  29300. // Describes an import instance task.
  29301. type ImportInstanceTaskDetails struct {
  29302. _ struct{} `type:"structure"`
  29303. // A description of the task.
  29304. Description *string `locationName:"description" type:"string"`
  29305. // The ID of the instance.
  29306. InstanceId *string `locationName:"instanceId" type:"string"`
  29307. // The instance operating system.
  29308. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  29309. // One or more volumes.
  29310. //
  29311. // Volumes is a required field
  29312. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list" required:"true"`
  29313. }
  29314. // String returns the string representation
  29315. func (s ImportInstanceTaskDetails) String() string {
  29316. return awsutil.Prettify(s)
  29317. }
  29318. // GoString returns the string representation
  29319. func (s ImportInstanceTaskDetails) GoString() string {
  29320. return s.String()
  29321. }
  29322. // SetDescription sets the Description field's value.
  29323. func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
  29324. s.Description = &v
  29325. return s
  29326. }
  29327. // SetInstanceId sets the InstanceId field's value.
  29328. func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
  29329. s.InstanceId = &v
  29330. return s
  29331. }
  29332. // SetPlatform sets the Platform field's value.
  29333. func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
  29334. s.Platform = &v
  29335. return s
  29336. }
  29337. // SetVolumes sets the Volumes field's value.
  29338. func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
  29339. s.Volumes = v
  29340. return s
  29341. }
  29342. // Describes an import volume task.
  29343. type ImportInstanceVolumeDetailItem struct {
  29344. _ struct{} `type:"structure"`
  29345. // The Availability Zone where the resulting instance will reside.
  29346. //
  29347. // AvailabilityZone is a required field
  29348. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  29349. // The number of bytes converted so far.
  29350. //
  29351. // BytesConverted is a required field
  29352. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  29353. // A description of the task.
  29354. Description *string `locationName:"description" type:"string"`
  29355. // The image.
  29356. //
  29357. // Image is a required field
  29358. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  29359. // The status of the import of this particular disk image.
  29360. //
  29361. // Status is a required field
  29362. Status *string `locationName:"status" type:"string" required:"true"`
  29363. // The status information or errors related to the disk image.
  29364. StatusMessage *string `locationName:"statusMessage" type:"string"`
  29365. // The volume.
  29366. //
  29367. // Volume is a required field
  29368. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  29369. }
  29370. // String returns the string representation
  29371. func (s ImportInstanceVolumeDetailItem) String() string {
  29372. return awsutil.Prettify(s)
  29373. }
  29374. // GoString returns the string representation
  29375. func (s ImportInstanceVolumeDetailItem) GoString() string {
  29376. return s.String()
  29377. }
  29378. // SetAvailabilityZone sets the AvailabilityZone field's value.
  29379. func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
  29380. s.AvailabilityZone = &v
  29381. return s
  29382. }
  29383. // SetBytesConverted sets the BytesConverted field's value.
  29384. func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
  29385. s.BytesConverted = &v
  29386. return s
  29387. }
  29388. // SetDescription sets the Description field's value.
  29389. func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
  29390. s.Description = &v
  29391. return s
  29392. }
  29393. // SetImage sets the Image field's value.
  29394. func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
  29395. s.Image = v
  29396. return s
  29397. }
  29398. // SetStatus sets the Status field's value.
  29399. func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
  29400. s.Status = &v
  29401. return s
  29402. }
  29403. // SetStatusMessage sets the StatusMessage field's value.
  29404. func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
  29405. s.StatusMessage = &v
  29406. return s
  29407. }
  29408. // SetVolume sets the Volume field's value.
  29409. func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
  29410. s.Volume = v
  29411. return s
  29412. }
  29413. // Contains the parameters for ImportKeyPair.
  29414. type ImportKeyPairInput struct {
  29415. _ struct{} `type:"structure"`
  29416. // Checks whether you have the required permissions for the action, without
  29417. // actually making the request, and provides an error response. If you have
  29418. // the required permissions, the error response is DryRunOperation. Otherwise,
  29419. // it is UnauthorizedOperation.
  29420. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29421. // A unique name for the key pair.
  29422. //
  29423. // KeyName is a required field
  29424. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  29425. // The public key. For API calls, the text must be base64-encoded. For command
  29426. // line tools, base64 encoding is performed for you.
  29427. //
  29428. // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
  29429. //
  29430. // PublicKeyMaterial is a required field
  29431. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  29432. }
  29433. // String returns the string representation
  29434. func (s ImportKeyPairInput) String() string {
  29435. return awsutil.Prettify(s)
  29436. }
  29437. // GoString returns the string representation
  29438. func (s ImportKeyPairInput) GoString() string {
  29439. return s.String()
  29440. }
  29441. // Validate inspects the fields of the type to determine if they are valid.
  29442. func (s *ImportKeyPairInput) Validate() error {
  29443. invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
  29444. if s.KeyName == nil {
  29445. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  29446. }
  29447. if s.PublicKeyMaterial == nil {
  29448. invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  29449. }
  29450. if invalidParams.Len() > 0 {
  29451. return invalidParams
  29452. }
  29453. return nil
  29454. }
  29455. // SetDryRun sets the DryRun field's value.
  29456. func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
  29457. s.DryRun = &v
  29458. return s
  29459. }
  29460. // SetKeyName sets the KeyName field's value.
  29461. func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
  29462. s.KeyName = &v
  29463. return s
  29464. }
  29465. // SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
  29466. func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
  29467. s.PublicKeyMaterial = v
  29468. return s
  29469. }
  29470. // Contains the output of ImportKeyPair.
  29471. type ImportKeyPairOutput struct {
  29472. _ struct{} `type:"structure"`
  29473. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  29474. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  29475. // The key pair name you provided.
  29476. KeyName *string `locationName:"keyName" type:"string"`
  29477. }
  29478. // String returns the string representation
  29479. func (s ImportKeyPairOutput) String() string {
  29480. return awsutil.Prettify(s)
  29481. }
  29482. // GoString returns the string representation
  29483. func (s ImportKeyPairOutput) GoString() string {
  29484. return s.String()
  29485. }
  29486. // SetKeyFingerprint sets the KeyFingerprint field's value.
  29487. func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
  29488. s.KeyFingerprint = &v
  29489. return s
  29490. }
  29491. // SetKeyName sets the KeyName field's value.
  29492. func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
  29493. s.KeyName = &v
  29494. return s
  29495. }
  29496. // Contains the parameters for ImportSnapshot.
  29497. type ImportSnapshotInput struct {
  29498. _ struct{} `type:"structure"`
  29499. // The client-specific data.
  29500. ClientData *ClientData `type:"structure"`
  29501. // Token to enable idempotency for VM import requests.
  29502. ClientToken *string `type:"string"`
  29503. // The description string for the import snapshot task.
  29504. Description *string `type:"string"`
  29505. // Information about the disk container.
  29506. DiskContainer *SnapshotDiskContainer `type:"structure"`
  29507. // Checks whether you have the required permissions for the action, without
  29508. // actually making the request, and provides an error response. If you have
  29509. // the required permissions, the error response is DryRunOperation. Otherwise,
  29510. // it is UnauthorizedOperation.
  29511. DryRun *bool `type:"boolean"`
  29512. // The name of the role to use when not using the default role, 'vmimport'.
  29513. RoleName *string `type:"string"`
  29514. }
  29515. // String returns the string representation
  29516. func (s ImportSnapshotInput) String() string {
  29517. return awsutil.Prettify(s)
  29518. }
  29519. // GoString returns the string representation
  29520. func (s ImportSnapshotInput) GoString() string {
  29521. return s.String()
  29522. }
  29523. // SetClientData sets the ClientData field's value.
  29524. func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
  29525. s.ClientData = v
  29526. return s
  29527. }
  29528. // SetClientToken sets the ClientToken field's value.
  29529. func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
  29530. s.ClientToken = &v
  29531. return s
  29532. }
  29533. // SetDescription sets the Description field's value.
  29534. func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
  29535. s.Description = &v
  29536. return s
  29537. }
  29538. // SetDiskContainer sets the DiskContainer field's value.
  29539. func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
  29540. s.DiskContainer = v
  29541. return s
  29542. }
  29543. // SetDryRun sets the DryRun field's value.
  29544. func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
  29545. s.DryRun = &v
  29546. return s
  29547. }
  29548. // SetRoleName sets the RoleName field's value.
  29549. func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
  29550. s.RoleName = &v
  29551. return s
  29552. }
  29553. // Contains the output for ImportSnapshot.
  29554. type ImportSnapshotOutput struct {
  29555. _ struct{} `type:"structure"`
  29556. // A description of the import snapshot task.
  29557. Description *string `locationName:"description" type:"string"`
  29558. // The ID of the import snapshot task.
  29559. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  29560. // Information about the import snapshot task.
  29561. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  29562. }
  29563. // String returns the string representation
  29564. func (s ImportSnapshotOutput) String() string {
  29565. return awsutil.Prettify(s)
  29566. }
  29567. // GoString returns the string representation
  29568. func (s ImportSnapshotOutput) GoString() string {
  29569. return s.String()
  29570. }
  29571. // SetDescription sets the Description field's value.
  29572. func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
  29573. s.Description = &v
  29574. return s
  29575. }
  29576. // SetImportTaskId sets the ImportTaskId field's value.
  29577. func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
  29578. s.ImportTaskId = &v
  29579. return s
  29580. }
  29581. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  29582. func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
  29583. s.SnapshotTaskDetail = v
  29584. return s
  29585. }
  29586. // Describes an import snapshot task.
  29587. type ImportSnapshotTask struct {
  29588. _ struct{} `type:"structure"`
  29589. // A description of the import snapshot task.
  29590. Description *string `locationName:"description" type:"string"`
  29591. // The ID of the import snapshot task.
  29592. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  29593. // Describes an import snapshot task.
  29594. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  29595. }
  29596. // String returns the string representation
  29597. func (s ImportSnapshotTask) String() string {
  29598. return awsutil.Prettify(s)
  29599. }
  29600. // GoString returns the string representation
  29601. func (s ImportSnapshotTask) GoString() string {
  29602. return s.String()
  29603. }
  29604. // SetDescription sets the Description field's value.
  29605. func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
  29606. s.Description = &v
  29607. return s
  29608. }
  29609. // SetImportTaskId sets the ImportTaskId field's value.
  29610. func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
  29611. s.ImportTaskId = &v
  29612. return s
  29613. }
  29614. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  29615. func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
  29616. s.SnapshotTaskDetail = v
  29617. return s
  29618. }
  29619. // Contains the parameters for ImportVolume.
  29620. type ImportVolumeInput struct {
  29621. _ struct{} `type:"structure"`
  29622. // The Availability Zone for the resulting EBS volume.
  29623. //
  29624. // AvailabilityZone is a required field
  29625. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  29626. // A description of the volume.
  29627. Description *string `locationName:"description" type:"string"`
  29628. // Checks whether you have the required permissions for the action, without
  29629. // actually making the request, and provides an error response. If you have
  29630. // the required permissions, the error response is DryRunOperation. Otherwise,
  29631. // it is UnauthorizedOperation.
  29632. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29633. // The disk image.
  29634. //
  29635. // Image is a required field
  29636. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  29637. // The volume size.
  29638. //
  29639. // Volume is a required field
  29640. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  29641. }
  29642. // String returns the string representation
  29643. func (s ImportVolumeInput) String() string {
  29644. return awsutil.Prettify(s)
  29645. }
  29646. // GoString returns the string representation
  29647. func (s ImportVolumeInput) GoString() string {
  29648. return s.String()
  29649. }
  29650. // Validate inspects the fields of the type to determine if they are valid.
  29651. func (s *ImportVolumeInput) Validate() error {
  29652. invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
  29653. if s.AvailabilityZone == nil {
  29654. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  29655. }
  29656. if s.Image == nil {
  29657. invalidParams.Add(request.NewErrParamRequired("Image"))
  29658. }
  29659. if s.Volume == nil {
  29660. invalidParams.Add(request.NewErrParamRequired("Volume"))
  29661. }
  29662. if s.Image != nil {
  29663. if err := s.Image.Validate(); err != nil {
  29664. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  29665. }
  29666. }
  29667. if s.Volume != nil {
  29668. if err := s.Volume.Validate(); err != nil {
  29669. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  29670. }
  29671. }
  29672. if invalidParams.Len() > 0 {
  29673. return invalidParams
  29674. }
  29675. return nil
  29676. }
  29677. // SetAvailabilityZone sets the AvailabilityZone field's value.
  29678. func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
  29679. s.AvailabilityZone = &v
  29680. return s
  29681. }
  29682. // SetDescription sets the Description field's value.
  29683. func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
  29684. s.Description = &v
  29685. return s
  29686. }
  29687. // SetDryRun sets the DryRun field's value.
  29688. func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
  29689. s.DryRun = &v
  29690. return s
  29691. }
  29692. // SetImage sets the Image field's value.
  29693. func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
  29694. s.Image = v
  29695. return s
  29696. }
  29697. // SetVolume sets the Volume field's value.
  29698. func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
  29699. s.Volume = v
  29700. return s
  29701. }
  29702. // Contains the output for ImportVolume.
  29703. type ImportVolumeOutput struct {
  29704. _ struct{} `type:"structure"`
  29705. // Information about the conversion task.
  29706. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  29707. }
  29708. // String returns the string representation
  29709. func (s ImportVolumeOutput) String() string {
  29710. return awsutil.Prettify(s)
  29711. }
  29712. // GoString returns the string representation
  29713. func (s ImportVolumeOutput) GoString() string {
  29714. return s.String()
  29715. }
  29716. // SetConversionTask sets the ConversionTask field's value.
  29717. func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
  29718. s.ConversionTask = v
  29719. return s
  29720. }
  29721. // Describes an import volume task.
  29722. type ImportVolumeTaskDetails struct {
  29723. _ struct{} `type:"structure"`
  29724. // The Availability Zone where the resulting volume will reside.
  29725. //
  29726. // AvailabilityZone is a required field
  29727. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  29728. // The number of bytes converted so far.
  29729. //
  29730. // BytesConverted is a required field
  29731. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  29732. // The description you provided when starting the import volume task.
  29733. Description *string `locationName:"description" type:"string"`
  29734. // The image.
  29735. //
  29736. // Image is a required field
  29737. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  29738. // The volume.
  29739. //
  29740. // Volume is a required field
  29741. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  29742. }
  29743. // String returns the string representation
  29744. func (s ImportVolumeTaskDetails) String() string {
  29745. return awsutil.Prettify(s)
  29746. }
  29747. // GoString returns the string representation
  29748. func (s ImportVolumeTaskDetails) GoString() string {
  29749. return s.String()
  29750. }
  29751. // SetAvailabilityZone sets the AvailabilityZone field's value.
  29752. func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
  29753. s.AvailabilityZone = &v
  29754. return s
  29755. }
  29756. // SetBytesConverted sets the BytesConverted field's value.
  29757. func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
  29758. s.BytesConverted = &v
  29759. return s
  29760. }
  29761. // SetDescription sets the Description field's value.
  29762. func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
  29763. s.Description = &v
  29764. return s
  29765. }
  29766. // SetImage sets the Image field's value.
  29767. func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
  29768. s.Image = v
  29769. return s
  29770. }
  29771. // SetVolume sets the Volume field's value.
  29772. func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
  29773. s.Volume = v
  29774. return s
  29775. }
  29776. // Describes an instance.
  29777. type Instance struct {
  29778. _ struct{} `type:"structure"`
  29779. // The AMI launch index, which can be used to find this instance in the launch
  29780. // group.
  29781. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  29782. // The architecture of the image.
  29783. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  29784. // Any block device mapping entries for the instance.
  29785. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  29786. // The idempotency token you provided when you launched the instance, if applicable.
  29787. ClientToken *string `locationName:"clientToken" type:"string"`
  29788. // Indicates whether the instance is optimized for EBS I/O. This optimization
  29789. // provides dedicated throughput to Amazon EBS and an optimized configuration
  29790. // stack to provide optimal I/O performance. This optimization isn't available
  29791. // with all instance types. Additional usage charges apply when using an EBS
  29792. // Optimized instance.
  29793. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  29794. // Specifies whether enhanced networking with ENA is enabled.
  29795. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  29796. // The hypervisor type of the instance.
  29797. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  29798. // The IAM instance profile associated with the instance, if applicable.
  29799. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  29800. // The ID of the AMI used to launch the instance.
  29801. ImageId *string `locationName:"imageId" type:"string"`
  29802. // The ID of the instance.
  29803. InstanceId *string `locationName:"instanceId" type:"string"`
  29804. // Indicates whether this is a Spot instance or a Scheduled Instance.
  29805. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  29806. // The instance type.
  29807. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  29808. // The kernel associated with this instance, if applicable.
  29809. KernelId *string `locationName:"kernelId" type:"string"`
  29810. // The name of the key pair, if this instance was launched with an associated
  29811. // key pair.
  29812. KeyName *string `locationName:"keyName" type:"string"`
  29813. // The time the instance was launched.
  29814. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
  29815. // The monitoring information for the instance.
  29816. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  29817. // [EC2-VPC] One or more network interfaces for the instance.
  29818. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  29819. // The location where the instance launched, if applicable.
  29820. Placement *Placement `locationName:"placement" type:"structure"`
  29821. // The value is Windows for Windows instances; otherwise blank.
  29822. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  29823. // The private DNS name assigned to the instance. This DNS name can only be
  29824. // used inside the Amazon EC2 network. This name is not available until the
  29825. // instance enters the running state. For EC2-VPC, this name is only available
  29826. // if you've enabled DNS hostnames for your VPC.
  29827. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  29828. // The private IP address assigned to the instance.
  29829. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  29830. // The product codes attached to this instance, if applicable.
  29831. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  29832. // The public DNS name assigned to the instance. This name is not available
  29833. // until the instance enters the running state. For EC2-VPC, this name is only
  29834. // available if you've enabled DNS hostnames for your VPC.
  29835. PublicDnsName *string `locationName:"dnsName" type:"string"`
  29836. // The public IP address assigned to the instance, if applicable.
  29837. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  29838. // The RAM disk associated with this instance, if applicable.
  29839. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  29840. // The root device name (for example, /dev/sda1 or /dev/xvda).
  29841. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  29842. // The root device type used by the AMI. The AMI can use an EBS volume or an
  29843. // instance store volume.
  29844. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  29845. // One or more security groups for the instance.
  29846. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  29847. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  29848. // This controls whether source/destination checking is enabled on the instance.
  29849. // A value of true means checking is enabled, and false means checking is disabled.
  29850. // The value must be false for the instance to perform NAT. For more information,
  29851. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  29852. // in the Amazon Virtual Private Cloud User Guide.
  29853. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  29854. // If the request is a Spot instance request, the ID of the request.
  29855. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  29856. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  29857. // interface is enabled.
  29858. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  29859. // The current state of the instance.
  29860. State *InstanceState `locationName:"instanceState" type:"structure"`
  29861. // The reason for the most recent state transition.
  29862. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  29863. // The reason for the most recent state transition. This might be an empty string.
  29864. StateTransitionReason *string `locationName:"reason" type:"string"`
  29865. // [EC2-VPC] The ID of the subnet in which the instance is running.
  29866. SubnetId *string `locationName:"subnetId" type:"string"`
  29867. // Any tags assigned to the instance.
  29868. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  29869. // The virtualization type of the instance.
  29870. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  29871. // [EC2-VPC] The ID of the VPC in which the instance is running.
  29872. VpcId *string `locationName:"vpcId" type:"string"`
  29873. }
  29874. // String returns the string representation
  29875. func (s Instance) String() string {
  29876. return awsutil.Prettify(s)
  29877. }
  29878. // GoString returns the string representation
  29879. func (s Instance) GoString() string {
  29880. return s.String()
  29881. }
  29882. // SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
  29883. func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
  29884. s.AmiLaunchIndex = &v
  29885. return s
  29886. }
  29887. // SetArchitecture sets the Architecture field's value.
  29888. func (s *Instance) SetArchitecture(v string) *Instance {
  29889. s.Architecture = &v
  29890. return s
  29891. }
  29892. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  29893. func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
  29894. s.BlockDeviceMappings = v
  29895. return s
  29896. }
  29897. // SetClientToken sets the ClientToken field's value.
  29898. func (s *Instance) SetClientToken(v string) *Instance {
  29899. s.ClientToken = &v
  29900. return s
  29901. }
  29902. // SetEbsOptimized sets the EbsOptimized field's value.
  29903. func (s *Instance) SetEbsOptimized(v bool) *Instance {
  29904. s.EbsOptimized = &v
  29905. return s
  29906. }
  29907. // SetEnaSupport sets the EnaSupport field's value.
  29908. func (s *Instance) SetEnaSupport(v bool) *Instance {
  29909. s.EnaSupport = &v
  29910. return s
  29911. }
  29912. // SetHypervisor sets the Hypervisor field's value.
  29913. func (s *Instance) SetHypervisor(v string) *Instance {
  29914. s.Hypervisor = &v
  29915. return s
  29916. }
  29917. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  29918. func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
  29919. s.IamInstanceProfile = v
  29920. return s
  29921. }
  29922. // SetImageId sets the ImageId field's value.
  29923. func (s *Instance) SetImageId(v string) *Instance {
  29924. s.ImageId = &v
  29925. return s
  29926. }
  29927. // SetInstanceId sets the InstanceId field's value.
  29928. func (s *Instance) SetInstanceId(v string) *Instance {
  29929. s.InstanceId = &v
  29930. return s
  29931. }
  29932. // SetInstanceLifecycle sets the InstanceLifecycle field's value.
  29933. func (s *Instance) SetInstanceLifecycle(v string) *Instance {
  29934. s.InstanceLifecycle = &v
  29935. return s
  29936. }
  29937. // SetInstanceType sets the InstanceType field's value.
  29938. func (s *Instance) SetInstanceType(v string) *Instance {
  29939. s.InstanceType = &v
  29940. return s
  29941. }
  29942. // SetKernelId sets the KernelId field's value.
  29943. func (s *Instance) SetKernelId(v string) *Instance {
  29944. s.KernelId = &v
  29945. return s
  29946. }
  29947. // SetKeyName sets the KeyName field's value.
  29948. func (s *Instance) SetKeyName(v string) *Instance {
  29949. s.KeyName = &v
  29950. return s
  29951. }
  29952. // SetLaunchTime sets the LaunchTime field's value.
  29953. func (s *Instance) SetLaunchTime(v time.Time) *Instance {
  29954. s.LaunchTime = &v
  29955. return s
  29956. }
  29957. // SetMonitoring sets the Monitoring field's value.
  29958. func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
  29959. s.Monitoring = v
  29960. return s
  29961. }
  29962. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  29963. func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
  29964. s.NetworkInterfaces = v
  29965. return s
  29966. }
  29967. // SetPlacement sets the Placement field's value.
  29968. func (s *Instance) SetPlacement(v *Placement) *Instance {
  29969. s.Placement = v
  29970. return s
  29971. }
  29972. // SetPlatform sets the Platform field's value.
  29973. func (s *Instance) SetPlatform(v string) *Instance {
  29974. s.Platform = &v
  29975. return s
  29976. }
  29977. // SetPrivateDnsName sets the PrivateDnsName field's value.
  29978. func (s *Instance) SetPrivateDnsName(v string) *Instance {
  29979. s.PrivateDnsName = &v
  29980. return s
  29981. }
  29982. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  29983. func (s *Instance) SetPrivateIpAddress(v string) *Instance {
  29984. s.PrivateIpAddress = &v
  29985. return s
  29986. }
  29987. // SetProductCodes sets the ProductCodes field's value.
  29988. func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
  29989. s.ProductCodes = v
  29990. return s
  29991. }
  29992. // SetPublicDnsName sets the PublicDnsName field's value.
  29993. func (s *Instance) SetPublicDnsName(v string) *Instance {
  29994. s.PublicDnsName = &v
  29995. return s
  29996. }
  29997. // SetPublicIpAddress sets the PublicIpAddress field's value.
  29998. func (s *Instance) SetPublicIpAddress(v string) *Instance {
  29999. s.PublicIpAddress = &v
  30000. return s
  30001. }
  30002. // SetRamdiskId sets the RamdiskId field's value.
  30003. func (s *Instance) SetRamdiskId(v string) *Instance {
  30004. s.RamdiskId = &v
  30005. return s
  30006. }
  30007. // SetRootDeviceName sets the RootDeviceName field's value.
  30008. func (s *Instance) SetRootDeviceName(v string) *Instance {
  30009. s.RootDeviceName = &v
  30010. return s
  30011. }
  30012. // SetRootDeviceType sets the RootDeviceType field's value.
  30013. func (s *Instance) SetRootDeviceType(v string) *Instance {
  30014. s.RootDeviceType = &v
  30015. return s
  30016. }
  30017. // SetSecurityGroups sets the SecurityGroups field's value.
  30018. func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
  30019. s.SecurityGroups = v
  30020. return s
  30021. }
  30022. // SetSourceDestCheck sets the SourceDestCheck field's value.
  30023. func (s *Instance) SetSourceDestCheck(v bool) *Instance {
  30024. s.SourceDestCheck = &v
  30025. return s
  30026. }
  30027. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  30028. func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
  30029. s.SpotInstanceRequestId = &v
  30030. return s
  30031. }
  30032. // SetSriovNetSupport sets the SriovNetSupport field's value.
  30033. func (s *Instance) SetSriovNetSupport(v string) *Instance {
  30034. s.SriovNetSupport = &v
  30035. return s
  30036. }
  30037. // SetState sets the State field's value.
  30038. func (s *Instance) SetState(v *InstanceState) *Instance {
  30039. s.State = v
  30040. return s
  30041. }
  30042. // SetStateReason sets the StateReason field's value.
  30043. func (s *Instance) SetStateReason(v *StateReason) *Instance {
  30044. s.StateReason = v
  30045. return s
  30046. }
  30047. // SetStateTransitionReason sets the StateTransitionReason field's value.
  30048. func (s *Instance) SetStateTransitionReason(v string) *Instance {
  30049. s.StateTransitionReason = &v
  30050. return s
  30051. }
  30052. // SetSubnetId sets the SubnetId field's value.
  30053. func (s *Instance) SetSubnetId(v string) *Instance {
  30054. s.SubnetId = &v
  30055. return s
  30056. }
  30057. // SetTags sets the Tags field's value.
  30058. func (s *Instance) SetTags(v []*Tag) *Instance {
  30059. s.Tags = v
  30060. return s
  30061. }
  30062. // SetVirtualizationType sets the VirtualizationType field's value.
  30063. func (s *Instance) SetVirtualizationType(v string) *Instance {
  30064. s.VirtualizationType = &v
  30065. return s
  30066. }
  30067. // SetVpcId sets the VpcId field's value.
  30068. func (s *Instance) SetVpcId(v string) *Instance {
  30069. s.VpcId = &v
  30070. return s
  30071. }
  30072. // Describes a block device mapping.
  30073. type InstanceBlockDeviceMapping struct {
  30074. _ struct{} `type:"structure"`
  30075. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  30076. DeviceName *string `locationName:"deviceName" type:"string"`
  30077. // Parameters used to automatically set up EBS volumes when the instance is
  30078. // launched.
  30079. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  30080. }
  30081. // String returns the string representation
  30082. func (s InstanceBlockDeviceMapping) String() string {
  30083. return awsutil.Prettify(s)
  30084. }
  30085. // GoString returns the string representation
  30086. func (s InstanceBlockDeviceMapping) GoString() string {
  30087. return s.String()
  30088. }
  30089. // SetDeviceName sets the DeviceName field's value.
  30090. func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
  30091. s.DeviceName = &v
  30092. return s
  30093. }
  30094. // SetEbs sets the Ebs field's value.
  30095. func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
  30096. s.Ebs = v
  30097. return s
  30098. }
  30099. // Describes a block device mapping entry.
  30100. type InstanceBlockDeviceMappingSpecification struct {
  30101. _ struct{} `type:"structure"`
  30102. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  30103. DeviceName *string `locationName:"deviceName" type:"string"`
  30104. // Parameters used to automatically set up EBS volumes when the instance is
  30105. // launched.
  30106. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  30107. // suppress the specified device included in the block device mapping.
  30108. NoDevice *string `locationName:"noDevice" type:"string"`
  30109. // The virtual device name.
  30110. VirtualName *string `locationName:"virtualName" type:"string"`
  30111. }
  30112. // String returns the string representation
  30113. func (s InstanceBlockDeviceMappingSpecification) String() string {
  30114. return awsutil.Prettify(s)
  30115. }
  30116. // GoString returns the string representation
  30117. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  30118. return s.String()
  30119. }
  30120. // SetDeviceName sets the DeviceName field's value.
  30121. func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
  30122. s.DeviceName = &v
  30123. return s
  30124. }
  30125. // SetEbs sets the Ebs field's value.
  30126. func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
  30127. s.Ebs = v
  30128. return s
  30129. }
  30130. // SetNoDevice sets the NoDevice field's value.
  30131. func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
  30132. s.NoDevice = &v
  30133. return s
  30134. }
  30135. // SetVirtualName sets the VirtualName field's value.
  30136. func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
  30137. s.VirtualName = &v
  30138. return s
  30139. }
  30140. // Information about the instance type that the Dedicated Host supports.
  30141. type InstanceCapacity struct {
  30142. _ struct{} `type:"structure"`
  30143. // The number of instances that can still be launched onto the Dedicated Host.
  30144. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
  30145. // The instance type size supported by the Dedicated Host.
  30146. InstanceType *string `locationName:"instanceType" type:"string"`
  30147. // The total number of instances that can be launched onto the Dedicated Host.
  30148. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
  30149. }
  30150. // String returns the string representation
  30151. func (s InstanceCapacity) String() string {
  30152. return awsutil.Prettify(s)
  30153. }
  30154. // GoString returns the string representation
  30155. func (s InstanceCapacity) GoString() string {
  30156. return s.String()
  30157. }
  30158. // SetAvailableCapacity sets the AvailableCapacity field's value.
  30159. func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
  30160. s.AvailableCapacity = &v
  30161. return s
  30162. }
  30163. // SetInstanceType sets the InstanceType field's value.
  30164. func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
  30165. s.InstanceType = &v
  30166. return s
  30167. }
  30168. // SetTotalCapacity sets the TotalCapacity field's value.
  30169. func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
  30170. s.TotalCapacity = &v
  30171. return s
  30172. }
  30173. // Describes a Reserved Instance listing state.
  30174. type InstanceCount struct {
  30175. _ struct{} `type:"structure"`
  30176. // The number of listed Reserved Instances in the state specified by the state.
  30177. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  30178. // The states of the listed Reserved Instances.
  30179. State *string `locationName:"state" type:"string" enum:"ListingState"`
  30180. }
  30181. // String returns the string representation
  30182. func (s InstanceCount) String() string {
  30183. return awsutil.Prettify(s)
  30184. }
  30185. // GoString returns the string representation
  30186. func (s InstanceCount) GoString() string {
  30187. return s.String()
  30188. }
  30189. // SetInstanceCount sets the InstanceCount field's value.
  30190. func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
  30191. s.InstanceCount = &v
  30192. return s
  30193. }
  30194. // SetState sets the State field's value.
  30195. func (s *InstanceCount) SetState(v string) *InstanceCount {
  30196. s.State = &v
  30197. return s
  30198. }
  30199. // Describes an instance to export.
  30200. type InstanceExportDetails struct {
  30201. _ struct{} `type:"structure"`
  30202. // The ID of the resource being exported.
  30203. InstanceId *string `locationName:"instanceId" type:"string"`
  30204. // The target virtualization environment.
  30205. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  30206. }
  30207. // String returns the string representation
  30208. func (s InstanceExportDetails) String() string {
  30209. return awsutil.Prettify(s)
  30210. }
  30211. // GoString returns the string representation
  30212. func (s InstanceExportDetails) GoString() string {
  30213. return s.String()
  30214. }
  30215. // SetInstanceId sets the InstanceId field's value.
  30216. func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
  30217. s.InstanceId = &v
  30218. return s
  30219. }
  30220. // SetTargetEnvironment sets the TargetEnvironment field's value.
  30221. func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
  30222. s.TargetEnvironment = &v
  30223. return s
  30224. }
  30225. // Describes the monitoring information of the instance.
  30226. type InstanceMonitoring struct {
  30227. _ struct{} `type:"structure"`
  30228. // The ID of the instance.
  30229. InstanceId *string `locationName:"instanceId" type:"string"`
  30230. // The monitoring information.
  30231. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  30232. }
  30233. // String returns the string representation
  30234. func (s InstanceMonitoring) String() string {
  30235. return awsutil.Prettify(s)
  30236. }
  30237. // GoString returns the string representation
  30238. func (s InstanceMonitoring) GoString() string {
  30239. return s.String()
  30240. }
  30241. // SetInstanceId sets the InstanceId field's value.
  30242. func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
  30243. s.InstanceId = &v
  30244. return s
  30245. }
  30246. // SetMonitoring sets the Monitoring field's value.
  30247. func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
  30248. s.Monitoring = v
  30249. return s
  30250. }
  30251. // Describes a network interface.
  30252. type InstanceNetworkInterface struct {
  30253. _ struct{} `type:"structure"`
  30254. // The association information for an Elastic IP associated with the network
  30255. // interface.
  30256. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  30257. // The network interface attachment.
  30258. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  30259. // The description.
  30260. Description *string `locationName:"description" type:"string"`
  30261. // One or more security groups.
  30262. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  30263. // The MAC address.
  30264. MacAddress *string `locationName:"macAddress" type:"string"`
  30265. // The ID of the network interface.
  30266. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  30267. // The ID of the AWS account that created the network interface.
  30268. OwnerId *string `locationName:"ownerId" type:"string"`
  30269. // The private DNS name.
  30270. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  30271. // The IP address of the network interface within the subnet.
  30272. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  30273. // The private IP addresses associated with the network interface.
  30274. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  30275. // Indicates whether to validate network traffic to or from this network interface.
  30276. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  30277. // The status of the network interface.
  30278. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  30279. // The ID of the subnet.
  30280. SubnetId *string `locationName:"subnetId" type:"string"`
  30281. // The ID of the VPC.
  30282. VpcId *string `locationName:"vpcId" type:"string"`
  30283. }
  30284. // String returns the string representation
  30285. func (s InstanceNetworkInterface) String() string {
  30286. return awsutil.Prettify(s)
  30287. }
  30288. // GoString returns the string representation
  30289. func (s InstanceNetworkInterface) GoString() string {
  30290. return s.String()
  30291. }
  30292. // SetAssociation sets the Association field's value.
  30293. func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
  30294. s.Association = v
  30295. return s
  30296. }
  30297. // SetAttachment sets the Attachment field's value.
  30298. func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
  30299. s.Attachment = v
  30300. return s
  30301. }
  30302. // SetDescription sets the Description field's value.
  30303. func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
  30304. s.Description = &v
  30305. return s
  30306. }
  30307. // SetGroups sets the Groups field's value.
  30308. func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
  30309. s.Groups = v
  30310. return s
  30311. }
  30312. // SetMacAddress sets the MacAddress field's value.
  30313. func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
  30314. s.MacAddress = &v
  30315. return s
  30316. }
  30317. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  30318. func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
  30319. s.NetworkInterfaceId = &v
  30320. return s
  30321. }
  30322. // SetOwnerId sets the OwnerId field's value.
  30323. func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
  30324. s.OwnerId = &v
  30325. return s
  30326. }
  30327. // SetPrivateDnsName sets the PrivateDnsName field's value.
  30328. func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
  30329. s.PrivateDnsName = &v
  30330. return s
  30331. }
  30332. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  30333. func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
  30334. s.PrivateIpAddress = &v
  30335. return s
  30336. }
  30337. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  30338. func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
  30339. s.PrivateIpAddresses = v
  30340. return s
  30341. }
  30342. // SetSourceDestCheck sets the SourceDestCheck field's value.
  30343. func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
  30344. s.SourceDestCheck = &v
  30345. return s
  30346. }
  30347. // SetStatus sets the Status field's value.
  30348. func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
  30349. s.Status = &v
  30350. return s
  30351. }
  30352. // SetSubnetId sets the SubnetId field's value.
  30353. func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
  30354. s.SubnetId = &v
  30355. return s
  30356. }
  30357. // SetVpcId sets the VpcId field's value.
  30358. func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
  30359. s.VpcId = &v
  30360. return s
  30361. }
  30362. // Describes association information for an Elastic IP address.
  30363. type InstanceNetworkInterfaceAssociation struct {
  30364. _ struct{} `type:"structure"`
  30365. // The ID of the owner of the Elastic IP address.
  30366. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  30367. // The public DNS name.
  30368. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  30369. // The public IP address or Elastic IP address bound to the network interface.
  30370. PublicIp *string `locationName:"publicIp" type:"string"`
  30371. }
  30372. // String returns the string representation
  30373. func (s InstanceNetworkInterfaceAssociation) String() string {
  30374. return awsutil.Prettify(s)
  30375. }
  30376. // GoString returns the string representation
  30377. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  30378. return s.String()
  30379. }
  30380. // SetIpOwnerId sets the IpOwnerId field's value.
  30381. func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
  30382. s.IpOwnerId = &v
  30383. return s
  30384. }
  30385. // SetPublicDnsName sets the PublicDnsName field's value.
  30386. func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
  30387. s.PublicDnsName = &v
  30388. return s
  30389. }
  30390. // SetPublicIp sets the PublicIp field's value.
  30391. func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
  30392. s.PublicIp = &v
  30393. return s
  30394. }
  30395. // Describes a network interface attachment.
  30396. type InstanceNetworkInterfaceAttachment struct {
  30397. _ struct{} `type:"structure"`
  30398. // The time stamp when the attachment initiated.
  30399. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  30400. // The ID of the network interface attachment.
  30401. AttachmentId *string `locationName:"attachmentId" type:"string"`
  30402. // Indicates whether the network interface is deleted when the instance is terminated.
  30403. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  30404. // The index of the device on the instance for the network interface attachment.
  30405. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  30406. // The attachment state.
  30407. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  30408. }
  30409. // String returns the string representation
  30410. func (s InstanceNetworkInterfaceAttachment) String() string {
  30411. return awsutil.Prettify(s)
  30412. }
  30413. // GoString returns the string representation
  30414. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  30415. return s.String()
  30416. }
  30417. // SetAttachTime sets the AttachTime field's value.
  30418. func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
  30419. s.AttachTime = &v
  30420. return s
  30421. }
  30422. // SetAttachmentId sets the AttachmentId field's value.
  30423. func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
  30424. s.AttachmentId = &v
  30425. return s
  30426. }
  30427. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  30428. func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
  30429. s.DeleteOnTermination = &v
  30430. return s
  30431. }
  30432. // SetDeviceIndex sets the DeviceIndex field's value.
  30433. func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
  30434. s.DeviceIndex = &v
  30435. return s
  30436. }
  30437. // SetStatus sets the Status field's value.
  30438. func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
  30439. s.Status = &v
  30440. return s
  30441. }
  30442. // Describes a network interface.
  30443. type InstanceNetworkInterfaceSpecification struct {
  30444. _ struct{} `type:"structure"`
  30445. // Indicates whether to assign a public IP address to an instance you launch
  30446. // in a VPC. The public IP address can only be assigned to a network interface
  30447. // for eth0, and can only be assigned to a new network interface, not an existing
  30448. // one. You cannot specify more than one network interface in the request. If
  30449. // launching into a default subnet, the default value is true.
  30450. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  30451. // If set to true, the interface is deleted when the instance is terminated.
  30452. // You can specify true only if creating a new network interface when launching
  30453. // an instance.
  30454. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  30455. // The description of the network interface. Applies only if creating a network
  30456. // interface when launching an instance.
  30457. Description *string `locationName:"description" type:"string"`
  30458. // The index of the device on the instance for the network interface attachment.
  30459. // If you are specifying a network interface in a RunInstances request, you
  30460. // must provide the device index.
  30461. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  30462. // The IDs of the security groups for the network interface. Applies only if
  30463. // creating a network interface when launching an instance.
  30464. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  30465. // The ID of the network interface.
  30466. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  30467. // The private IP address of the network interface. Applies only if creating
  30468. // a network interface when launching an instance. You cannot specify this option
  30469. // if you're launching more than one instance in a RunInstances request.
  30470. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  30471. // One or more private IP addresses to assign to the network interface. Only
  30472. // one private IP address can be designated as primary. You cannot specify this
  30473. // option if you're launching more than one instance in a RunInstances request.
  30474. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  30475. // The number of secondary private IP addresses. You can't specify this option
  30476. // and specify more than one private IP address using the private IP addresses
  30477. // option. You cannot specify this option if you're launching more than one
  30478. // instance in a RunInstances request.
  30479. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  30480. // The ID of the subnet associated with the network string. Applies only if
  30481. // creating a network interface when launching an instance.
  30482. SubnetId *string `locationName:"subnetId" type:"string"`
  30483. }
  30484. // String returns the string representation
  30485. func (s InstanceNetworkInterfaceSpecification) String() string {
  30486. return awsutil.Prettify(s)
  30487. }
  30488. // GoString returns the string representation
  30489. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  30490. return s.String()
  30491. }
  30492. // Validate inspects the fields of the type to determine if they are valid.
  30493. func (s *InstanceNetworkInterfaceSpecification) Validate() error {
  30494. invalidParams := request.ErrInvalidParams{Context: "InstanceNetworkInterfaceSpecification"}
  30495. if s.PrivateIpAddresses != nil {
  30496. for i, v := range s.PrivateIpAddresses {
  30497. if v == nil {
  30498. continue
  30499. }
  30500. if err := v.Validate(); err != nil {
  30501. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  30502. }
  30503. }
  30504. }
  30505. if invalidParams.Len() > 0 {
  30506. return invalidParams
  30507. }
  30508. return nil
  30509. }
  30510. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  30511. func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
  30512. s.AssociatePublicIpAddress = &v
  30513. return s
  30514. }
  30515. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  30516. func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
  30517. s.DeleteOnTermination = &v
  30518. return s
  30519. }
  30520. // SetDescription sets the Description field's value.
  30521. func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
  30522. s.Description = &v
  30523. return s
  30524. }
  30525. // SetDeviceIndex sets the DeviceIndex field's value.
  30526. func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
  30527. s.DeviceIndex = &v
  30528. return s
  30529. }
  30530. // SetGroups sets the Groups field's value.
  30531. func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
  30532. s.Groups = v
  30533. return s
  30534. }
  30535. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  30536. func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
  30537. s.NetworkInterfaceId = &v
  30538. return s
  30539. }
  30540. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  30541. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
  30542. s.PrivateIpAddress = &v
  30543. return s
  30544. }
  30545. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  30546. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
  30547. s.PrivateIpAddresses = v
  30548. return s
  30549. }
  30550. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  30551. func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  30552. s.SecondaryPrivateIpAddressCount = &v
  30553. return s
  30554. }
  30555. // SetSubnetId sets the SubnetId field's value.
  30556. func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
  30557. s.SubnetId = &v
  30558. return s
  30559. }
  30560. // Describes a private IP address.
  30561. type InstancePrivateIpAddress struct {
  30562. _ struct{} `type:"structure"`
  30563. // The association information for an Elastic IP address for the network interface.
  30564. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  30565. // Indicates whether this IP address is the primary private IP address of the
  30566. // network interface.
  30567. Primary *bool `locationName:"primary" type:"boolean"`
  30568. // The private DNS name.
  30569. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  30570. // The private IP address of the network interface.
  30571. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  30572. }
  30573. // String returns the string representation
  30574. func (s InstancePrivateIpAddress) String() string {
  30575. return awsutil.Prettify(s)
  30576. }
  30577. // GoString returns the string representation
  30578. func (s InstancePrivateIpAddress) GoString() string {
  30579. return s.String()
  30580. }
  30581. // SetAssociation sets the Association field's value.
  30582. func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
  30583. s.Association = v
  30584. return s
  30585. }
  30586. // SetPrimary sets the Primary field's value.
  30587. func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
  30588. s.Primary = &v
  30589. return s
  30590. }
  30591. // SetPrivateDnsName sets the PrivateDnsName field's value.
  30592. func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
  30593. s.PrivateDnsName = &v
  30594. return s
  30595. }
  30596. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  30597. func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
  30598. s.PrivateIpAddress = &v
  30599. return s
  30600. }
  30601. // Describes the current state of the instance.
  30602. type InstanceState struct {
  30603. _ struct{} `type:"structure"`
  30604. // The low byte represents the state. The high byte is an opaque internal value
  30605. // and should be ignored.
  30606. //
  30607. // * 0 : pending
  30608. //
  30609. // * 16 : running
  30610. //
  30611. // * 32 : shutting-down
  30612. //
  30613. // * 48 : terminated
  30614. //
  30615. // * 64 : stopping
  30616. //
  30617. // * 80 : stopped
  30618. Code *int64 `locationName:"code" type:"integer"`
  30619. // The current state of the instance.
  30620. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  30621. }
  30622. // String returns the string representation
  30623. func (s InstanceState) String() string {
  30624. return awsutil.Prettify(s)
  30625. }
  30626. // GoString returns the string representation
  30627. func (s InstanceState) GoString() string {
  30628. return s.String()
  30629. }
  30630. // SetCode sets the Code field's value.
  30631. func (s *InstanceState) SetCode(v int64) *InstanceState {
  30632. s.Code = &v
  30633. return s
  30634. }
  30635. // SetName sets the Name field's value.
  30636. func (s *InstanceState) SetName(v string) *InstanceState {
  30637. s.Name = &v
  30638. return s
  30639. }
  30640. // Describes an instance state change.
  30641. type InstanceStateChange struct {
  30642. _ struct{} `type:"structure"`
  30643. // The current state of the instance.
  30644. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  30645. // The ID of the instance.
  30646. InstanceId *string `locationName:"instanceId" type:"string"`
  30647. // The previous state of the instance.
  30648. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  30649. }
  30650. // String returns the string representation
  30651. func (s InstanceStateChange) String() string {
  30652. return awsutil.Prettify(s)
  30653. }
  30654. // GoString returns the string representation
  30655. func (s InstanceStateChange) GoString() string {
  30656. return s.String()
  30657. }
  30658. // SetCurrentState sets the CurrentState field's value.
  30659. func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
  30660. s.CurrentState = v
  30661. return s
  30662. }
  30663. // SetInstanceId sets the InstanceId field's value.
  30664. func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
  30665. s.InstanceId = &v
  30666. return s
  30667. }
  30668. // SetPreviousState sets the PreviousState field's value.
  30669. func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
  30670. s.PreviousState = v
  30671. return s
  30672. }
  30673. // Describes the status of an instance.
  30674. type InstanceStatus struct {
  30675. _ struct{} `type:"structure"`
  30676. // The Availability Zone of the instance.
  30677. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  30678. // Any scheduled events associated with the instance.
  30679. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  30680. // The ID of the instance.
  30681. InstanceId *string `locationName:"instanceId" type:"string"`
  30682. // The intended state of the instance. DescribeInstanceStatus requires that
  30683. // an instance be in the running state.
  30684. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  30685. // Reports impaired functionality that stems from issues internal to the instance,
  30686. // such as impaired reachability.
  30687. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  30688. // Reports impaired functionality that stems from issues related to the systems
  30689. // that support an instance, such as hardware failures and network connectivity
  30690. // problems.
  30691. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  30692. }
  30693. // String returns the string representation
  30694. func (s InstanceStatus) String() string {
  30695. return awsutil.Prettify(s)
  30696. }
  30697. // GoString returns the string representation
  30698. func (s InstanceStatus) GoString() string {
  30699. return s.String()
  30700. }
  30701. // SetAvailabilityZone sets the AvailabilityZone field's value.
  30702. func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
  30703. s.AvailabilityZone = &v
  30704. return s
  30705. }
  30706. // SetEvents sets the Events field's value.
  30707. func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
  30708. s.Events = v
  30709. return s
  30710. }
  30711. // SetInstanceId sets the InstanceId field's value.
  30712. func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
  30713. s.InstanceId = &v
  30714. return s
  30715. }
  30716. // SetInstanceState sets the InstanceState field's value.
  30717. func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
  30718. s.InstanceState = v
  30719. return s
  30720. }
  30721. // SetInstanceStatus sets the InstanceStatus field's value.
  30722. func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
  30723. s.InstanceStatus = v
  30724. return s
  30725. }
  30726. // SetSystemStatus sets the SystemStatus field's value.
  30727. func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
  30728. s.SystemStatus = v
  30729. return s
  30730. }
  30731. // Describes the instance status.
  30732. type InstanceStatusDetails struct {
  30733. _ struct{} `type:"structure"`
  30734. // The time when a status check failed. For an instance that was launched and
  30735. // impaired, this is the time when the instance was launched.
  30736. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
  30737. // The type of instance status.
  30738. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  30739. // The status.
  30740. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  30741. }
  30742. // String returns the string representation
  30743. func (s InstanceStatusDetails) String() string {
  30744. return awsutil.Prettify(s)
  30745. }
  30746. // GoString returns the string representation
  30747. func (s InstanceStatusDetails) GoString() string {
  30748. return s.String()
  30749. }
  30750. // SetImpairedSince sets the ImpairedSince field's value.
  30751. func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
  30752. s.ImpairedSince = &v
  30753. return s
  30754. }
  30755. // SetName sets the Name field's value.
  30756. func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
  30757. s.Name = &v
  30758. return s
  30759. }
  30760. // SetStatus sets the Status field's value.
  30761. func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
  30762. s.Status = &v
  30763. return s
  30764. }
  30765. // Describes a scheduled event for an instance.
  30766. type InstanceStatusEvent struct {
  30767. _ struct{} `type:"structure"`
  30768. // The event code.
  30769. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  30770. // A description of the event.
  30771. //
  30772. // After a scheduled event is completed, it can still be described for up to
  30773. // a week. If the event has been completed, this description starts with the
  30774. // following text: [Completed].
  30775. Description *string `locationName:"description" type:"string"`
  30776. // The latest scheduled end time for the event.
  30777. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  30778. // The earliest scheduled start time for the event.
  30779. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  30780. }
  30781. // String returns the string representation
  30782. func (s InstanceStatusEvent) String() string {
  30783. return awsutil.Prettify(s)
  30784. }
  30785. // GoString returns the string representation
  30786. func (s InstanceStatusEvent) GoString() string {
  30787. return s.String()
  30788. }
  30789. // SetCode sets the Code field's value.
  30790. func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
  30791. s.Code = &v
  30792. return s
  30793. }
  30794. // SetDescription sets the Description field's value.
  30795. func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
  30796. s.Description = &v
  30797. return s
  30798. }
  30799. // SetNotAfter sets the NotAfter field's value.
  30800. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
  30801. s.NotAfter = &v
  30802. return s
  30803. }
  30804. // SetNotBefore sets the NotBefore field's value.
  30805. func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
  30806. s.NotBefore = &v
  30807. return s
  30808. }
  30809. // Describes the status of an instance.
  30810. type InstanceStatusSummary struct {
  30811. _ struct{} `type:"structure"`
  30812. // The system instance health or application instance health.
  30813. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  30814. // The status.
  30815. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  30816. }
  30817. // String returns the string representation
  30818. func (s InstanceStatusSummary) String() string {
  30819. return awsutil.Prettify(s)
  30820. }
  30821. // GoString returns the string representation
  30822. func (s InstanceStatusSummary) GoString() string {
  30823. return s.String()
  30824. }
  30825. // SetDetails sets the Details field's value.
  30826. func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
  30827. s.Details = v
  30828. return s
  30829. }
  30830. // SetStatus sets the Status field's value.
  30831. func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
  30832. s.Status = &v
  30833. return s
  30834. }
  30835. // Describes an Internet gateway.
  30836. type InternetGateway struct {
  30837. _ struct{} `type:"structure"`
  30838. // Any VPCs attached to the Internet gateway.
  30839. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  30840. // The ID of the Internet gateway.
  30841. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  30842. // Any tags assigned to the Internet gateway.
  30843. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  30844. }
  30845. // String returns the string representation
  30846. func (s InternetGateway) String() string {
  30847. return awsutil.Prettify(s)
  30848. }
  30849. // GoString returns the string representation
  30850. func (s InternetGateway) GoString() string {
  30851. return s.String()
  30852. }
  30853. // SetAttachments sets the Attachments field's value.
  30854. func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
  30855. s.Attachments = v
  30856. return s
  30857. }
  30858. // SetInternetGatewayId sets the InternetGatewayId field's value.
  30859. func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
  30860. s.InternetGatewayId = &v
  30861. return s
  30862. }
  30863. // SetTags sets the Tags field's value.
  30864. func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
  30865. s.Tags = v
  30866. return s
  30867. }
  30868. // Describes the attachment of a VPC to an Internet gateway.
  30869. type InternetGatewayAttachment struct {
  30870. _ struct{} `type:"structure"`
  30871. // The current state of the attachment.
  30872. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  30873. // The ID of the VPC.
  30874. VpcId *string `locationName:"vpcId" type:"string"`
  30875. }
  30876. // String returns the string representation
  30877. func (s InternetGatewayAttachment) String() string {
  30878. return awsutil.Prettify(s)
  30879. }
  30880. // GoString returns the string representation
  30881. func (s InternetGatewayAttachment) GoString() string {
  30882. return s.String()
  30883. }
  30884. // SetState sets the State field's value.
  30885. func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
  30886. s.State = &v
  30887. return s
  30888. }
  30889. // SetVpcId sets the VpcId field's value.
  30890. func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
  30891. s.VpcId = &v
  30892. return s
  30893. }
  30894. // Describes a security group rule.
  30895. type IpPermission struct {
  30896. _ struct{} `type:"structure"`
  30897. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  30898. // A value of -1 indicates all ICMP types.
  30899. FromPort *int64 `locationName:"fromPort" type:"integer"`
  30900. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers
  30901. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  30902. //
  30903. // [EC2-VPC only] When you authorize or revoke security group rules, you can
  30904. // use -1 to specify all.
  30905. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  30906. // One or more IP ranges.
  30907. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  30908. // (Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and DescribeSecurityGroups
  30909. // only) One or more prefix list IDs for an AWS service. In an AuthorizeSecurityGroupEgress
  30910. // request, this is the AWS service that you want to access through a VPC endpoint
  30911. // from instances associated with the security group.
  30912. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  30913. // The end of port range for the TCP and UDP protocols, or an ICMP code. A value
  30914. // of -1 indicates all ICMP codes for the specified ICMP type.
  30915. ToPort *int64 `locationName:"toPort" type:"integer"`
  30916. // One or more security group and AWS account ID pairs.
  30917. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  30918. }
  30919. // String returns the string representation
  30920. func (s IpPermission) String() string {
  30921. return awsutil.Prettify(s)
  30922. }
  30923. // GoString returns the string representation
  30924. func (s IpPermission) GoString() string {
  30925. return s.String()
  30926. }
  30927. // SetFromPort sets the FromPort field's value.
  30928. func (s *IpPermission) SetFromPort(v int64) *IpPermission {
  30929. s.FromPort = &v
  30930. return s
  30931. }
  30932. // SetIpProtocol sets the IpProtocol field's value.
  30933. func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
  30934. s.IpProtocol = &v
  30935. return s
  30936. }
  30937. // SetIpRanges sets the IpRanges field's value.
  30938. func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
  30939. s.IpRanges = v
  30940. return s
  30941. }
  30942. // SetPrefixListIds sets the PrefixListIds field's value.
  30943. func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
  30944. s.PrefixListIds = v
  30945. return s
  30946. }
  30947. // SetToPort sets the ToPort field's value.
  30948. func (s *IpPermission) SetToPort(v int64) *IpPermission {
  30949. s.ToPort = &v
  30950. return s
  30951. }
  30952. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  30953. func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
  30954. s.UserIdGroupPairs = v
  30955. return s
  30956. }
  30957. // Describes an IP range.
  30958. type IpRange struct {
  30959. _ struct{} `type:"structure"`
  30960. // The CIDR range. You can either specify a CIDR range or a source security
  30961. // group, not both.
  30962. CidrIp *string `locationName:"cidrIp" type:"string"`
  30963. }
  30964. // String returns the string representation
  30965. func (s IpRange) String() string {
  30966. return awsutil.Prettify(s)
  30967. }
  30968. // GoString returns the string representation
  30969. func (s IpRange) GoString() string {
  30970. return s.String()
  30971. }
  30972. // SetCidrIp sets the CidrIp field's value.
  30973. func (s *IpRange) SetCidrIp(v string) *IpRange {
  30974. s.CidrIp = &v
  30975. return s
  30976. }
  30977. // Describes a key pair.
  30978. type KeyPairInfo struct {
  30979. _ struct{} `type:"structure"`
  30980. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  30981. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  30982. // the public key, this is the MD5 public key fingerprint as specified in section
  30983. // 4 of RFC4716.
  30984. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  30985. // The name of the key pair.
  30986. KeyName *string `locationName:"keyName" type:"string"`
  30987. }
  30988. // String returns the string representation
  30989. func (s KeyPairInfo) String() string {
  30990. return awsutil.Prettify(s)
  30991. }
  30992. // GoString returns the string representation
  30993. func (s KeyPairInfo) GoString() string {
  30994. return s.String()
  30995. }
  30996. // SetKeyFingerprint sets the KeyFingerprint field's value.
  30997. func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
  30998. s.KeyFingerprint = &v
  30999. return s
  31000. }
  31001. // SetKeyName sets the KeyName field's value.
  31002. func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
  31003. s.KeyName = &v
  31004. return s
  31005. }
  31006. // Describes a launch permission.
  31007. type LaunchPermission struct {
  31008. _ struct{} `type:"structure"`
  31009. // The name of the group.
  31010. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  31011. // The AWS account ID.
  31012. UserId *string `locationName:"userId" type:"string"`
  31013. }
  31014. // String returns the string representation
  31015. func (s LaunchPermission) String() string {
  31016. return awsutil.Prettify(s)
  31017. }
  31018. // GoString returns the string representation
  31019. func (s LaunchPermission) GoString() string {
  31020. return s.String()
  31021. }
  31022. // SetGroup sets the Group field's value.
  31023. func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
  31024. s.Group = &v
  31025. return s
  31026. }
  31027. // SetUserId sets the UserId field's value.
  31028. func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
  31029. s.UserId = &v
  31030. return s
  31031. }
  31032. // Describes a launch permission modification.
  31033. type LaunchPermissionModifications struct {
  31034. _ struct{} `type:"structure"`
  31035. // The AWS account ID to add to the list of launch permissions for the AMI.
  31036. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  31037. // The AWS account ID to remove from the list of launch permissions for the
  31038. // AMI.
  31039. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  31040. }
  31041. // String returns the string representation
  31042. func (s LaunchPermissionModifications) String() string {
  31043. return awsutil.Prettify(s)
  31044. }
  31045. // GoString returns the string representation
  31046. func (s LaunchPermissionModifications) GoString() string {
  31047. return s.String()
  31048. }
  31049. // SetAdd sets the Add field's value.
  31050. func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
  31051. s.Add = v
  31052. return s
  31053. }
  31054. // SetRemove sets the Remove field's value.
  31055. func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
  31056. s.Remove = v
  31057. return s
  31058. }
  31059. // Describes the launch specification for an instance.
  31060. type LaunchSpecification struct {
  31061. _ struct{} `type:"structure"`
  31062. // Deprecated.
  31063. AddressingType *string `locationName:"addressingType" type:"string"`
  31064. // One or more block device mapping entries.
  31065. //
  31066. // Although you can specify encrypted EBS volumes in this block device mapping
  31067. // for your Spot Instances, these volumes are not encrypted.
  31068. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  31069. // Indicates whether the instance is optimized for EBS I/O. This optimization
  31070. // provides dedicated throughput to Amazon EBS and an optimized configuration
  31071. // stack to provide optimal EBS I/O performance. This optimization isn't available
  31072. // with all instance types. Additional usage charges apply when using an EBS
  31073. // Optimized instance.
  31074. //
  31075. // Default: false
  31076. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  31077. // The IAM instance profile.
  31078. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  31079. // The ID of the AMI.
  31080. ImageId *string `locationName:"imageId" type:"string"`
  31081. // The instance type.
  31082. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  31083. // The ID of the kernel.
  31084. KernelId *string `locationName:"kernelId" type:"string"`
  31085. // The name of the key pair.
  31086. KeyName *string `locationName:"keyName" type:"string"`
  31087. // Describes the monitoring for the instance.
  31088. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  31089. // One or more network interfaces.
  31090. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  31091. // The placement information for the instance.
  31092. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  31093. // The ID of the RAM disk.
  31094. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  31095. // One or more security groups. When requesting instances in a VPC, you must
  31096. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  31097. // you can specify the names or the IDs of the security groups.
  31098. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  31099. // The ID of the subnet in which to launch the instance.
  31100. SubnetId *string `locationName:"subnetId" type:"string"`
  31101. // The user data to make available to the instances. If you are using an AWS
  31102. // SDK or command line tool, Base64-encoding is performed for you, and you can
  31103. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  31104. UserData *string `locationName:"userData" type:"string"`
  31105. }
  31106. // String returns the string representation
  31107. func (s LaunchSpecification) String() string {
  31108. return awsutil.Prettify(s)
  31109. }
  31110. // GoString returns the string representation
  31111. func (s LaunchSpecification) GoString() string {
  31112. return s.String()
  31113. }
  31114. // SetAddressingType sets the AddressingType field's value.
  31115. func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
  31116. s.AddressingType = &v
  31117. return s
  31118. }
  31119. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  31120. func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
  31121. s.BlockDeviceMappings = v
  31122. return s
  31123. }
  31124. // SetEbsOptimized sets the EbsOptimized field's value.
  31125. func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
  31126. s.EbsOptimized = &v
  31127. return s
  31128. }
  31129. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  31130. func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
  31131. s.IamInstanceProfile = v
  31132. return s
  31133. }
  31134. // SetImageId sets the ImageId field's value.
  31135. func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
  31136. s.ImageId = &v
  31137. return s
  31138. }
  31139. // SetInstanceType sets the InstanceType field's value.
  31140. func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
  31141. s.InstanceType = &v
  31142. return s
  31143. }
  31144. // SetKernelId sets the KernelId field's value.
  31145. func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
  31146. s.KernelId = &v
  31147. return s
  31148. }
  31149. // SetKeyName sets the KeyName field's value.
  31150. func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
  31151. s.KeyName = &v
  31152. return s
  31153. }
  31154. // SetMonitoring sets the Monitoring field's value.
  31155. func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
  31156. s.Monitoring = v
  31157. return s
  31158. }
  31159. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  31160. func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
  31161. s.NetworkInterfaces = v
  31162. return s
  31163. }
  31164. // SetPlacement sets the Placement field's value.
  31165. func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
  31166. s.Placement = v
  31167. return s
  31168. }
  31169. // SetRamdiskId sets the RamdiskId field's value.
  31170. func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
  31171. s.RamdiskId = &v
  31172. return s
  31173. }
  31174. // SetSecurityGroups sets the SecurityGroups field's value.
  31175. func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
  31176. s.SecurityGroups = v
  31177. return s
  31178. }
  31179. // SetSubnetId sets the SubnetId field's value.
  31180. func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
  31181. s.SubnetId = &v
  31182. return s
  31183. }
  31184. // SetUserData sets the UserData field's value.
  31185. func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
  31186. s.UserData = &v
  31187. return s
  31188. }
  31189. // Contains the parameters for ModifyHosts.
  31190. type ModifyHostsInput struct {
  31191. _ struct{} `type:"structure"`
  31192. // Specify whether to enable or disable auto-placement.
  31193. //
  31194. // AutoPlacement is a required field
  31195. AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
  31196. // The host IDs of the Dedicated Hosts you want to modify.
  31197. //
  31198. // HostIds is a required field
  31199. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  31200. }
  31201. // String returns the string representation
  31202. func (s ModifyHostsInput) String() string {
  31203. return awsutil.Prettify(s)
  31204. }
  31205. // GoString returns the string representation
  31206. func (s ModifyHostsInput) GoString() string {
  31207. return s.String()
  31208. }
  31209. // Validate inspects the fields of the type to determine if they are valid.
  31210. func (s *ModifyHostsInput) Validate() error {
  31211. invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
  31212. if s.AutoPlacement == nil {
  31213. invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
  31214. }
  31215. if s.HostIds == nil {
  31216. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  31217. }
  31218. if invalidParams.Len() > 0 {
  31219. return invalidParams
  31220. }
  31221. return nil
  31222. }
  31223. // SetAutoPlacement sets the AutoPlacement field's value.
  31224. func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
  31225. s.AutoPlacement = &v
  31226. return s
  31227. }
  31228. // SetHostIds sets the HostIds field's value.
  31229. func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
  31230. s.HostIds = v
  31231. return s
  31232. }
  31233. // Contains the output of ModifyHosts.
  31234. type ModifyHostsOutput struct {
  31235. _ struct{} `type:"structure"`
  31236. // The IDs of the Dedicated Hosts that were successfully modified.
  31237. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  31238. // The IDs of the Dedicated Hosts that could not be modified. Check whether
  31239. // the setting you requested can be used.
  31240. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  31241. }
  31242. // String returns the string representation
  31243. func (s ModifyHostsOutput) String() string {
  31244. return awsutil.Prettify(s)
  31245. }
  31246. // GoString returns the string representation
  31247. func (s ModifyHostsOutput) GoString() string {
  31248. return s.String()
  31249. }
  31250. // SetSuccessful sets the Successful field's value.
  31251. func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
  31252. s.Successful = v
  31253. return s
  31254. }
  31255. // SetUnsuccessful sets the Unsuccessful field's value.
  31256. func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
  31257. s.Unsuccessful = v
  31258. return s
  31259. }
  31260. // Contains the parameters of ModifyIdFormat.
  31261. type ModifyIdFormatInput struct {
  31262. _ struct{} `type:"structure"`
  31263. // The type of resource: instance | reservation | snapshot | volume
  31264. //
  31265. // Resource is a required field
  31266. Resource *string `type:"string" required:"true"`
  31267. // Indicate whether the resource should use longer IDs (17-character IDs).
  31268. //
  31269. // UseLongIds is a required field
  31270. UseLongIds *bool `type:"boolean" required:"true"`
  31271. }
  31272. // String returns the string representation
  31273. func (s ModifyIdFormatInput) String() string {
  31274. return awsutil.Prettify(s)
  31275. }
  31276. // GoString returns the string representation
  31277. func (s ModifyIdFormatInput) GoString() string {
  31278. return s.String()
  31279. }
  31280. // Validate inspects the fields of the type to determine if they are valid.
  31281. func (s *ModifyIdFormatInput) Validate() error {
  31282. invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
  31283. if s.Resource == nil {
  31284. invalidParams.Add(request.NewErrParamRequired("Resource"))
  31285. }
  31286. if s.UseLongIds == nil {
  31287. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  31288. }
  31289. if invalidParams.Len() > 0 {
  31290. return invalidParams
  31291. }
  31292. return nil
  31293. }
  31294. // SetResource sets the Resource field's value.
  31295. func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
  31296. s.Resource = &v
  31297. return s
  31298. }
  31299. // SetUseLongIds sets the UseLongIds field's value.
  31300. func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
  31301. s.UseLongIds = &v
  31302. return s
  31303. }
  31304. type ModifyIdFormatOutput struct {
  31305. _ struct{} `type:"structure"`
  31306. }
  31307. // String returns the string representation
  31308. func (s ModifyIdFormatOutput) String() string {
  31309. return awsutil.Prettify(s)
  31310. }
  31311. // GoString returns the string representation
  31312. func (s ModifyIdFormatOutput) GoString() string {
  31313. return s.String()
  31314. }
  31315. // Contains the parameters of ModifyIdentityIdFormat.
  31316. type ModifyIdentityIdFormatInput struct {
  31317. _ struct{} `type:"structure"`
  31318. // The ARN of the principal, which can be an IAM user, IAM role, or the root
  31319. // user. Specify all to modify the ID format for all IAM users, IAM roles, and
  31320. // the root user of the account.
  31321. //
  31322. // PrincipalArn is a required field
  31323. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  31324. // The type of resource: instance | reservation | snapshot | volume
  31325. //
  31326. // Resource is a required field
  31327. Resource *string `locationName:"resource" type:"string" required:"true"`
  31328. // Indicates whether the resource should use longer IDs (17-character IDs)
  31329. //
  31330. // UseLongIds is a required field
  31331. UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
  31332. }
  31333. // String returns the string representation
  31334. func (s ModifyIdentityIdFormatInput) String() string {
  31335. return awsutil.Prettify(s)
  31336. }
  31337. // GoString returns the string representation
  31338. func (s ModifyIdentityIdFormatInput) GoString() string {
  31339. return s.String()
  31340. }
  31341. // Validate inspects the fields of the type to determine if they are valid.
  31342. func (s *ModifyIdentityIdFormatInput) Validate() error {
  31343. invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
  31344. if s.PrincipalArn == nil {
  31345. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  31346. }
  31347. if s.Resource == nil {
  31348. invalidParams.Add(request.NewErrParamRequired("Resource"))
  31349. }
  31350. if s.UseLongIds == nil {
  31351. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  31352. }
  31353. if invalidParams.Len() > 0 {
  31354. return invalidParams
  31355. }
  31356. return nil
  31357. }
  31358. // SetPrincipalArn sets the PrincipalArn field's value.
  31359. func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
  31360. s.PrincipalArn = &v
  31361. return s
  31362. }
  31363. // SetResource sets the Resource field's value.
  31364. func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
  31365. s.Resource = &v
  31366. return s
  31367. }
  31368. // SetUseLongIds sets the UseLongIds field's value.
  31369. func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
  31370. s.UseLongIds = &v
  31371. return s
  31372. }
  31373. type ModifyIdentityIdFormatOutput struct {
  31374. _ struct{} `type:"structure"`
  31375. }
  31376. // String returns the string representation
  31377. func (s ModifyIdentityIdFormatOutput) String() string {
  31378. return awsutil.Prettify(s)
  31379. }
  31380. // GoString returns the string representation
  31381. func (s ModifyIdentityIdFormatOutput) GoString() string {
  31382. return s.String()
  31383. }
  31384. // Contains the parameters for ModifyImageAttribute.
  31385. type ModifyImageAttributeInput struct {
  31386. _ struct{} `type:"structure"`
  31387. // The name of the attribute to modify.
  31388. Attribute *string `type:"string"`
  31389. // A description for the AMI.
  31390. Description *AttributeValue `type:"structure"`
  31391. // Checks whether you have the required permissions for the action, without
  31392. // actually making the request, and provides an error response. If you have
  31393. // the required permissions, the error response is DryRunOperation. Otherwise,
  31394. // it is UnauthorizedOperation.
  31395. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31396. // The ID of the AMI.
  31397. //
  31398. // ImageId is a required field
  31399. ImageId *string `type:"string" required:"true"`
  31400. // A launch permission modification.
  31401. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  31402. // The operation type.
  31403. OperationType *string `type:"string" enum:"OperationType"`
  31404. // One or more product codes. After you add a product code to an AMI, it can't
  31405. // be removed. This is only valid when modifying the productCodes attribute.
  31406. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  31407. // One or more user groups. This is only valid when modifying the launchPermission
  31408. // attribute.
  31409. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  31410. // One or more AWS account IDs. This is only valid when modifying the launchPermission
  31411. // attribute.
  31412. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  31413. // The value of the attribute being modified. This is only valid when modifying
  31414. // the description attribute.
  31415. Value *string `type:"string"`
  31416. }
  31417. // String returns the string representation
  31418. func (s ModifyImageAttributeInput) String() string {
  31419. return awsutil.Prettify(s)
  31420. }
  31421. // GoString returns the string representation
  31422. func (s ModifyImageAttributeInput) GoString() string {
  31423. return s.String()
  31424. }
  31425. // Validate inspects the fields of the type to determine if they are valid.
  31426. func (s *ModifyImageAttributeInput) Validate() error {
  31427. invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
  31428. if s.ImageId == nil {
  31429. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  31430. }
  31431. if invalidParams.Len() > 0 {
  31432. return invalidParams
  31433. }
  31434. return nil
  31435. }
  31436. // SetAttribute sets the Attribute field's value.
  31437. func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
  31438. s.Attribute = &v
  31439. return s
  31440. }
  31441. // SetDescription sets the Description field's value.
  31442. func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
  31443. s.Description = v
  31444. return s
  31445. }
  31446. // SetDryRun sets the DryRun field's value.
  31447. func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
  31448. s.DryRun = &v
  31449. return s
  31450. }
  31451. // SetImageId sets the ImageId field's value.
  31452. func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
  31453. s.ImageId = &v
  31454. return s
  31455. }
  31456. // SetLaunchPermission sets the LaunchPermission field's value.
  31457. func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
  31458. s.LaunchPermission = v
  31459. return s
  31460. }
  31461. // SetOperationType sets the OperationType field's value.
  31462. func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
  31463. s.OperationType = &v
  31464. return s
  31465. }
  31466. // SetProductCodes sets the ProductCodes field's value.
  31467. func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
  31468. s.ProductCodes = v
  31469. return s
  31470. }
  31471. // SetUserGroups sets the UserGroups field's value.
  31472. func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
  31473. s.UserGroups = v
  31474. return s
  31475. }
  31476. // SetUserIds sets the UserIds field's value.
  31477. func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
  31478. s.UserIds = v
  31479. return s
  31480. }
  31481. // SetValue sets the Value field's value.
  31482. func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
  31483. s.Value = &v
  31484. return s
  31485. }
  31486. type ModifyImageAttributeOutput struct {
  31487. _ struct{} `type:"structure"`
  31488. }
  31489. // String returns the string representation
  31490. func (s ModifyImageAttributeOutput) String() string {
  31491. return awsutil.Prettify(s)
  31492. }
  31493. // GoString returns the string representation
  31494. func (s ModifyImageAttributeOutput) GoString() string {
  31495. return s.String()
  31496. }
  31497. // Contains the parameters for ModifyInstanceAttribute.
  31498. type ModifyInstanceAttributeInput struct {
  31499. _ struct{} `type:"structure"`
  31500. // The name of the attribute.
  31501. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  31502. // Modifies the DeleteOnTermination attribute for volumes that are currently
  31503. // attached. The volume must be owned by the caller. If no value is specified
  31504. // for DeleteOnTermination, the default is true and the volume is deleted when
  31505. // the instance is terminated.
  31506. //
  31507. // To add instance store volumes to an Amazon EBS-backed instance, you must
  31508. // add them when you launch the instance. For more information, see Updating
  31509. // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  31510. // in the Amazon Elastic Compute Cloud User Guide.
  31511. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  31512. // If the value is true, you can't terminate the instance using the Amazon EC2
  31513. // console, CLI, or API; otherwise, you can. You cannot use this paramater for
  31514. // Spot Instances.
  31515. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  31516. // Checks whether you have the required permissions for the action, without
  31517. // actually making the request, and provides an error response. If you have
  31518. // the required permissions, the error response is DryRunOperation. Otherwise,
  31519. // it is UnauthorizedOperation.
  31520. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31521. // Specifies whether the instance is optimized for EBS I/O. This optimization
  31522. // provides dedicated throughput to Amazon EBS and an optimized configuration
  31523. // stack to provide optimal EBS I/O performance. This optimization isn't available
  31524. // with all instance types. Additional usage charges apply when using an EBS
  31525. // Optimized instance.
  31526. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  31527. // Set to true to enable enhanced networking with ENA for the instance.
  31528. //
  31529. // This option is supported only for HVM instances. Specifying this option with
  31530. // a PV instance can make it unreachable.
  31531. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  31532. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  31533. // least one security group, even if it's just the default security group for
  31534. // the VPC. You must specify the security group ID, not the security group name.
  31535. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  31536. // The ID of the instance.
  31537. //
  31538. // InstanceId is a required field
  31539. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  31540. // Specifies whether an instance stops or terminates when you initiate shutdown
  31541. // from the instance (using the operating system command for system shutdown).
  31542. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  31543. // Changes the instance type to the specified value. For more information, see
  31544. // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  31545. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  31546. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  31547. // Changes the instance's kernel to the specified value. We recommend that you
  31548. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  31549. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  31550. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  31551. // Changes the instance's RAM disk to the specified value. We recommend that
  31552. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  31553. // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  31554. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  31555. // Specifies whether source/destination checking is enabled. A value of true
  31556. // means that checking is enabled, and false means checking is disabled. This
  31557. // value must be false for a NAT instance to perform NAT.
  31558. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  31559. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  31560. // Function interface for the instance.
  31561. //
  31562. // There is no way to disable enhanced networking with the Intel 82599 Virtual
  31563. // Function interface at this time.
  31564. //
  31565. // This option is supported only for HVM instances. Specifying this option with
  31566. // a PV instance can make it unreachable.
  31567. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  31568. // Changes the instance's user data to the specified value. If you are using
  31569. // an AWS SDK or command line tool, Base64-encoding is performed for you, and
  31570. // you can load the text from a file. Otherwise, you must provide Base64-encoded
  31571. // text.
  31572. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  31573. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  31574. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  31575. Value *string `locationName:"value" type:"string"`
  31576. }
  31577. // String returns the string representation
  31578. func (s ModifyInstanceAttributeInput) String() string {
  31579. return awsutil.Prettify(s)
  31580. }
  31581. // GoString returns the string representation
  31582. func (s ModifyInstanceAttributeInput) GoString() string {
  31583. return s.String()
  31584. }
  31585. // Validate inspects the fields of the type to determine if they are valid.
  31586. func (s *ModifyInstanceAttributeInput) Validate() error {
  31587. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
  31588. if s.InstanceId == nil {
  31589. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  31590. }
  31591. if invalidParams.Len() > 0 {
  31592. return invalidParams
  31593. }
  31594. return nil
  31595. }
  31596. // SetAttribute sets the Attribute field's value.
  31597. func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
  31598. s.Attribute = &v
  31599. return s
  31600. }
  31601. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  31602. func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
  31603. s.BlockDeviceMappings = v
  31604. return s
  31605. }
  31606. // SetDisableApiTermination sets the DisableApiTermination field's value.
  31607. func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  31608. s.DisableApiTermination = v
  31609. return s
  31610. }
  31611. // SetDryRun sets the DryRun field's value.
  31612. func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
  31613. s.DryRun = &v
  31614. return s
  31615. }
  31616. // SetEbsOptimized sets the EbsOptimized field's value.
  31617. func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  31618. s.EbsOptimized = v
  31619. return s
  31620. }
  31621. // SetEnaSupport sets the EnaSupport field's value.
  31622. func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  31623. s.EnaSupport = v
  31624. return s
  31625. }
  31626. // SetGroups sets the Groups field's value.
  31627. func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
  31628. s.Groups = v
  31629. return s
  31630. }
  31631. // SetInstanceId sets the InstanceId field's value.
  31632. func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
  31633. s.InstanceId = &v
  31634. return s
  31635. }
  31636. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  31637. func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
  31638. s.InstanceInitiatedShutdownBehavior = v
  31639. return s
  31640. }
  31641. // SetInstanceType sets the InstanceType field's value.
  31642. func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
  31643. s.InstanceType = v
  31644. return s
  31645. }
  31646. // SetKernel sets the Kernel field's value.
  31647. func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
  31648. s.Kernel = v
  31649. return s
  31650. }
  31651. // SetRamdisk sets the Ramdisk field's value.
  31652. func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
  31653. s.Ramdisk = v
  31654. return s
  31655. }
  31656. // SetSourceDestCheck sets the SourceDestCheck field's value.
  31657. func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  31658. s.SourceDestCheck = v
  31659. return s
  31660. }
  31661. // SetSriovNetSupport sets the SriovNetSupport field's value.
  31662. func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
  31663. s.SriovNetSupport = v
  31664. return s
  31665. }
  31666. // SetUserData sets the UserData field's value.
  31667. func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
  31668. s.UserData = v
  31669. return s
  31670. }
  31671. // SetValue sets the Value field's value.
  31672. func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
  31673. s.Value = &v
  31674. return s
  31675. }
  31676. type ModifyInstanceAttributeOutput struct {
  31677. _ struct{} `type:"structure"`
  31678. }
  31679. // String returns the string representation
  31680. func (s ModifyInstanceAttributeOutput) String() string {
  31681. return awsutil.Prettify(s)
  31682. }
  31683. // GoString returns the string representation
  31684. func (s ModifyInstanceAttributeOutput) GoString() string {
  31685. return s.String()
  31686. }
  31687. // Contains the parameters for ModifyInstancePlacement.
  31688. type ModifyInstancePlacementInput struct {
  31689. _ struct{} `type:"structure"`
  31690. // The new affinity setting for the instance.
  31691. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
  31692. // The ID of the Dedicated Host that the instance will have affinity with.
  31693. HostId *string `locationName:"hostId" type:"string"`
  31694. // The ID of the instance that you are modifying.
  31695. //
  31696. // InstanceId is a required field
  31697. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  31698. // The tenancy of the instance that you are modifying.
  31699. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
  31700. }
  31701. // String returns the string representation
  31702. func (s ModifyInstancePlacementInput) String() string {
  31703. return awsutil.Prettify(s)
  31704. }
  31705. // GoString returns the string representation
  31706. func (s ModifyInstancePlacementInput) GoString() string {
  31707. return s.String()
  31708. }
  31709. // Validate inspects the fields of the type to determine if they are valid.
  31710. func (s *ModifyInstancePlacementInput) Validate() error {
  31711. invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
  31712. if s.InstanceId == nil {
  31713. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  31714. }
  31715. if invalidParams.Len() > 0 {
  31716. return invalidParams
  31717. }
  31718. return nil
  31719. }
  31720. // SetAffinity sets the Affinity field's value.
  31721. func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
  31722. s.Affinity = &v
  31723. return s
  31724. }
  31725. // SetHostId sets the HostId field's value.
  31726. func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
  31727. s.HostId = &v
  31728. return s
  31729. }
  31730. // SetInstanceId sets the InstanceId field's value.
  31731. func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
  31732. s.InstanceId = &v
  31733. return s
  31734. }
  31735. // SetTenancy sets the Tenancy field's value.
  31736. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
  31737. s.Tenancy = &v
  31738. return s
  31739. }
  31740. // Contains the output of ModifyInstancePlacement.
  31741. type ModifyInstancePlacementOutput struct {
  31742. _ struct{} `type:"structure"`
  31743. // Is true if the request succeeds, and an error otherwise.
  31744. Return *bool `locationName:"return" type:"boolean"`
  31745. }
  31746. // String returns the string representation
  31747. func (s ModifyInstancePlacementOutput) String() string {
  31748. return awsutil.Prettify(s)
  31749. }
  31750. // GoString returns the string representation
  31751. func (s ModifyInstancePlacementOutput) GoString() string {
  31752. return s.String()
  31753. }
  31754. // SetReturn sets the Return field's value.
  31755. func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
  31756. s.Return = &v
  31757. return s
  31758. }
  31759. // Contains the parameters for ModifyNetworkInterfaceAttribute.
  31760. type ModifyNetworkInterfaceAttributeInput struct {
  31761. _ struct{} `type:"structure"`
  31762. // Information about the interface attachment. If modifying the 'delete on termination'
  31763. // attribute, you must specify the ID of the interface attachment.
  31764. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  31765. // A description for the network interface.
  31766. Description *AttributeValue `locationName:"description" type:"structure"`
  31767. // Checks whether you have the required permissions for the action, without
  31768. // actually making the request, and provides an error response. If you have
  31769. // the required permissions, the error response is DryRunOperation. Otherwise,
  31770. // it is UnauthorizedOperation.
  31771. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31772. // Changes the security groups for the network interface. The new set of groups
  31773. // you specify replaces the current set. You must specify at least one group,
  31774. // even if it's just the default security group in the VPC. You must specify
  31775. // the ID of the security group, not the name.
  31776. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  31777. // The ID of the network interface.
  31778. //
  31779. // NetworkInterfaceId is a required field
  31780. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  31781. // Indicates whether source/destination checking is enabled. A value of true
  31782. // means checking is enabled, and false means checking is disabled. This value
  31783. // must be false for a NAT instance to perform NAT. For more information, see
  31784. // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  31785. // in the Amazon Virtual Private Cloud User Guide.
  31786. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  31787. }
  31788. // String returns the string representation
  31789. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  31790. return awsutil.Prettify(s)
  31791. }
  31792. // GoString returns the string representation
  31793. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  31794. return s.String()
  31795. }
  31796. // Validate inspects the fields of the type to determine if they are valid.
  31797. func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
  31798. invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
  31799. if s.NetworkInterfaceId == nil {
  31800. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  31801. }
  31802. if invalidParams.Len() > 0 {
  31803. return invalidParams
  31804. }
  31805. return nil
  31806. }
  31807. // SetAttachment sets the Attachment field's value.
  31808. func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
  31809. s.Attachment = v
  31810. return s
  31811. }
  31812. // SetDescription sets the Description field's value.
  31813. func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
  31814. s.Description = v
  31815. return s
  31816. }
  31817. // SetDryRun sets the DryRun field's value.
  31818. func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
  31819. s.DryRun = &v
  31820. return s
  31821. }
  31822. // SetGroups sets the Groups field's value.
  31823. func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
  31824. s.Groups = v
  31825. return s
  31826. }
  31827. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  31828. func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
  31829. s.NetworkInterfaceId = &v
  31830. return s
  31831. }
  31832. // SetSourceDestCheck sets the SourceDestCheck field's value.
  31833. func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
  31834. s.SourceDestCheck = v
  31835. return s
  31836. }
  31837. type ModifyNetworkInterfaceAttributeOutput struct {
  31838. _ struct{} `type:"structure"`
  31839. }
  31840. // String returns the string representation
  31841. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  31842. return awsutil.Prettify(s)
  31843. }
  31844. // GoString returns the string representation
  31845. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  31846. return s.String()
  31847. }
  31848. // Contains the parameters for ModifyReservedInstances.
  31849. type ModifyReservedInstancesInput struct {
  31850. _ struct{} `type:"structure"`
  31851. // A unique, case-sensitive token you provide to ensure idempotency of your
  31852. // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  31853. ClientToken *string `locationName:"clientToken" type:"string"`
  31854. // The IDs of the Reserved Instances to modify.
  31855. //
  31856. // ReservedInstancesIds is a required field
  31857. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  31858. // The configuration settings for the Reserved Instances to modify.
  31859. //
  31860. // TargetConfigurations is a required field
  31861. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  31862. }
  31863. // String returns the string representation
  31864. func (s ModifyReservedInstancesInput) String() string {
  31865. return awsutil.Prettify(s)
  31866. }
  31867. // GoString returns the string representation
  31868. func (s ModifyReservedInstancesInput) GoString() string {
  31869. return s.String()
  31870. }
  31871. // Validate inspects the fields of the type to determine if they are valid.
  31872. func (s *ModifyReservedInstancesInput) Validate() error {
  31873. invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
  31874. if s.ReservedInstancesIds == nil {
  31875. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  31876. }
  31877. if s.TargetConfigurations == nil {
  31878. invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
  31879. }
  31880. if invalidParams.Len() > 0 {
  31881. return invalidParams
  31882. }
  31883. return nil
  31884. }
  31885. // SetClientToken sets the ClientToken field's value.
  31886. func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
  31887. s.ClientToken = &v
  31888. return s
  31889. }
  31890. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  31891. func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
  31892. s.ReservedInstancesIds = v
  31893. return s
  31894. }
  31895. // SetTargetConfigurations sets the TargetConfigurations field's value.
  31896. func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
  31897. s.TargetConfigurations = v
  31898. return s
  31899. }
  31900. // Contains the output of ModifyReservedInstances.
  31901. type ModifyReservedInstancesOutput struct {
  31902. _ struct{} `type:"structure"`
  31903. // The ID for the modification.
  31904. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  31905. }
  31906. // String returns the string representation
  31907. func (s ModifyReservedInstancesOutput) String() string {
  31908. return awsutil.Prettify(s)
  31909. }
  31910. // GoString returns the string representation
  31911. func (s ModifyReservedInstancesOutput) GoString() string {
  31912. return s.String()
  31913. }
  31914. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  31915. func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
  31916. s.ReservedInstancesModificationId = &v
  31917. return s
  31918. }
  31919. // Contains the parameters for ModifySnapshotAttribute.
  31920. type ModifySnapshotAttributeInput struct {
  31921. _ struct{} `type:"structure"`
  31922. // The snapshot attribute to modify.
  31923. //
  31924. // Only volume creation permissions may be modified at the customer level.
  31925. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  31926. // A JSON representation of the snapshot attribute modification.
  31927. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  31928. // Checks whether you have the required permissions for the action, without
  31929. // actually making the request, and provides an error response. If you have
  31930. // the required permissions, the error response is DryRunOperation. Otherwise,
  31931. // it is UnauthorizedOperation.
  31932. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31933. // The group to modify for the snapshot.
  31934. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  31935. // The type of operation to perform to the attribute.
  31936. OperationType *string `type:"string" enum:"OperationType"`
  31937. // The ID of the snapshot.
  31938. //
  31939. // SnapshotId is a required field
  31940. SnapshotId *string `type:"string" required:"true"`
  31941. // The account ID to modify for the snapshot.
  31942. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  31943. }
  31944. // String returns the string representation
  31945. func (s ModifySnapshotAttributeInput) String() string {
  31946. return awsutil.Prettify(s)
  31947. }
  31948. // GoString returns the string representation
  31949. func (s ModifySnapshotAttributeInput) GoString() string {
  31950. return s.String()
  31951. }
  31952. // Validate inspects the fields of the type to determine if they are valid.
  31953. func (s *ModifySnapshotAttributeInput) Validate() error {
  31954. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
  31955. if s.SnapshotId == nil {
  31956. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  31957. }
  31958. if invalidParams.Len() > 0 {
  31959. return invalidParams
  31960. }
  31961. return nil
  31962. }
  31963. // SetAttribute sets the Attribute field's value.
  31964. func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
  31965. s.Attribute = &v
  31966. return s
  31967. }
  31968. // SetCreateVolumePermission sets the CreateVolumePermission field's value.
  31969. func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
  31970. s.CreateVolumePermission = v
  31971. return s
  31972. }
  31973. // SetDryRun sets the DryRun field's value.
  31974. func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
  31975. s.DryRun = &v
  31976. return s
  31977. }
  31978. // SetGroupNames sets the GroupNames field's value.
  31979. func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
  31980. s.GroupNames = v
  31981. return s
  31982. }
  31983. // SetOperationType sets the OperationType field's value.
  31984. func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
  31985. s.OperationType = &v
  31986. return s
  31987. }
  31988. // SetSnapshotId sets the SnapshotId field's value.
  31989. func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
  31990. s.SnapshotId = &v
  31991. return s
  31992. }
  31993. // SetUserIds sets the UserIds field's value.
  31994. func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
  31995. s.UserIds = v
  31996. return s
  31997. }
  31998. type ModifySnapshotAttributeOutput struct {
  31999. _ struct{} `type:"structure"`
  32000. }
  32001. // String returns the string representation
  32002. func (s ModifySnapshotAttributeOutput) String() string {
  32003. return awsutil.Prettify(s)
  32004. }
  32005. // GoString returns the string representation
  32006. func (s ModifySnapshotAttributeOutput) GoString() string {
  32007. return s.String()
  32008. }
  32009. // Contains the parameters for ModifySpotFleetRequest.
  32010. type ModifySpotFleetRequestInput struct {
  32011. _ struct{} `type:"structure"`
  32012. // Indicates whether running Spot instances should be terminated if the target
  32013. // capacity of the Spot fleet request is decreased below the current size of
  32014. // the Spot fleet.
  32015. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  32016. // The ID of the Spot fleet request.
  32017. //
  32018. // SpotFleetRequestId is a required field
  32019. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  32020. // The size of the fleet.
  32021. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
  32022. }
  32023. // String returns the string representation
  32024. func (s ModifySpotFleetRequestInput) String() string {
  32025. return awsutil.Prettify(s)
  32026. }
  32027. // GoString returns the string representation
  32028. func (s ModifySpotFleetRequestInput) GoString() string {
  32029. return s.String()
  32030. }
  32031. // Validate inspects the fields of the type to determine if they are valid.
  32032. func (s *ModifySpotFleetRequestInput) Validate() error {
  32033. invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
  32034. if s.SpotFleetRequestId == nil {
  32035. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  32036. }
  32037. if invalidParams.Len() > 0 {
  32038. return invalidParams
  32039. }
  32040. return nil
  32041. }
  32042. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  32043. func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
  32044. s.ExcessCapacityTerminationPolicy = &v
  32045. return s
  32046. }
  32047. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  32048. func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
  32049. s.SpotFleetRequestId = &v
  32050. return s
  32051. }
  32052. // SetTargetCapacity sets the TargetCapacity field's value.
  32053. func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
  32054. s.TargetCapacity = &v
  32055. return s
  32056. }
  32057. // Contains the output of ModifySpotFleetRequest.
  32058. type ModifySpotFleetRequestOutput struct {
  32059. _ struct{} `type:"structure"`
  32060. // Is true if the request succeeds, and an error otherwise.
  32061. Return *bool `locationName:"return" type:"boolean"`
  32062. }
  32063. // String returns the string representation
  32064. func (s ModifySpotFleetRequestOutput) String() string {
  32065. return awsutil.Prettify(s)
  32066. }
  32067. // GoString returns the string representation
  32068. func (s ModifySpotFleetRequestOutput) GoString() string {
  32069. return s.String()
  32070. }
  32071. // SetReturn sets the Return field's value.
  32072. func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
  32073. s.Return = &v
  32074. return s
  32075. }
  32076. // Contains the parameters for ModifySubnetAttribute.
  32077. type ModifySubnetAttributeInput struct {
  32078. _ struct{} `type:"structure"`
  32079. // Specify true to indicate that instances launched into the specified subnet
  32080. // should be assigned public IP address.
  32081. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  32082. // The ID of the subnet.
  32083. //
  32084. // SubnetId is a required field
  32085. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  32086. }
  32087. // String returns the string representation
  32088. func (s ModifySubnetAttributeInput) String() string {
  32089. return awsutil.Prettify(s)
  32090. }
  32091. // GoString returns the string representation
  32092. func (s ModifySubnetAttributeInput) GoString() string {
  32093. return s.String()
  32094. }
  32095. // Validate inspects the fields of the type to determine if they are valid.
  32096. func (s *ModifySubnetAttributeInput) Validate() error {
  32097. invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
  32098. if s.SubnetId == nil {
  32099. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  32100. }
  32101. if invalidParams.Len() > 0 {
  32102. return invalidParams
  32103. }
  32104. return nil
  32105. }
  32106. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  32107. func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  32108. s.MapPublicIpOnLaunch = v
  32109. return s
  32110. }
  32111. // SetSubnetId sets the SubnetId field's value.
  32112. func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
  32113. s.SubnetId = &v
  32114. return s
  32115. }
  32116. type ModifySubnetAttributeOutput struct {
  32117. _ struct{} `type:"structure"`
  32118. }
  32119. // String returns the string representation
  32120. func (s ModifySubnetAttributeOutput) String() string {
  32121. return awsutil.Prettify(s)
  32122. }
  32123. // GoString returns the string representation
  32124. func (s ModifySubnetAttributeOutput) GoString() string {
  32125. return s.String()
  32126. }
  32127. // Contains the parameters for ModifyVolumeAttribute.
  32128. type ModifyVolumeAttributeInput struct {
  32129. _ struct{} `type:"structure"`
  32130. // Indicates whether the volume should be auto-enabled for I/O operations.
  32131. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  32132. // Checks whether you have the required permissions for the action, without
  32133. // actually making the request, and provides an error response. If you have
  32134. // the required permissions, the error response is DryRunOperation. Otherwise,
  32135. // it is UnauthorizedOperation.
  32136. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32137. // The ID of the volume.
  32138. //
  32139. // VolumeId is a required field
  32140. VolumeId *string `type:"string" required:"true"`
  32141. }
  32142. // String returns the string representation
  32143. func (s ModifyVolumeAttributeInput) String() string {
  32144. return awsutil.Prettify(s)
  32145. }
  32146. // GoString returns the string representation
  32147. func (s ModifyVolumeAttributeInput) GoString() string {
  32148. return s.String()
  32149. }
  32150. // Validate inspects the fields of the type to determine if they are valid.
  32151. func (s *ModifyVolumeAttributeInput) Validate() error {
  32152. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
  32153. if s.VolumeId == nil {
  32154. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  32155. }
  32156. if invalidParams.Len() > 0 {
  32157. return invalidParams
  32158. }
  32159. return nil
  32160. }
  32161. // SetAutoEnableIO sets the AutoEnableIO field's value.
  32162. func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
  32163. s.AutoEnableIO = v
  32164. return s
  32165. }
  32166. // SetDryRun sets the DryRun field's value.
  32167. func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
  32168. s.DryRun = &v
  32169. return s
  32170. }
  32171. // SetVolumeId sets the VolumeId field's value.
  32172. func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
  32173. s.VolumeId = &v
  32174. return s
  32175. }
  32176. type ModifyVolumeAttributeOutput struct {
  32177. _ struct{} `type:"structure"`
  32178. }
  32179. // String returns the string representation
  32180. func (s ModifyVolumeAttributeOutput) String() string {
  32181. return awsutil.Prettify(s)
  32182. }
  32183. // GoString returns the string representation
  32184. func (s ModifyVolumeAttributeOutput) GoString() string {
  32185. return s.String()
  32186. }
  32187. // Contains the parameters for ModifyVpcAttribute.
  32188. type ModifyVpcAttributeInput struct {
  32189. _ struct{} `type:"structure"`
  32190. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  32191. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  32192. //
  32193. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  32194. // same request. Use separate requests for each attribute. You can only enable
  32195. // DNS hostnames if you've enabled DNS support.
  32196. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  32197. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  32198. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  32199. // or the reserved IP address at the base of the VPC network range "plus two"
  32200. // will succeed. If disabled, the Amazon provided DNS service in the VPC that
  32201. // resolves public DNS hostnames to IP addresses is not enabled.
  32202. //
  32203. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  32204. // same request. Use separate requests for each attribute.
  32205. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  32206. // The ID of the VPC.
  32207. //
  32208. // VpcId is a required field
  32209. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  32210. }
  32211. // String returns the string representation
  32212. func (s ModifyVpcAttributeInput) String() string {
  32213. return awsutil.Prettify(s)
  32214. }
  32215. // GoString returns the string representation
  32216. func (s ModifyVpcAttributeInput) GoString() string {
  32217. return s.String()
  32218. }
  32219. // Validate inspects the fields of the type to determine if they are valid.
  32220. func (s *ModifyVpcAttributeInput) Validate() error {
  32221. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
  32222. if s.VpcId == nil {
  32223. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32224. }
  32225. if invalidParams.Len() > 0 {
  32226. return invalidParams
  32227. }
  32228. return nil
  32229. }
  32230. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  32231. func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  32232. s.EnableDnsHostnames = v
  32233. return s
  32234. }
  32235. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  32236. func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  32237. s.EnableDnsSupport = v
  32238. return s
  32239. }
  32240. // SetVpcId sets the VpcId field's value.
  32241. func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
  32242. s.VpcId = &v
  32243. return s
  32244. }
  32245. type ModifyVpcAttributeOutput struct {
  32246. _ struct{} `type:"structure"`
  32247. }
  32248. // String returns the string representation
  32249. func (s ModifyVpcAttributeOutput) String() string {
  32250. return awsutil.Prettify(s)
  32251. }
  32252. // GoString returns the string representation
  32253. func (s ModifyVpcAttributeOutput) GoString() string {
  32254. return s.String()
  32255. }
  32256. // Contains the parameters for ModifyVpcEndpoint.
  32257. type ModifyVpcEndpointInput struct {
  32258. _ struct{} `type:"structure"`
  32259. // One or more route tables IDs to associate with the endpoint.
  32260. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  32261. // Checks whether you have the required permissions for the action, without
  32262. // actually making the request, and provides an error response. If you have
  32263. // the required permissions, the error response is DryRunOperation. Otherwise,
  32264. // it is UnauthorizedOperation.
  32265. DryRun *bool `type:"boolean"`
  32266. // A policy document to attach to the endpoint. The policy must be in valid
  32267. // JSON format.
  32268. PolicyDocument *string `type:"string"`
  32269. // One or more route table IDs to disassociate from the endpoint.
  32270. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  32271. // Specify true to reset the policy document to the default policy. The default
  32272. // policy allows access to the service.
  32273. ResetPolicy *bool `type:"boolean"`
  32274. // The ID of the endpoint.
  32275. //
  32276. // VpcEndpointId is a required field
  32277. VpcEndpointId *string `type:"string" required:"true"`
  32278. }
  32279. // String returns the string representation
  32280. func (s ModifyVpcEndpointInput) String() string {
  32281. return awsutil.Prettify(s)
  32282. }
  32283. // GoString returns the string representation
  32284. func (s ModifyVpcEndpointInput) GoString() string {
  32285. return s.String()
  32286. }
  32287. // Validate inspects the fields of the type to determine if they are valid.
  32288. func (s *ModifyVpcEndpointInput) Validate() error {
  32289. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
  32290. if s.VpcEndpointId == nil {
  32291. invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
  32292. }
  32293. if invalidParams.Len() > 0 {
  32294. return invalidParams
  32295. }
  32296. return nil
  32297. }
  32298. // SetAddRouteTableIds sets the AddRouteTableIds field's value.
  32299. func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  32300. s.AddRouteTableIds = v
  32301. return s
  32302. }
  32303. // SetDryRun sets the DryRun field's value.
  32304. func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
  32305. s.DryRun = &v
  32306. return s
  32307. }
  32308. // SetPolicyDocument sets the PolicyDocument field's value.
  32309. func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
  32310. s.PolicyDocument = &v
  32311. return s
  32312. }
  32313. // SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
  32314. func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  32315. s.RemoveRouteTableIds = v
  32316. return s
  32317. }
  32318. // SetResetPolicy sets the ResetPolicy field's value.
  32319. func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
  32320. s.ResetPolicy = &v
  32321. return s
  32322. }
  32323. // SetVpcEndpointId sets the VpcEndpointId field's value.
  32324. func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
  32325. s.VpcEndpointId = &v
  32326. return s
  32327. }
  32328. // Contains the output of ModifyVpcEndpoint.
  32329. type ModifyVpcEndpointOutput struct {
  32330. _ struct{} `type:"structure"`
  32331. // Returns true if the request succeeds; otherwise, it returns an error.
  32332. Return *bool `locationName:"return" type:"boolean"`
  32333. }
  32334. // String returns the string representation
  32335. func (s ModifyVpcEndpointOutput) String() string {
  32336. return awsutil.Prettify(s)
  32337. }
  32338. // GoString returns the string representation
  32339. func (s ModifyVpcEndpointOutput) GoString() string {
  32340. return s.String()
  32341. }
  32342. // SetReturn sets the Return field's value.
  32343. func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
  32344. s.Return = &v
  32345. return s
  32346. }
  32347. type ModifyVpcPeeringConnectionOptionsInput struct {
  32348. _ struct{} `type:"structure"`
  32349. // The VPC peering connection options for the accepter VPC.
  32350. AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  32351. // Checks whether you have the required permissions for the operation, without
  32352. // actually making the request, and provides an error response. If you have
  32353. // the required permissions, the error response is DryRunOperation. Otherwise,
  32354. // it is UnauthorizedOperation.
  32355. DryRun *bool `type:"boolean"`
  32356. // The VPC peering connection options for the requester VPC.
  32357. RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  32358. // The ID of the VPC peering connection.
  32359. //
  32360. // VpcPeeringConnectionId is a required field
  32361. VpcPeeringConnectionId *string `type:"string" required:"true"`
  32362. }
  32363. // String returns the string representation
  32364. func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
  32365. return awsutil.Prettify(s)
  32366. }
  32367. // GoString returns the string representation
  32368. func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
  32369. return s.String()
  32370. }
  32371. // Validate inspects the fields of the type to determine if they are valid.
  32372. func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
  32373. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
  32374. if s.VpcPeeringConnectionId == nil {
  32375. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  32376. }
  32377. if invalidParams.Len() > 0 {
  32378. return invalidParams
  32379. }
  32380. return nil
  32381. }
  32382. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  32383. func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  32384. s.AccepterPeeringConnectionOptions = v
  32385. return s
  32386. }
  32387. // SetDryRun sets the DryRun field's value.
  32388. func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
  32389. s.DryRun = &v
  32390. return s
  32391. }
  32392. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  32393. func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  32394. s.RequesterPeeringConnectionOptions = v
  32395. return s
  32396. }
  32397. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  32398. func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
  32399. s.VpcPeeringConnectionId = &v
  32400. return s
  32401. }
  32402. type ModifyVpcPeeringConnectionOptionsOutput struct {
  32403. _ struct{} `type:"structure"`
  32404. // Information about the VPC peering connection options for the accepter VPC.
  32405. AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
  32406. // Information about the VPC peering connection options for the requester VPC.
  32407. RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
  32408. }
  32409. // String returns the string representation
  32410. func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
  32411. return awsutil.Prettify(s)
  32412. }
  32413. // GoString returns the string representation
  32414. func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
  32415. return s.String()
  32416. }
  32417. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  32418. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  32419. s.AccepterPeeringConnectionOptions = v
  32420. return s
  32421. }
  32422. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  32423. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  32424. s.RequesterPeeringConnectionOptions = v
  32425. return s
  32426. }
  32427. // Contains the parameters for MonitorInstances.
  32428. type MonitorInstancesInput struct {
  32429. _ struct{} `type:"structure"`
  32430. // Checks whether you have the required permissions for the action, without
  32431. // actually making the request, and provides an error response. If you have
  32432. // the required permissions, the error response is DryRunOperation. Otherwise,
  32433. // it is UnauthorizedOperation.
  32434. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32435. // One or more instance IDs.
  32436. //
  32437. // InstanceIds is a required field
  32438. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  32439. }
  32440. // String returns the string representation
  32441. func (s MonitorInstancesInput) String() string {
  32442. return awsutil.Prettify(s)
  32443. }
  32444. // GoString returns the string representation
  32445. func (s MonitorInstancesInput) GoString() string {
  32446. return s.String()
  32447. }
  32448. // Validate inspects the fields of the type to determine if they are valid.
  32449. func (s *MonitorInstancesInput) Validate() error {
  32450. invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
  32451. if s.InstanceIds == nil {
  32452. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  32453. }
  32454. if invalidParams.Len() > 0 {
  32455. return invalidParams
  32456. }
  32457. return nil
  32458. }
  32459. // SetDryRun sets the DryRun field's value.
  32460. func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
  32461. s.DryRun = &v
  32462. return s
  32463. }
  32464. // SetInstanceIds sets the InstanceIds field's value.
  32465. func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
  32466. s.InstanceIds = v
  32467. return s
  32468. }
  32469. // Contains the output of MonitorInstances.
  32470. type MonitorInstancesOutput struct {
  32471. _ struct{} `type:"structure"`
  32472. // Monitoring information for one or more instances.
  32473. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  32474. }
  32475. // String returns the string representation
  32476. func (s MonitorInstancesOutput) String() string {
  32477. return awsutil.Prettify(s)
  32478. }
  32479. // GoString returns the string representation
  32480. func (s MonitorInstancesOutput) GoString() string {
  32481. return s.String()
  32482. }
  32483. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  32484. func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
  32485. s.InstanceMonitorings = v
  32486. return s
  32487. }
  32488. // Describes the monitoring for the instance.
  32489. type Monitoring struct {
  32490. _ struct{} `type:"structure"`
  32491. // Indicates whether monitoring is enabled for the instance.
  32492. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  32493. }
  32494. // String returns the string representation
  32495. func (s Monitoring) String() string {
  32496. return awsutil.Prettify(s)
  32497. }
  32498. // GoString returns the string representation
  32499. func (s Monitoring) GoString() string {
  32500. return s.String()
  32501. }
  32502. // SetState sets the State field's value.
  32503. func (s *Monitoring) SetState(v string) *Monitoring {
  32504. s.State = &v
  32505. return s
  32506. }
  32507. // Contains the parameters for MoveAddressToVpc.
  32508. type MoveAddressToVpcInput struct {
  32509. _ struct{} `type:"structure"`
  32510. // Checks whether you have the required permissions for the action, without
  32511. // actually making the request, and provides an error response. If you have
  32512. // the required permissions, the error response is DryRunOperation. Otherwise,
  32513. // it is UnauthorizedOperation.
  32514. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32515. // The Elastic IP address.
  32516. //
  32517. // PublicIp is a required field
  32518. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  32519. }
  32520. // String returns the string representation
  32521. func (s MoveAddressToVpcInput) String() string {
  32522. return awsutil.Prettify(s)
  32523. }
  32524. // GoString returns the string representation
  32525. func (s MoveAddressToVpcInput) GoString() string {
  32526. return s.String()
  32527. }
  32528. // Validate inspects the fields of the type to determine if they are valid.
  32529. func (s *MoveAddressToVpcInput) Validate() error {
  32530. invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
  32531. if s.PublicIp == nil {
  32532. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  32533. }
  32534. if invalidParams.Len() > 0 {
  32535. return invalidParams
  32536. }
  32537. return nil
  32538. }
  32539. // SetDryRun sets the DryRun field's value.
  32540. func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
  32541. s.DryRun = &v
  32542. return s
  32543. }
  32544. // SetPublicIp sets the PublicIp field's value.
  32545. func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
  32546. s.PublicIp = &v
  32547. return s
  32548. }
  32549. // Contains the output of MoveAddressToVpc.
  32550. type MoveAddressToVpcOutput struct {
  32551. _ struct{} `type:"structure"`
  32552. // The allocation ID for the Elastic IP address.
  32553. AllocationId *string `locationName:"allocationId" type:"string"`
  32554. // The status of the move of the IP address.
  32555. Status *string `locationName:"status" type:"string" enum:"Status"`
  32556. }
  32557. // String returns the string representation
  32558. func (s MoveAddressToVpcOutput) String() string {
  32559. return awsutil.Prettify(s)
  32560. }
  32561. // GoString returns the string representation
  32562. func (s MoveAddressToVpcOutput) GoString() string {
  32563. return s.String()
  32564. }
  32565. // SetAllocationId sets the AllocationId field's value.
  32566. func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
  32567. s.AllocationId = &v
  32568. return s
  32569. }
  32570. // SetStatus sets the Status field's value.
  32571. func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
  32572. s.Status = &v
  32573. return s
  32574. }
  32575. // Describes the status of a moving Elastic IP address.
  32576. type MovingAddressStatus struct {
  32577. _ struct{} `type:"structure"`
  32578. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  32579. // or restored to the EC2-Classic platform.
  32580. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  32581. // The Elastic IP address.
  32582. PublicIp *string `locationName:"publicIp" type:"string"`
  32583. }
  32584. // String returns the string representation
  32585. func (s MovingAddressStatus) String() string {
  32586. return awsutil.Prettify(s)
  32587. }
  32588. // GoString returns the string representation
  32589. func (s MovingAddressStatus) GoString() string {
  32590. return s.String()
  32591. }
  32592. // SetMoveStatus sets the MoveStatus field's value.
  32593. func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
  32594. s.MoveStatus = &v
  32595. return s
  32596. }
  32597. // SetPublicIp sets the PublicIp field's value.
  32598. func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
  32599. s.PublicIp = &v
  32600. return s
  32601. }
  32602. // Describes a NAT gateway.
  32603. type NatGateway struct {
  32604. _ struct{} `type:"structure"`
  32605. // The date and time the NAT gateway was created.
  32606. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  32607. // The date and time the NAT gateway was deleted, if applicable.
  32608. DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp" timestampFormat:"iso8601"`
  32609. // If the NAT gateway could not be created, specifies the error code for the
  32610. // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
  32611. // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
  32612. FailureCode *string `locationName:"failureCode" type:"string"`
  32613. // If the NAT gateway could not be created, specifies the error message for
  32614. // the failure, that corresponds to the error code.
  32615. //
  32616. // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
  32617. // addresses to create this NAT gateway"
  32618. //
  32619. // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
  32620. // attached"
  32621. //
  32622. // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
  32623. // could not be associated with this NAT gateway"
  32624. //
  32625. // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
  32626. // is already associated"
  32627. //
  32628. // * For InternalError: "Network interface eni-xxxxxxxx, created and used
  32629. // internally by this NAT gateway is in an invalid state. Please try again."
  32630. //
  32631. // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
  32632. // does not exist or could not be found."
  32633. FailureMessage *string `locationName:"failureMessage" type:"string"`
  32634. // Information about the IP addresses and network interface associated with
  32635. // the NAT gateway.
  32636. NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
  32637. // The ID of the NAT gateway.
  32638. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  32639. // Reserved. If you need to sustain traffic greater than the documented limits
  32640. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  32641. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  32642. ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
  32643. // The state of the NAT gateway.
  32644. //
  32645. // * pending: The NAT gateway is being created and is not ready to process
  32646. // traffic.
  32647. //
  32648. // * failed: The NAT gateway could not be created. Check the failureCode
  32649. // and failureMessage fields for the reason.
  32650. //
  32651. // * available: The NAT gateway is able to process traffic. This status remains
  32652. // until you delete the NAT gateway, and does not indicate the health of
  32653. // the NAT gateway.
  32654. //
  32655. // * deleting: The NAT gateway is in the process of being terminated and
  32656. // may still be processing traffic.
  32657. //
  32658. // * deleted: The NAT gateway has been terminated and is no longer processing
  32659. // traffic.
  32660. State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
  32661. // The ID of the subnet in which the NAT gateway is located.
  32662. SubnetId *string `locationName:"subnetId" type:"string"`
  32663. // The ID of the VPC in which the NAT gateway is located.
  32664. VpcId *string `locationName:"vpcId" type:"string"`
  32665. }
  32666. // String returns the string representation
  32667. func (s NatGateway) String() string {
  32668. return awsutil.Prettify(s)
  32669. }
  32670. // GoString returns the string representation
  32671. func (s NatGateway) GoString() string {
  32672. return s.String()
  32673. }
  32674. // SetCreateTime sets the CreateTime field's value.
  32675. func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
  32676. s.CreateTime = &v
  32677. return s
  32678. }
  32679. // SetDeleteTime sets the DeleteTime field's value.
  32680. func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
  32681. s.DeleteTime = &v
  32682. return s
  32683. }
  32684. // SetFailureCode sets the FailureCode field's value.
  32685. func (s *NatGateway) SetFailureCode(v string) *NatGateway {
  32686. s.FailureCode = &v
  32687. return s
  32688. }
  32689. // SetFailureMessage sets the FailureMessage field's value.
  32690. func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
  32691. s.FailureMessage = &v
  32692. return s
  32693. }
  32694. // SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
  32695. func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
  32696. s.NatGatewayAddresses = v
  32697. return s
  32698. }
  32699. // SetNatGatewayId sets the NatGatewayId field's value.
  32700. func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
  32701. s.NatGatewayId = &v
  32702. return s
  32703. }
  32704. // SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
  32705. func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
  32706. s.ProvisionedBandwidth = v
  32707. return s
  32708. }
  32709. // SetState sets the State field's value.
  32710. func (s *NatGateway) SetState(v string) *NatGateway {
  32711. s.State = &v
  32712. return s
  32713. }
  32714. // SetSubnetId sets the SubnetId field's value.
  32715. func (s *NatGateway) SetSubnetId(v string) *NatGateway {
  32716. s.SubnetId = &v
  32717. return s
  32718. }
  32719. // SetVpcId sets the VpcId field's value.
  32720. func (s *NatGateway) SetVpcId(v string) *NatGateway {
  32721. s.VpcId = &v
  32722. return s
  32723. }
  32724. // Describes the IP addresses and network interface associated with a NAT gateway.
  32725. type NatGatewayAddress struct {
  32726. _ struct{} `type:"structure"`
  32727. // The allocation ID of the Elastic IP address that's associated with the NAT
  32728. // gateway.
  32729. AllocationId *string `locationName:"allocationId" type:"string"`
  32730. // The ID of the network interface associated with the NAT gateway.
  32731. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  32732. // The private IP address associated with the Elastic IP address.
  32733. PrivateIp *string `locationName:"privateIp" type:"string"`
  32734. // The Elastic IP address associated with the NAT gateway.
  32735. PublicIp *string `locationName:"publicIp" type:"string"`
  32736. }
  32737. // String returns the string representation
  32738. func (s NatGatewayAddress) String() string {
  32739. return awsutil.Prettify(s)
  32740. }
  32741. // GoString returns the string representation
  32742. func (s NatGatewayAddress) GoString() string {
  32743. return s.String()
  32744. }
  32745. // SetAllocationId sets the AllocationId field's value.
  32746. func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
  32747. s.AllocationId = &v
  32748. return s
  32749. }
  32750. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  32751. func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
  32752. s.NetworkInterfaceId = &v
  32753. return s
  32754. }
  32755. // SetPrivateIp sets the PrivateIp field's value.
  32756. func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
  32757. s.PrivateIp = &v
  32758. return s
  32759. }
  32760. // SetPublicIp sets the PublicIp field's value.
  32761. func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
  32762. s.PublicIp = &v
  32763. return s
  32764. }
  32765. // Describes a network ACL.
  32766. type NetworkAcl struct {
  32767. _ struct{} `type:"structure"`
  32768. // Any associations between the network ACL and one or more subnets
  32769. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  32770. // One or more entries (rules) in the network ACL.
  32771. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  32772. // Indicates whether this is the default network ACL for the VPC.
  32773. IsDefault *bool `locationName:"default" type:"boolean"`
  32774. // The ID of the network ACL.
  32775. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  32776. // Any tags assigned to the network ACL.
  32777. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  32778. // The ID of the VPC for the network ACL.
  32779. VpcId *string `locationName:"vpcId" type:"string"`
  32780. }
  32781. // String returns the string representation
  32782. func (s NetworkAcl) String() string {
  32783. return awsutil.Prettify(s)
  32784. }
  32785. // GoString returns the string representation
  32786. func (s NetworkAcl) GoString() string {
  32787. return s.String()
  32788. }
  32789. // SetAssociations sets the Associations field's value.
  32790. func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
  32791. s.Associations = v
  32792. return s
  32793. }
  32794. // SetEntries sets the Entries field's value.
  32795. func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
  32796. s.Entries = v
  32797. return s
  32798. }
  32799. // SetIsDefault sets the IsDefault field's value.
  32800. func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
  32801. s.IsDefault = &v
  32802. return s
  32803. }
  32804. // SetNetworkAclId sets the NetworkAclId field's value.
  32805. func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
  32806. s.NetworkAclId = &v
  32807. return s
  32808. }
  32809. // SetTags sets the Tags field's value.
  32810. func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
  32811. s.Tags = v
  32812. return s
  32813. }
  32814. // SetVpcId sets the VpcId field's value.
  32815. func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
  32816. s.VpcId = &v
  32817. return s
  32818. }
  32819. // Describes an association between a network ACL and a subnet.
  32820. type NetworkAclAssociation struct {
  32821. _ struct{} `type:"structure"`
  32822. // The ID of the association between a network ACL and a subnet.
  32823. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  32824. // The ID of the network ACL.
  32825. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  32826. // The ID of the subnet.
  32827. SubnetId *string `locationName:"subnetId" type:"string"`
  32828. }
  32829. // String returns the string representation
  32830. func (s NetworkAclAssociation) String() string {
  32831. return awsutil.Prettify(s)
  32832. }
  32833. // GoString returns the string representation
  32834. func (s NetworkAclAssociation) GoString() string {
  32835. return s.String()
  32836. }
  32837. // SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
  32838. func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
  32839. s.NetworkAclAssociationId = &v
  32840. return s
  32841. }
  32842. // SetNetworkAclId sets the NetworkAclId field's value.
  32843. func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
  32844. s.NetworkAclId = &v
  32845. return s
  32846. }
  32847. // SetSubnetId sets the SubnetId field's value.
  32848. func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
  32849. s.SubnetId = &v
  32850. return s
  32851. }
  32852. // Describes an entry in a network ACL.
  32853. type NetworkAclEntry struct {
  32854. _ struct{} `type:"structure"`
  32855. // The network range to allow or deny, in CIDR notation.
  32856. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  32857. // Indicates whether the rule is an egress rule (applied to traffic leaving
  32858. // the subnet).
  32859. Egress *bool `locationName:"egress" type:"boolean"`
  32860. // ICMP protocol: The ICMP type and code.
  32861. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  32862. // TCP or UDP protocols: The range of ports the rule applies to.
  32863. PortRange *PortRange `locationName:"portRange" type:"structure"`
  32864. // The protocol. A value of -1 means all protocols.
  32865. Protocol *string `locationName:"protocol" type:"string"`
  32866. // Indicates whether to allow or deny the traffic that matches the rule.
  32867. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  32868. // The rule number for the entry. ACL entries are processed in ascending order
  32869. // by rule number.
  32870. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  32871. }
  32872. // String returns the string representation
  32873. func (s NetworkAclEntry) String() string {
  32874. return awsutil.Prettify(s)
  32875. }
  32876. // GoString returns the string representation
  32877. func (s NetworkAclEntry) GoString() string {
  32878. return s.String()
  32879. }
  32880. // SetCidrBlock sets the CidrBlock field's value.
  32881. func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
  32882. s.CidrBlock = &v
  32883. return s
  32884. }
  32885. // SetEgress sets the Egress field's value.
  32886. func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
  32887. s.Egress = &v
  32888. return s
  32889. }
  32890. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  32891. func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
  32892. s.IcmpTypeCode = v
  32893. return s
  32894. }
  32895. // SetPortRange sets the PortRange field's value.
  32896. func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
  32897. s.PortRange = v
  32898. return s
  32899. }
  32900. // SetProtocol sets the Protocol field's value.
  32901. func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
  32902. s.Protocol = &v
  32903. return s
  32904. }
  32905. // SetRuleAction sets the RuleAction field's value.
  32906. func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
  32907. s.RuleAction = &v
  32908. return s
  32909. }
  32910. // SetRuleNumber sets the RuleNumber field's value.
  32911. func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
  32912. s.RuleNumber = &v
  32913. return s
  32914. }
  32915. // Describes a network interface.
  32916. type NetworkInterface struct {
  32917. _ struct{} `type:"structure"`
  32918. // The association information for an Elastic IP associated with the network
  32919. // interface.
  32920. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  32921. // The network interface attachment.
  32922. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  32923. // The Availability Zone.
  32924. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  32925. // A description.
  32926. Description *string `locationName:"description" type:"string"`
  32927. // Any security groups for the network interface.
  32928. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  32929. // The type of interface.
  32930. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
  32931. // The MAC address.
  32932. MacAddress *string `locationName:"macAddress" type:"string"`
  32933. // The ID of the network interface.
  32934. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  32935. // The AWS account ID of the owner of the network interface.
  32936. OwnerId *string `locationName:"ownerId" type:"string"`
  32937. // The private DNS name.
  32938. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  32939. // The IP address of the network interface within the subnet.
  32940. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  32941. // The private IP addresses associated with the network interface.
  32942. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  32943. // The ID of the entity that launched the instance on your behalf (for example,
  32944. // AWS Management Console or Auto Scaling).
  32945. RequesterId *string `locationName:"requesterId" type:"string"`
  32946. // Indicates whether the network interface is being managed by AWS.
  32947. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  32948. // Indicates whether traffic to or from the instance is validated.
  32949. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  32950. // The status of the network interface.
  32951. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  32952. // The ID of the subnet.
  32953. SubnetId *string `locationName:"subnetId" type:"string"`
  32954. // Any tags assigned to the network interface.
  32955. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  32956. // The ID of the VPC.
  32957. VpcId *string `locationName:"vpcId" type:"string"`
  32958. }
  32959. // String returns the string representation
  32960. func (s NetworkInterface) String() string {
  32961. return awsutil.Prettify(s)
  32962. }
  32963. // GoString returns the string representation
  32964. func (s NetworkInterface) GoString() string {
  32965. return s.String()
  32966. }
  32967. // SetAssociation sets the Association field's value.
  32968. func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
  32969. s.Association = v
  32970. return s
  32971. }
  32972. // SetAttachment sets the Attachment field's value.
  32973. func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
  32974. s.Attachment = v
  32975. return s
  32976. }
  32977. // SetAvailabilityZone sets the AvailabilityZone field's value.
  32978. func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
  32979. s.AvailabilityZone = &v
  32980. return s
  32981. }
  32982. // SetDescription sets the Description field's value.
  32983. func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
  32984. s.Description = &v
  32985. return s
  32986. }
  32987. // SetGroups sets the Groups field's value.
  32988. func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
  32989. s.Groups = v
  32990. return s
  32991. }
  32992. // SetInterfaceType sets the InterfaceType field's value.
  32993. func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
  32994. s.InterfaceType = &v
  32995. return s
  32996. }
  32997. // SetMacAddress sets the MacAddress field's value.
  32998. func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
  32999. s.MacAddress = &v
  33000. return s
  33001. }
  33002. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  33003. func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
  33004. s.NetworkInterfaceId = &v
  33005. return s
  33006. }
  33007. // SetOwnerId sets the OwnerId field's value.
  33008. func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
  33009. s.OwnerId = &v
  33010. return s
  33011. }
  33012. // SetPrivateDnsName sets the PrivateDnsName field's value.
  33013. func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
  33014. s.PrivateDnsName = &v
  33015. return s
  33016. }
  33017. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  33018. func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
  33019. s.PrivateIpAddress = &v
  33020. return s
  33021. }
  33022. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  33023. func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
  33024. s.PrivateIpAddresses = v
  33025. return s
  33026. }
  33027. // SetRequesterId sets the RequesterId field's value.
  33028. func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
  33029. s.RequesterId = &v
  33030. return s
  33031. }
  33032. // SetRequesterManaged sets the RequesterManaged field's value.
  33033. func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
  33034. s.RequesterManaged = &v
  33035. return s
  33036. }
  33037. // SetSourceDestCheck sets the SourceDestCheck field's value.
  33038. func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
  33039. s.SourceDestCheck = &v
  33040. return s
  33041. }
  33042. // SetStatus sets the Status field's value.
  33043. func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
  33044. s.Status = &v
  33045. return s
  33046. }
  33047. // SetSubnetId sets the SubnetId field's value.
  33048. func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
  33049. s.SubnetId = &v
  33050. return s
  33051. }
  33052. // SetTagSet sets the TagSet field's value.
  33053. func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
  33054. s.TagSet = v
  33055. return s
  33056. }
  33057. // SetVpcId sets the VpcId field's value.
  33058. func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
  33059. s.VpcId = &v
  33060. return s
  33061. }
  33062. // Describes association information for an Elastic IP address.
  33063. type NetworkInterfaceAssociation struct {
  33064. _ struct{} `type:"structure"`
  33065. // The allocation ID.
  33066. AllocationId *string `locationName:"allocationId" type:"string"`
  33067. // The association ID.
  33068. AssociationId *string `locationName:"associationId" type:"string"`
  33069. // The ID of the Elastic IP address owner.
  33070. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  33071. // The public DNS name.
  33072. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  33073. // The address of the Elastic IP address bound to the network interface.
  33074. PublicIp *string `locationName:"publicIp" type:"string"`
  33075. }
  33076. // String returns the string representation
  33077. func (s NetworkInterfaceAssociation) String() string {
  33078. return awsutil.Prettify(s)
  33079. }
  33080. // GoString returns the string representation
  33081. func (s NetworkInterfaceAssociation) GoString() string {
  33082. return s.String()
  33083. }
  33084. // SetAllocationId sets the AllocationId field's value.
  33085. func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
  33086. s.AllocationId = &v
  33087. return s
  33088. }
  33089. // SetAssociationId sets the AssociationId field's value.
  33090. func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
  33091. s.AssociationId = &v
  33092. return s
  33093. }
  33094. // SetIpOwnerId sets the IpOwnerId field's value.
  33095. func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
  33096. s.IpOwnerId = &v
  33097. return s
  33098. }
  33099. // SetPublicDnsName sets the PublicDnsName field's value.
  33100. func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
  33101. s.PublicDnsName = &v
  33102. return s
  33103. }
  33104. // SetPublicIp sets the PublicIp field's value.
  33105. func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
  33106. s.PublicIp = &v
  33107. return s
  33108. }
  33109. // Describes a network interface attachment.
  33110. type NetworkInterfaceAttachment struct {
  33111. _ struct{} `type:"structure"`
  33112. // The timestamp indicating when the attachment initiated.
  33113. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  33114. // The ID of the network interface attachment.
  33115. AttachmentId *string `locationName:"attachmentId" type:"string"`
  33116. // Indicates whether the network interface is deleted when the instance is terminated.
  33117. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  33118. // The device index of the network interface attachment on the instance.
  33119. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  33120. // The ID of the instance.
  33121. InstanceId *string `locationName:"instanceId" type:"string"`
  33122. // The AWS account ID of the owner of the instance.
  33123. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  33124. // The attachment state.
  33125. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  33126. }
  33127. // String returns the string representation
  33128. func (s NetworkInterfaceAttachment) String() string {
  33129. return awsutil.Prettify(s)
  33130. }
  33131. // GoString returns the string representation
  33132. func (s NetworkInterfaceAttachment) GoString() string {
  33133. return s.String()
  33134. }
  33135. // SetAttachTime sets the AttachTime field's value.
  33136. func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
  33137. s.AttachTime = &v
  33138. return s
  33139. }
  33140. // SetAttachmentId sets the AttachmentId field's value.
  33141. func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
  33142. s.AttachmentId = &v
  33143. return s
  33144. }
  33145. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  33146. func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
  33147. s.DeleteOnTermination = &v
  33148. return s
  33149. }
  33150. // SetDeviceIndex sets the DeviceIndex field's value.
  33151. func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
  33152. s.DeviceIndex = &v
  33153. return s
  33154. }
  33155. // SetInstanceId sets the InstanceId field's value.
  33156. func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
  33157. s.InstanceId = &v
  33158. return s
  33159. }
  33160. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  33161. func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
  33162. s.InstanceOwnerId = &v
  33163. return s
  33164. }
  33165. // SetStatus sets the Status field's value.
  33166. func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
  33167. s.Status = &v
  33168. return s
  33169. }
  33170. // Describes an attachment change.
  33171. type NetworkInterfaceAttachmentChanges struct {
  33172. _ struct{} `type:"structure"`
  33173. // The ID of the network interface attachment.
  33174. AttachmentId *string `locationName:"attachmentId" type:"string"`
  33175. // Indicates whether the network interface is deleted when the instance is terminated.
  33176. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  33177. }
  33178. // String returns the string representation
  33179. func (s NetworkInterfaceAttachmentChanges) String() string {
  33180. return awsutil.Prettify(s)
  33181. }
  33182. // GoString returns the string representation
  33183. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  33184. return s.String()
  33185. }
  33186. // SetAttachmentId sets the AttachmentId field's value.
  33187. func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
  33188. s.AttachmentId = &v
  33189. return s
  33190. }
  33191. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  33192. func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
  33193. s.DeleteOnTermination = &v
  33194. return s
  33195. }
  33196. // Describes the private IP address of a network interface.
  33197. type NetworkInterfacePrivateIpAddress struct {
  33198. _ struct{} `type:"structure"`
  33199. // The association information for an Elastic IP address associated with the
  33200. // network interface.
  33201. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  33202. // Indicates whether this IP address is the primary private IP address of the
  33203. // network interface.
  33204. Primary *bool `locationName:"primary" type:"boolean"`
  33205. // The private DNS name.
  33206. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  33207. // The private IP address.
  33208. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  33209. }
  33210. // String returns the string representation
  33211. func (s NetworkInterfacePrivateIpAddress) String() string {
  33212. return awsutil.Prettify(s)
  33213. }
  33214. // GoString returns the string representation
  33215. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  33216. return s.String()
  33217. }
  33218. // SetAssociation sets the Association field's value.
  33219. func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
  33220. s.Association = v
  33221. return s
  33222. }
  33223. // SetPrimary sets the Primary field's value.
  33224. func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
  33225. s.Primary = &v
  33226. return s
  33227. }
  33228. // SetPrivateDnsName sets the PrivateDnsName field's value.
  33229. func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
  33230. s.PrivateDnsName = &v
  33231. return s
  33232. }
  33233. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  33234. func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
  33235. s.PrivateIpAddress = &v
  33236. return s
  33237. }
  33238. type NewDhcpConfiguration struct {
  33239. _ struct{} `type:"structure"`
  33240. Key *string `locationName:"key" type:"string"`
  33241. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  33242. }
  33243. // String returns the string representation
  33244. func (s NewDhcpConfiguration) String() string {
  33245. return awsutil.Prettify(s)
  33246. }
  33247. // GoString returns the string representation
  33248. func (s NewDhcpConfiguration) GoString() string {
  33249. return s.String()
  33250. }
  33251. // SetKey sets the Key field's value.
  33252. func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
  33253. s.Key = &v
  33254. return s
  33255. }
  33256. // SetValues sets the Values field's value.
  33257. func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
  33258. s.Values = v
  33259. return s
  33260. }
  33261. // Describes the VPC peering connection options.
  33262. type PeeringConnectionOptions struct {
  33263. _ struct{} `type:"structure"`
  33264. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  33265. // addresses when queried from instances in the peer VPC.
  33266. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  33267. // If true, enables outbound communication from an EC2-Classic instance that's
  33268. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  33269. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  33270. // If true, enables outbound communication from instances in a local VPC to
  33271. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  33272. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  33273. }
  33274. // String returns the string representation
  33275. func (s PeeringConnectionOptions) String() string {
  33276. return awsutil.Prettify(s)
  33277. }
  33278. // GoString returns the string representation
  33279. func (s PeeringConnectionOptions) GoString() string {
  33280. return s.String()
  33281. }
  33282. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  33283. func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
  33284. s.AllowDnsResolutionFromRemoteVpc = &v
  33285. return s
  33286. }
  33287. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  33288. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
  33289. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  33290. return s
  33291. }
  33292. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  33293. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
  33294. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  33295. return s
  33296. }
  33297. // The VPC peering connection options.
  33298. type PeeringConnectionOptionsRequest struct {
  33299. _ struct{} `type:"structure"`
  33300. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  33301. // addresses when queried from instances in the peer VPC.
  33302. AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
  33303. // If true, enables outbound communication from an EC2-Classic instance that's
  33304. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  33305. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
  33306. // If true, enables outbound communication from instances in a local VPC to
  33307. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  33308. AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
  33309. }
  33310. // String returns the string representation
  33311. func (s PeeringConnectionOptionsRequest) String() string {
  33312. return awsutil.Prettify(s)
  33313. }
  33314. // GoString returns the string representation
  33315. func (s PeeringConnectionOptionsRequest) GoString() string {
  33316. return s.String()
  33317. }
  33318. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  33319. func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  33320. s.AllowDnsResolutionFromRemoteVpc = &v
  33321. return s
  33322. }
  33323. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  33324. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  33325. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  33326. return s
  33327. }
  33328. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  33329. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
  33330. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  33331. return s
  33332. }
  33333. // Describes the placement for the instance.
  33334. type Placement struct {
  33335. _ struct{} `type:"structure"`
  33336. // The affinity setting for the instance on the Dedicated Host. This parameter
  33337. // is not supported for the ImportInstance command.
  33338. Affinity *string `locationName:"affinity" type:"string"`
  33339. // The Availability Zone of the instance.
  33340. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  33341. // The name of the placement group the instance is in (for cluster compute instances).
  33342. GroupName *string `locationName:"groupName" type:"string"`
  33343. // The ID of the Dedicted host on which the instance resides. This parameter
  33344. // is not support for the ImportInstance command.
  33345. HostId *string `locationName:"hostId" type:"string"`
  33346. // The tenancy of the instance (if the instance is running in a VPC). An instance
  33347. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  33348. // is not supported for the ImportInstance command.
  33349. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  33350. }
  33351. // String returns the string representation
  33352. func (s Placement) String() string {
  33353. return awsutil.Prettify(s)
  33354. }
  33355. // GoString returns the string representation
  33356. func (s Placement) GoString() string {
  33357. return s.String()
  33358. }
  33359. // SetAffinity sets the Affinity field's value.
  33360. func (s *Placement) SetAffinity(v string) *Placement {
  33361. s.Affinity = &v
  33362. return s
  33363. }
  33364. // SetAvailabilityZone sets the AvailabilityZone field's value.
  33365. func (s *Placement) SetAvailabilityZone(v string) *Placement {
  33366. s.AvailabilityZone = &v
  33367. return s
  33368. }
  33369. // SetGroupName sets the GroupName field's value.
  33370. func (s *Placement) SetGroupName(v string) *Placement {
  33371. s.GroupName = &v
  33372. return s
  33373. }
  33374. // SetHostId sets the HostId field's value.
  33375. func (s *Placement) SetHostId(v string) *Placement {
  33376. s.HostId = &v
  33377. return s
  33378. }
  33379. // SetTenancy sets the Tenancy field's value.
  33380. func (s *Placement) SetTenancy(v string) *Placement {
  33381. s.Tenancy = &v
  33382. return s
  33383. }
  33384. // Describes a placement group.
  33385. type PlacementGroup struct {
  33386. _ struct{} `type:"structure"`
  33387. // The name of the placement group.
  33388. GroupName *string `locationName:"groupName" type:"string"`
  33389. // The state of the placement group.
  33390. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  33391. // The placement strategy.
  33392. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  33393. }
  33394. // String returns the string representation
  33395. func (s PlacementGroup) String() string {
  33396. return awsutil.Prettify(s)
  33397. }
  33398. // GoString returns the string representation
  33399. func (s PlacementGroup) GoString() string {
  33400. return s.String()
  33401. }
  33402. // SetGroupName sets the GroupName field's value.
  33403. func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
  33404. s.GroupName = &v
  33405. return s
  33406. }
  33407. // SetState sets the State field's value.
  33408. func (s *PlacementGroup) SetState(v string) *PlacementGroup {
  33409. s.State = &v
  33410. return s
  33411. }
  33412. // SetStrategy sets the Strategy field's value.
  33413. func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
  33414. s.Strategy = &v
  33415. return s
  33416. }
  33417. // Describes a range of ports.
  33418. type PortRange struct {
  33419. _ struct{} `type:"structure"`
  33420. // The first port in the range.
  33421. From *int64 `locationName:"from" type:"integer"`
  33422. // The last port in the range.
  33423. To *int64 `locationName:"to" type:"integer"`
  33424. }
  33425. // String returns the string representation
  33426. func (s PortRange) String() string {
  33427. return awsutil.Prettify(s)
  33428. }
  33429. // GoString returns the string representation
  33430. func (s PortRange) GoString() string {
  33431. return s.String()
  33432. }
  33433. // SetFrom sets the From field's value.
  33434. func (s *PortRange) SetFrom(v int64) *PortRange {
  33435. s.From = &v
  33436. return s
  33437. }
  33438. // SetTo sets the To field's value.
  33439. func (s *PortRange) SetTo(v int64) *PortRange {
  33440. s.To = &v
  33441. return s
  33442. }
  33443. // Describes prefixes for AWS services.
  33444. type PrefixList struct {
  33445. _ struct{} `type:"structure"`
  33446. // The IP address range of the AWS service.
  33447. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  33448. // The ID of the prefix.
  33449. PrefixListId *string `locationName:"prefixListId" type:"string"`
  33450. // The name of the prefix.
  33451. PrefixListName *string `locationName:"prefixListName" type:"string"`
  33452. }
  33453. // String returns the string representation
  33454. func (s PrefixList) String() string {
  33455. return awsutil.Prettify(s)
  33456. }
  33457. // GoString returns the string representation
  33458. func (s PrefixList) GoString() string {
  33459. return s.String()
  33460. }
  33461. // SetCidrs sets the Cidrs field's value.
  33462. func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
  33463. s.Cidrs = v
  33464. return s
  33465. }
  33466. // SetPrefixListId sets the PrefixListId field's value.
  33467. func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
  33468. s.PrefixListId = &v
  33469. return s
  33470. }
  33471. // SetPrefixListName sets the PrefixListName field's value.
  33472. func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
  33473. s.PrefixListName = &v
  33474. return s
  33475. }
  33476. // The ID of the prefix.
  33477. type PrefixListId struct {
  33478. _ struct{} `type:"structure"`
  33479. // The ID of the prefix.
  33480. PrefixListId *string `locationName:"prefixListId" type:"string"`
  33481. }
  33482. // String returns the string representation
  33483. func (s PrefixListId) String() string {
  33484. return awsutil.Prettify(s)
  33485. }
  33486. // GoString returns the string representation
  33487. func (s PrefixListId) GoString() string {
  33488. return s.String()
  33489. }
  33490. // SetPrefixListId sets the PrefixListId field's value.
  33491. func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
  33492. s.PrefixListId = &v
  33493. return s
  33494. }
  33495. // Describes the price for a Reserved Instance.
  33496. type PriceSchedule struct {
  33497. _ struct{} `type:"structure"`
  33498. // The current price schedule, as determined by the term remaining for the Reserved
  33499. // Instance in the listing.
  33500. //
  33501. // A specific price schedule is always in effect, but only one price schedule
  33502. // can be active at any time. Take, for example, a Reserved Instance listing
  33503. // that has five months remaining in its term. When you specify price schedules
  33504. // for five months and two months, this means that schedule 1, covering the
  33505. // first three months of the remaining term, will be active during months 5,
  33506. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  33507. // be active for months 2 and 1.
  33508. Active *bool `locationName:"active" type:"boolean"`
  33509. // The currency for transacting the Reserved Instance resale. At this time,
  33510. // the only supported currency is USD.
  33511. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  33512. // The fixed price for the term.
  33513. Price *float64 `locationName:"price" type:"double"`
  33514. // The number of months remaining in the reservation. For example, 2 is the
  33515. // second to the last month before the capacity reservation expires.
  33516. Term *int64 `locationName:"term" type:"long"`
  33517. }
  33518. // String returns the string representation
  33519. func (s PriceSchedule) String() string {
  33520. return awsutil.Prettify(s)
  33521. }
  33522. // GoString returns the string representation
  33523. func (s PriceSchedule) GoString() string {
  33524. return s.String()
  33525. }
  33526. // SetActive sets the Active field's value.
  33527. func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
  33528. s.Active = &v
  33529. return s
  33530. }
  33531. // SetCurrencyCode sets the CurrencyCode field's value.
  33532. func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
  33533. s.CurrencyCode = &v
  33534. return s
  33535. }
  33536. // SetPrice sets the Price field's value.
  33537. func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
  33538. s.Price = &v
  33539. return s
  33540. }
  33541. // SetTerm sets the Term field's value.
  33542. func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
  33543. s.Term = &v
  33544. return s
  33545. }
  33546. // Describes the price for a Reserved Instance.
  33547. type PriceScheduleSpecification struct {
  33548. _ struct{} `type:"structure"`
  33549. // The currency for transacting the Reserved Instance resale. At this time,
  33550. // the only supported currency is USD.
  33551. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  33552. // The fixed price for the term.
  33553. Price *float64 `locationName:"price" type:"double"`
  33554. // The number of months remaining in the reservation. For example, 2 is the
  33555. // second to the last month before the capacity reservation expires.
  33556. Term *int64 `locationName:"term" type:"long"`
  33557. }
  33558. // String returns the string representation
  33559. func (s PriceScheduleSpecification) String() string {
  33560. return awsutil.Prettify(s)
  33561. }
  33562. // GoString returns the string representation
  33563. func (s PriceScheduleSpecification) GoString() string {
  33564. return s.String()
  33565. }
  33566. // SetCurrencyCode sets the CurrencyCode field's value.
  33567. func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
  33568. s.CurrencyCode = &v
  33569. return s
  33570. }
  33571. // SetPrice sets the Price field's value.
  33572. func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
  33573. s.Price = &v
  33574. return s
  33575. }
  33576. // SetTerm sets the Term field's value.
  33577. func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
  33578. s.Term = &v
  33579. return s
  33580. }
  33581. // Describes a Reserved Instance offering.
  33582. type PricingDetail struct {
  33583. _ struct{} `type:"structure"`
  33584. // The number of reservations available for the price.
  33585. Count *int64 `locationName:"count" type:"integer"`
  33586. // The price per instance.
  33587. Price *float64 `locationName:"price" type:"double"`
  33588. }
  33589. // String returns the string representation
  33590. func (s PricingDetail) String() string {
  33591. return awsutil.Prettify(s)
  33592. }
  33593. // GoString returns the string representation
  33594. func (s PricingDetail) GoString() string {
  33595. return s.String()
  33596. }
  33597. // SetCount sets the Count field's value.
  33598. func (s *PricingDetail) SetCount(v int64) *PricingDetail {
  33599. s.Count = &v
  33600. return s
  33601. }
  33602. // SetPrice sets the Price field's value.
  33603. func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
  33604. s.Price = &v
  33605. return s
  33606. }
  33607. // Describes a secondary private IP address for a network interface.
  33608. type PrivateIpAddressSpecification struct {
  33609. _ struct{} `type:"structure"`
  33610. // Indicates whether the private IP address is the primary private IP address.
  33611. // Only one IP address can be designated as primary.
  33612. Primary *bool `locationName:"primary" type:"boolean"`
  33613. // The private IP addresses.
  33614. //
  33615. // PrivateIpAddress is a required field
  33616. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
  33617. }
  33618. // String returns the string representation
  33619. func (s PrivateIpAddressSpecification) String() string {
  33620. return awsutil.Prettify(s)
  33621. }
  33622. // GoString returns the string representation
  33623. func (s PrivateIpAddressSpecification) GoString() string {
  33624. return s.String()
  33625. }
  33626. // Validate inspects the fields of the type to determine if they are valid.
  33627. func (s *PrivateIpAddressSpecification) Validate() error {
  33628. invalidParams := request.ErrInvalidParams{Context: "PrivateIpAddressSpecification"}
  33629. if s.PrivateIpAddress == nil {
  33630. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddress"))
  33631. }
  33632. if invalidParams.Len() > 0 {
  33633. return invalidParams
  33634. }
  33635. return nil
  33636. }
  33637. // SetPrimary sets the Primary field's value.
  33638. func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
  33639. s.Primary = &v
  33640. return s
  33641. }
  33642. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  33643. func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
  33644. s.PrivateIpAddress = &v
  33645. return s
  33646. }
  33647. // Describes a product code.
  33648. type ProductCode struct {
  33649. _ struct{} `type:"structure"`
  33650. // The product code.
  33651. ProductCodeId *string `locationName:"productCode" type:"string"`
  33652. // The type of product code.
  33653. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  33654. }
  33655. // String returns the string representation
  33656. func (s ProductCode) String() string {
  33657. return awsutil.Prettify(s)
  33658. }
  33659. // GoString returns the string representation
  33660. func (s ProductCode) GoString() string {
  33661. return s.String()
  33662. }
  33663. // SetProductCodeId sets the ProductCodeId field's value.
  33664. func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
  33665. s.ProductCodeId = &v
  33666. return s
  33667. }
  33668. // SetProductCodeType sets the ProductCodeType field's value.
  33669. func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
  33670. s.ProductCodeType = &v
  33671. return s
  33672. }
  33673. // Describes a virtual private gateway propagating route.
  33674. type PropagatingVgw struct {
  33675. _ struct{} `type:"structure"`
  33676. // The ID of the virtual private gateway (VGW).
  33677. GatewayId *string `locationName:"gatewayId" type:"string"`
  33678. }
  33679. // String returns the string representation
  33680. func (s PropagatingVgw) String() string {
  33681. return awsutil.Prettify(s)
  33682. }
  33683. // GoString returns the string representation
  33684. func (s PropagatingVgw) GoString() string {
  33685. return s.String()
  33686. }
  33687. // SetGatewayId sets the GatewayId field's value.
  33688. func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
  33689. s.GatewayId = &v
  33690. return s
  33691. }
  33692. // Reserved. If you need to sustain traffic greater than the documented limits
  33693. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  33694. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  33695. type ProvisionedBandwidth struct {
  33696. _ struct{} `type:"structure"`
  33697. // Reserved. If you need to sustain traffic greater than the documented limits
  33698. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  33699. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  33700. ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp" timestampFormat:"iso8601"`
  33701. // Reserved. If you need to sustain traffic greater than the documented limits
  33702. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  33703. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  33704. Provisioned *string `locationName:"provisioned" type:"string"`
  33705. // Reserved. If you need to sustain traffic greater than the documented limits
  33706. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  33707. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  33708. RequestTime *time.Time `locationName:"requestTime" type:"timestamp" timestampFormat:"iso8601"`
  33709. // Reserved. If you need to sustain traffic greater than the documented limits
  33710. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  33711. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  33712. Requested *string `locationName:"requested" type:"string"`
  33713. // Reserved. If you need to sustain traffic greater than the documented limits
  33714. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  33715. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  33716. Status *string `locationName:"status" type:"string"`
  33717. }
  33718. // String returns the string representation
  33719. func (s ProvisionedBandwidth) String() string {
  33720. return awsutil.Prettify(s)
  33721. }
  33722. // GoString returns the string representation
  33723. func (s ProvisionedBandwidth) GoString() string {
  33724. return s.String()
  33725. }
  33726. // SetProvisionTime sets the ProvisionTime field's value.
  33727. func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
  33728. s.ProvisionTime = &v
  33729. return s
  33730. }
  33731. // SetProvisioned sets the Provisioned field's value.
  33732. func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
  33733. s.Provisioned = &v
  33734. return s
  33735. }
  33736. // SetRequestTime sets the RequestTime field's value.
  33737. func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
  33738. s.RequestTime = &v
  33739. return s
  33740. }
  33741. // SetRequested sets the Requested field's value.
  33742. func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
  33743. s.Requested = &v
  33744. return s
  33745. }
  33746. // SetStatus sets the Status field's value.
  33747. func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
  33748. s.Status = &v
  33749. return s
  33750. }
  33751. // Describes the result of the purchase.
  33752. type Purchase struct {
  33753. _ struct{} `type:"structure"`
  33754. // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
  33755. // At this time, the only supported currency is USD.
  33756. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  33757. // The duration of the reservation's term in seconds.
  33758. Duration *int64 `locationName:"duration" type:"integer"`
  33759. // The IDs of the Dedicated Hosts associated with the reservation.
  33760. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  33761. // The ID of the reservation.
  33762. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  33763. // The hourly price of the reservation per hour.
  33764. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  33765. // The instance family on the Dedicated Host that the reservation can be associated
  33766. // with.
  33767. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  33768. // The payment option for the reservation.
  33769. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  33770. // The upfront price of the reservation.
  33771. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  33772. }
  33773. // String returns the string representation
  33774. func (s Purchase) String() string {
  33775. return awsutil.Prettify(s)
  33776. }
  33777. // GoString returns the string representation
  33778. func (s Purchase) GoString() string {
  33779. return s.String()
  33780. }
  33781. // SetCurrencyCode sets the CurrencyCode field's value.
  33782. func (s *Purchase) SetCurrencyCode(v string) *Purchase {
  33783. s.CurrencyCode = &v
  33784. return s
  33785. }
  33786. // SetDuration sets the Duration field's value.
  33787. func (s *Purchase) SetDuration(v int64) *Purchase {
  33788. s.Duration = &v
  33789. return s
  33790. }
  33791. // SetHostIdSet sets the HostIdSet field's value.
  33792. func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
  33793. s.HostIdSet = v
  33794. return s
  33795. }
  33796. // SetHostReservationId sets the HostReservationId field's value.
  33797. func (s *Purchase) SetHostReservationId(v string) *Purchase {
  33798. s.HostReservationId = &v
  33799. return s
  33800. }
  33801. // SetHourlyPrice sets the HourlyPrice field's value.
  33802. func (s *Purchase) SetHourlyPrice(v string) *Purchase {
  33803. s.HourlyPrice = &v
  33804. return s
  33805. }
  33806. // SetInstanceFamily sets the InstanceFamily field's value.
  33807. func (s *Purchase) SetInstanceFamily(v string) *Purchase {
  33808. s.InstanceFamily = &v
  33809. return s
  33810. }
  33811. // SetPaymentOption sets the PaymentOption field's value.
  33812. func (s *Purchase) SetPaymentOption(v string) *Purchase {
  33813. s.PaymentOption = &v
  33814. return s
  33815. }
  33816. // SetUpfrontPrice sets the UpfrontPrice field's value.
  33817. func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
  33818. s.UpfrontPrice = &v
  33819. return s
  33820. }
  33821. type PurchaseHostReservationInput struct {
  33822. _ struct{} `type:"structure"`
  33823. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  33824. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  33825. // in the Amazon Elastic Compute Cloud User Guide.
  33826. ClientToken *string `type:"string"`
  33827. // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
  33828. // amounts are specified. At this time, the only supported currency is USD.
  33829. CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
  33830. // The ID/s of the Dedicated Host/s that the reservation will be associated
  33831. // with.
  33832. //
  33833. // HostIdSet is a required field
  33834. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  33835. // The specified limit is checked against the total upfront cost of the reservation
  33836. // (calculated as the offering's upfront cost multiplied by the host count).
  33837. // If the total upfront cost is greater than the specified price limit, the
  33838. // request will fail. This is used to ensure that the purchase does not exceed
  33839. // the expected upfront cost of the purchase. At this time, the only supported
  33840. // currency is USD. For example, to indicate a limit price of USD 100, specify
  33841. // 100.00.
  33842. LimitPrice *string `type:"string"`
  33843. // The ID of the offering.
  33844. //
  33845. // OfferingId is a required field
  33846. OfferingId *string `type:"string" required:"true"`
  33847. }
  33848. // String returns the string representation
  33849. func (s PurchaseHostReservationInput) String() string {
  33850. return awsutil.Prettify(s)
  33851. }
  33852. // GoString returns the string representation
  33853. func (s PurchaseHostReservationInput) GoString() string {
  33854. return s.String()
  33855. }
  33856. // Validate inspects the fields of the type to determine if they are valid.
  33857. func (s *PurchaseHostReservationInput) Validate() error {
  33858. invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
  33859. if s.HostIdSet == nil {
  33860. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  33861. }
  33862. if s.OfferingId == nil {
  33863. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  33864. }
  33865. if invalidParams.Len() > 0 {
  33866. return invalidParams
  33867. }
  33868. return nil
  33869. }
  33870. // SetClientToken sets the ClientToken field's value.
  33871. func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
  33872. s.ClientToken = &v
  33873. return s
  33874. }
  33875. // SetCurrencyCode sets the CurrencyCode field's value.
  33876. func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
  33877. s.CurrencyCode = &v
  33878. return s
  33879. }
  33880. // SetHostIdSet sets the HostIdSet field's value.
  33881. func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
  33882. s.HostIdSet = v
  33883. return s
  33884. }
  33885. // SetLimitPrice sets the LimitPrice field's value.
  33886. func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
  33887. s.LimitPrice = &v
  33888. return s
  33889. }
  33890. // SetOfferingId sets the OfferingId field's value.
  33891. func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
  33892. s.OfferingId = &v
  33893. return s
  33894. }
  33895. type PurchaseHostReservationOutput struct {
  33896. _ struct{} `type:"structure"`
  33897. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  33898. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  33899. // in the Amazon Elastic Compute Cloud User Guide
  33900. ClientToken *string `locationName:"clientToken" type:"string"`
  33901. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  33902. // are specified. At this time, the only supported currency is USD.
  33903. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  33904. // Describes the details of the purchase.
  33905. Purchase []*Purchase `locationName:"purchase" type:"list"`
  33906. // The total hourly price of the reservation calculated per hour.
  33907. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  33908. // The total amount that will be charged to your account when you purchase the
  33909. // reservation.
  33910. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  33911. }
  33912. // String returns the string representation
  33913. func (s PurchaseHostReservationOutput) String() string {
  33914. return awsutil.Prettify(s)
  33915. }
  33916. // GoString returns the string representation
  33917. func (s PurchaseHostReservationOutput) GoString() string {
  33918. return s.String()
  33919. }
  33920. // SetClientToken sets the ClientToken field's value.
  33921. func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
  33922. s.ClientToken = &v
  33923. return s
  33924. }
  33925. // SetCurrencyCode sets the CurrencyCode field's value.
  33926. func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
  33927. s.CurrencyCode = &v
  33928. return s
  33929. }
  33930. // SetPurchase sets the Purchase field's value.
  33931. func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
  33932. s.Purchase = v
  33933. return s
  33934. }
  33935. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  33936. func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
  33937. s.TotalHourlyPrice = &v
  33938. return s
  33939. }
  33940. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  33941. func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
  33942. s.TotalUpfrontPrice = &v
  33943. return s
  33944. }
  33945. // Describes a request to purchase Scheduled Instances.
  33946. type PurchaseRequest struct {
  33947. _ struct{} `type:"structure"`
  33948. // The number of instances.
  33949. //
  33950. // InstanceCount is a required field
  33951. InstanceCount *int64 `type:"integer" required:"true"`
  33952. // The purchase token.
  33953. //
  33954. // PurchaseToken is a required field
  33955. PurchaseToken *string `type:"string" required:"true"`
  33956. }
  33957. // String returns the string representation
  33958. func (s PurchaseRequest) String() string {
  33959. return awsutil.Prettify(s)
  33960. }
  33961. // GoString returns the string representation
  33962. func (s PurchaseRequest) GoString() string {
  33963. return s.String()
  33964. }
  33965. // Validate inspects the fields of the type to determine if they are valid.
  33966. func (s *PurchaseRequest) Validate() error {
  33967. invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
  33968. if s.InstanceCount == nil {
  33969. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  33970. }
  33971. if s.PurchaseToken == nil {
  33972. invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
  33973. }
  33974. if invalidParams.Len() > 0 {
  33975. return invalidParams
  33976. }
  33977. return nil
  33978. }
  33979. // SetInstanceCount sets the InstanceCount field's value.
  33980. func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
  33981. s.InstanceCount = &v
  33982. return s
  33983. }
  33984. // SetPurchaseToken sets the PurchaseToken field's value.
  33985. func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
  33986. s.PurchaseToken = &v
  33987. return s
  33988. }
  33989. // Contains the parameters for PurchaseReservedInstancesOffering.
  33990. type PurchaseReservedInstancesOfferingInput struct {
  33991. _ struct{} `type:"structure"`
  33992. // Checks whether you have the required permissions for the action, without
  33993. // actually making the request, and provides an error response. If you have
  33994. // the required permissions, the error response is DryRunOperation. Otherwise,
  33995. // it is UnauthorizedOperation.
  33996. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33997. // The number of Reserved Instances to purchase.
  33998. //
  33999. // InstanceCount is a required field
  34000. InstanceCount *int64 `type:"integer" required:"true"`
  34001. // Specified for Reserved Instance Marketplace offerings to limit the total
  34002. // order and ensure that the Reserved Instances are not purchased at unexpected
  34003. // prices.
  34004. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  34005. // The ID of the Reserved Instance offering to purchase.
  34006. //
  34007. // ReservedInstancesOfferingId is a required field
  34008. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  34009. }
  34010. // String returns the string representation
  34011. func (s PurchaseReservedInstancesOfferingInput) String() string {
  34012. return awsutil.Prettify(s)
  34013. }
  34014. // GoString returns the string representation
  34015. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  34016. return s.String()
  34017. }
  34018. // Validate inspects the fields of the type to determine if they are valid.
  34019. func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
  34020. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
  34021. if s.InstanceCount == nil {
  34022. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  34023. }
  34024. if s.ReservedInstancesOfferingId == nil {
  34025. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
  34026. }
  34027. if invalidParams.Len() > 0 {
  34028. return invalidParams
  34029. }
  34030. return nil
  34031. }
  34032. // SetDryRun sets the DryRun field's value.
  34033. func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
  34034. s.DryRun = &v
  34035. return s
  34036. }
  34037. // SetInstanceCount sets the InstanceCount field's value.
  34038. func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
  34039. s.InstanceCount = &v
  34040. return s
  34041. }
  34042. // SetLimitPrice sets the LimitPrice field's value.
  34043. func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
  34044. s.LimitPrice = v
  34045. return s
  34046. }
  34047. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  34048. func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
  34049. s.ReservedInstancesOfferingId = &v
  34050. return s
  34051. }
  34052. // Contains the output of PurchaseReservedInstancesOffering.
  34053. type PurchaseReservedInstancesOfferingOutput struct {
  34054. _ struct{} `type:"structure"`
  34055. // The IDs of the purchased Reserved Instances.
  34056. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  34057. }
  34058. // String returns the string representation
  34059. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  34060. return awsutil.Prettify(s)
  34061. }
  34062. // GoString returns the string representation
  34063. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  34064. return s.String()
  34065. }
  34066. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  34067. func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
  34068. s.ReservedInstancesId = &v
  34069. return s
  34070. }
  34071. // Contains the parameters for PurchaseScheduledInstances.
  34072. type PurchaseScheduledInstancesInput struct {
  34073. _ struct{} `type:"structure"`
  34074. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  34075. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  34076. ClientToken *string `type:"string" idempotencyToken:"true"`
  34077. // Checks whether you have the required permissions for the action, without
  34078. // actually making the request, and provides an error response. If you have
  34079. // the required permissions, the error response is DryRunOperation. Otherwise,
  34080. // it is UnauthorizedOperation.
  34081. DryRun *bool `type:"boolean"`
  34082. // One or more purchase requests.
  34083. //
  34084. // PurchaseRequests is a required field
  34085. PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
  34086. }
  34087. // String returns the string representation
  34088. func (s PurchaseScheduledInstancesInput) String() string {
  34089. return awsutil.Prettify(s)
  34090. }
  34091. // GoString returns the string representation
  34092. func (s PurchaseScheduledInstancesInput) GoString() string {
  34093. return s.String()
  34094. }
  34095. // Validate inspects the fields of the type to determine if they are valid.
  34096. func (s *PurchaseScheduledInstancesInput) Validate() error {
  34097. invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
  34098. if s.PurchaseRequests == nil {
  34099. invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
  34100. }
  34101. if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
  34102. invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
  34103. }
  34104. if s.PurchaseRequests != nil {
  34105. for i, v := range s.PurchaseRequests {
  34106. if v == nil {
  34107. continue
  34108. }
  34109. if err := v.Validate(); err != nil {
  34110. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
  34111. }
  34112. }
  34113. }
  34114. if invalidParams.Len() > 0 {
  34115. return invalidParams
  34116. }
  34117. return nil
  34118. }
  34119. // SetClientToken sets the ClientToken field's value.
  34120. func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
  34121. s.ClientToken = &v
  34122. return s
  34123. }
  34124. // SetDryRun sets the DryRun field's value.
  34125. func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
  34126. s.DryRun = &v
  34127. return s
  34128. }
  34129. // SetPurchaseRequests sets the PurchaseRequests field's value.
  34130. func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
  34131. s.PurchaseRequests = v
  34132. return s
  34133. }
  34134. // Contains the output of PurchaseScheduledInstances.
  34135. type PurchaseScheduledInstancesOutput struct {
  34136. _ struct{} `type:"structure"`
  34137. // Information about the Scheduled Instances.
  34138. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  34139. }
  34140. // String returns the string representation
  34141. func (s PurchaseScheduledInstancesOutput) String() string {
  34142. return awsutil.Prettify(s)
  34143. }
  34144. // GoString returns the string representation
  34145. func (s PurchaseScheduledInstancesOutput) GoString() string {
  34146. return s.String()
  34147. }
  34148. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  34149. func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
  34150. s.ScheduledInstanceSet = v
  34151. return s
  34152. }
  34153. // Contains the parameters for RebootInstances.
  34154. type RebootInstancesInput struct {
  34155. _ struct{} `type:"structure"`
  34156. // Checks whether you have the required permissions for the action, without
  34157. // actually making the request, and provides an error response. If you have
  34158. // the required permissions, the error response is DryRunOperation. Otherwise,
  34159. // it is UnauthorizedOperation.
  34160. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34161. // One or more instance IDs.
  34162. //
  34163. // InstanceIds is a required field
  34164. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  34165. }
  34166. // String returns the string representation
  34167. func (s RebootInstancesInput) String() string {
  34168. return awsutil.Prettify(s)
  34169. }
  34170. // GoString returns the string representation
  34171. func (s RebootInstancesInput) GoString() string {
  34172. return s.String()
  34173. }
  34174. // Validate inspects the fields of the type to determine if they are valid.
  34175. func (s *RebootInstancesInput) Validate() error {
  34176. invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
  34177. if s.InstanceIds == nil {
  34178. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  34179. }
  34180. if invalidParams.Len() > 0 {
  34181. return invalidParams
  34182. }
  34183. return nil
  34184. }
  34185. // SetDryRun sets the DryRun field's value.
  34186. func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
  34187. s.DryRun = &v
  34188. return s
  34189. }
  34190. // SetInstanceIds sets the InstanceIds field's value.
  34191. func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
  34192. s.InstanceIds = v
  34193. return s
  34194. }
  34195. type RebootInstancesOutput struct {
  34196. _ struct{} `type:"structure"`
  34197. }
  34198. // String returns the string representation
  34199. func (s RebootInstancesOutput) String() string {
  34200. return awsutil.Prettify(s)
  34201. }
  34202. // GoString returns the string representation
  34203. func (s RebootInstancesOutput) GoString() string {
  34204. return s.String()
  34205. }
  34206. // Describes a recurring charge.
  34207. type RecurringCharge struct {
  34208. _ struct{} `type:"structure"`
  34209. // The amount of the recurring charge.
  34210. Amount *float64 `locationName:"amount" type:"double"`
  34211. // The frequency of the recurring charge.
  34212. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  34213. }
  34214. // String returns the string representation
  34215. func (s RecurringCharge) String() string {
  34216. return awsutil.Prettify(s)
  34217. }
  34218. // GoString returns the string representation
  34219. func (s RecurringCharge) GoString() string {
  34220. return s.String()
  34221. }
  34222. // SetAmount sets the Amount field's value.
  34223. func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
  34224. s.Amount = &v
  34225. return s
  34226. }
  34227. // SetFrequency sets the Frequency field's value.
  34228. func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
  34229. s.Frequency = &v
  34230. return s
  34231. }
  34232. // Describes a region.
  34233. type Region struct {
  34234. _ struct{} `type:"structure"`
  34235. // The region service endpoint.
  34236. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  34237. // The name of the region.
  34238. RegionName *string `locationName:"regionName" type:"string"`
  34239. }
  34240. // String returns the string representation
  34241. func (s Region) String() string {
  34242. return awsutil.Prettify(s)
  34243. }
  34244. // GoString returns the string representation
  34245. func (s Region) GoString() string {
  34246. return s.String()
  34247. }
  34248. // SetEndpoint sets the Endpoint field's value.
  34249. func (s *Region) SetEndpoint(v string) *Region {
  34250. s.Endpoint = &v
  34251. return s
  34252. }
  34253. // SetRegionName sets the RegionName field's value.
  34254. func (s *Region) SetRegionName(v string) *Region {
  34255. s.RegionName = &v
  34256. return s
  34257. }
  34258. // Contains the parameters for RegisterImage.
  34259. type RegisterImageInput struct {
  34260. _ struct{} `type:"structure"`
  34261. // The architecture of the AMI.
  34262. //
  34263. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  34264. // the architecture specified in the manifest file.
  34265. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  34266. // One or more block device mapping entries.
  34267. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  34268. // A description for your AMI.
  34269. Description *string `locationName:"description" type:"string"`
  34270. // Checks whether you have the required permissions for the action, without
  34271. // actually making the request, and provides an error response. If you have
  34272. // the required permissions, the error response is DryRunOperation. Otherwise,
  34273. // it is UnauthorizedOperation.
  34274. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34275. // Set to true to enable enhanced networking with ENA for the AMI and any instances
  34276. // that you launch from the AMI.
  34277. //
  34278. // This option is supported only for HVM AMIs. Specifying this option with a
  34279. // PV AMI can make instances launched from the AMI unreachable.
  34280. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  34281. // The full path to your AMI manifest in Amazon S3 storage.
  34282. ImageLocation *string `type:"string"`
  34283. // The ID of the kernel.
  34284. KernelId *string `locationName:"kernelId" type:"string"`
  34285. // A name for your AMI.
  34286. //
  34287. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  34288. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  34289. // at-signs (@), or underscores(_)
  34290. //
  34291. // Name is a required field
  34292. Name *string `locationName:"name" type:"string" required:"true"`
  34293. // The ID of the RAM disk.
  34294. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  34295. // The name of the root device (for example, /dev/sda1, or /dev/xvda).
  34296. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  34297. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  34298. // Function interface for the AMI and any instances that you launch from the
  34299. // AMI.
  34300. //
  34301. // There is no way to disable sriovNetSupport at this time.
  34302. //
  34303. // This option is supported only for HVM AMIs. Specifying this option with a
  34304. // PV AMI can make instances launched from the AMI unreachable.
  34305. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  34306. // The type of virtualization.
  34307. //
  34308. // Default: paravirtual
  34309. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  34310. }
  34311. // String returns the string representation
  34312. func (s RegisterImageInput) String() string {
  34313. return awsutil.Prettify(s)
  34314. }
  34315. // GoString returns the string representation
  34316. func (s RegisterImageInput) GoString() string {
  34317. return s.String()
  34318. }
  34319. // Validate inspects the fields of the type to determine if they are valid.
  34320. func (s *RegisterImageInput) Validate() error {
  34321. invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
  34322. if s.Name == nil {
  34323. invalidParams.Add(request.NewErrParamRequired("Name"))
  34324. }
  34325. if invalidParams.Len() > 0 {
  34326. return invalidParams
  34327. }
  34328. return nil
  34329. }
  34330. // SetArchitecture sets the Architecture field's value.
  34331. func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
  34332. s.Architecture = &v
  34333. return s
  34334. }
  34335. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  34336. func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
  34337. s.BlockDeviceMappings = v
  34338. return s
  34339. }
  34340. // SetDescription sets the Description field's value.
  34341. func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
  34342. s.Description = &v
  34343. return s
  34344. }
  34345. // SetDryRun sets the DryRun field's value.
  34346. func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
  34347. s.DryRun = &v
  34348. return s
  34349. }
  34350. // SetEnaSupport sets the EnaSupport field's value.
  34351. func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
  34352. s.EnaSupport = &v
  34353. return s
  34354. }
  34355. // SetImageLocation sets the ImageLocation field's value.
  34356. func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
  34357. s.ImageLocation = &v
  34358. return s
  34359. }
  34360. // SetKernelId sets the KernelId field's value.
  34361. func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
  34362. s.KernelId = &v
  34363. return s
  34364. }
  34365. // SetName sets the Name field's value.
  34366. func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
  34367. s.Name = &v
  34368. return s
  34369. }
  34370. // SetRamdiskId sets the RamdiskId field's value.
  34371. func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
  34372. s.RamdiskId = &v
  34373. return s
  34374. }
  34375. // SetRootDeviceName sets the RootDeviceName field's value.
  34376. func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
  34377. s.RootDeviceName = &v
  34378. return s
  34379. }
  34380. // SetSriovNetSupport sets the SriovNetSupport field's value.
  34381. func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
  34382. s.SriovNetSupport = &v
  34383. return s
  34384. }
  34385. // SetVirtualizationType sets the VirtualizationType field's value.
  34386. func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
  34387. s.VirtualizationType = &v
  34388. return s
  34389. }
  34390. // Contains the output of RegisterImage.
  34391. type RegisterImageOutput struct {
  34392. _ struct{} `type:"structure"`
  34393. // The ID of the newly registered AMI.
  34394. ImageId *string `locationName:"imageId" type:"string"`
  34395. }
  34396. // String returns the string representation
  34397. func (s RegisterImageOutput) String() string {
  34398. return awsutil.Prettify(s)
  34399. }
  34400. // GoString returns the string representation
  34401. func (s RegisterImageOutput) GoString() string {
  34402. return s.String()
  34403. }
  34404. // SetImageId sets the ImageId field's value.
  34405. func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
  34406. s.ImageId = &v
  34407. return s
  34408. }
  34409. // Contains the parameters for RejectVpcPeeringConnection.
  34410. type RejectVpcPeeringConnectionInput struct {
  34411. _ struct{} `type:"structure"`
  34412. // Checks whether you have the required permissions for the action, without
  34413. // actually making the request, and provides an error response. If you have
  34414. // the required permissions, the error response is DryRunOperation. Otherwise,
  34415. // it is UnauthorizedOperation.
  34416. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34417. // The ID of the VPC peering connection.
  34418. //
  34419. // VpcPeeringConnectionId is a required field
  34420. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  34421. }
  34422. // String returns the string representation
  34423. func (s RejectVpcPeeringConnectionInput) String() string {
  34424. return awsutil.Prettify(s)
  34425. }
  34426. // GoString returns the string representation
  34427. func (s RejectVpcPeeringConnectionInput) GoString() string {
  34428. return s.String()
  34429. }
  34430. // Validate inspects the fields of the type to determine if they are valid.
  34431. func (s *RejectVpcPeeringConnectionInput) Validate() error {
  34432. invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
  34433. if s.VpcPeeringConnectionId == nil {
  34434. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  34435. }
  34436. if invalidParams.Len() > 0 {
  34437. return invalidParams
  34438. }
  34439. return nil
  34440. }
  34441. // SetDryRun sets the DryRun field's value.
  34442. func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
  34443. s.DryRun = &v
  34444. return s
  34445. }
  34446. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  34447. func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
  34448. s.VpcPeeringConnectionId = &v
  34449. return s
  34450. }
  34451. // Contains the output of RejectVpcPeeringConnection.
  34452. type RejectVpcPeeringConnectionOutput struct {
  34453. _ struct{} `type:"structure"`
  34454. // Returns true if the request succeeds; otherwise, it returns an error.
  34455. Return *bool `locationName:"return" type:"boolean"`
  34456. }
  34457. // String returns the string representation
  34458. func (s RejectVpcPeeringConnectionOutput) String() string {
  34459. return awsutil.Prettify(s)
  34460. }
  34461. // GoString returns the string representation
  34462. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  34463. return s.String()
  34464. }
  34465. // SetReturn sets the Return field's value.
  34466. func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
  34467. s.Return = &v
  34468. return s
  34469. }
  34470. // Contains the parameters for ReleaseAddress.
  34471. type ReleaseAddressInput struct {
  34472. _ struct{} `type:"structure"`
  34473. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  34474. AllocationId *string `type:"string"`
  34475. // Checks whether you have the required permissions for the action, without
  34476. // actually making the request, and provides an error response. If you have
  34477. // the required permissions, the error response is DryRunOperation. Otherwise,
  34478. // it is UnauthorizedOperation.
  34479. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34480. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  34481. PublicIp *string `type:"string"`
  34482. }
  34483. // String returns the string representation
  34484. func (s ReleaseAddressInput) String() string {
  34485. return awsutil.Prettify(s)
  34486. }
  34487. // GoString returns the string representation
  34488. func (s ReleaseAddressInput) GoString() string {
  34489. return s.String()
  34490. }
  34491. // SetAllocationId sets the AllocationId field's value.
  34492. func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
  34493. s.AllocationId = &v
  34494. return s
  34495. }
  34496. // SetDryRun sets the DryRun field's value.
  34497. func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
  34498. s.DryRun = &v
  34499. return s
  34500. }
  34501. // SetPublicIp sets the PublicIp field's value.
  34502. func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
  34503. s.PublicIp = &v
  34504. return s
  34505. }
  34506. type ReleaseAddressOutput struct {
  34507. _ struct{} `type:"structure"`
  34508. }
  34509. // String returns the string representation
  34510. func (s ReleaseAddressOutput) String() string {
  34511. return awsutil.Prettify(s)
  34512. }
  34513. // GoString returns the string representation
  34514. func (s ReleaseAddressOutput) GoString() string {
  34515. return s.String()
  34516. }
  34517. // Contains the parameters for ReleaseHosts.
  34518. type ReleaseHostsInput struct {
  34519. _ struct{} `type:"structure"`
  34520. // The IDs of the Dedicated Hosts you want to release.
  34521. //
  34522. // HostIds is a required field
  34523. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  34524. }
  34525. // String returns the string representation
  34526. func (s ReleaseHostsInput) String() string {
  34527. return awsutil.Prettify(s)
  34528. }
  34529. // GoString returns the string representation
  34530. func (s ReleaseHostsInput) GoString() string {
  34531. return s.String()
  34532. }
  34533. // Validate inspects the fields of the type to determine if they are valid.
  34534. func (s *ReleaseHostsInput) Validate() error {
  34535. invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
  34536. if s.HostIds == nil {
  34537. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  34538. }
  34539. if invalidParams.Len() > 0 {
  34540. return invalidParams
  34541. }
  34542. return nil
  34543. }
  34544. // SetHostIds sets the HostIds field's value.
  34545. func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
  34546. s.HostIds = v
  34547. return s
  34548. }
  34549. // Contains the output of ReleaseHosts.
  34550. type ReleaseHostsOutput struct {
  34551. _ struct{} `type:"structure"`
  34552. // The IDs of the Dedicated Hosts that were successfully released.
  34553. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  34554. // The IDs of the Dedicated Hosts that could not be released, including an error
  34555. // message.
  34556. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  34557. }
  34558. // String returns the string representation
  34559. func (s ReleaseHostsOutput) String() string {
  34560. return awsutil.Prettify(s)
  34561. }
  34562. // GoString returns the string representation
  34563. func (s ReleaseHostsOutput) GoString() string {
  34564. return s.String()
  34565. }
  34566. // SetSuccessful sets the Successful field's value.
  34567. func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
  34568. s.Successful = v
  34569. return s
  34570. }
  34571. // SetUnsuccessful sets the Unsuccessful field's value.
  34572. func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
  34573. s.Unsuccessful = v
  34574. return s
  34575. }
  34576. // Contains the parameters for ReplaceNetworkAclAssociation.
  34577. type ReplaceNetworkAclAssociationInput struct {
  34578. _ struct{} `type:"structure"`
  34579. // The ID of the current association between the original network ACL and the
  34580. // subnet.
  34581. //
  34582. // AssociationId is a required field
  34583. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  34584. // Checks whether you have the required permissions for the action, without
  34585. // actually making the request, and provides an error response. If you have
  34586. // the required permissions, the error response is DryRunOperation. Otherwise,
  34587. // it is UnauthorizedOperation.
  34588. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34589. // The ID of the new network ACL to associate with the subnet.
  34590. //
  34591. // NetworkAclId is a required field
  34592. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  34593. }
  34594. // String returns the string representation
  34595. func (s ReplaceNetworkAclAssociationInput) String() string {
  34596. return awsutil.Prettify(s)
  34597. }
  34598. // GoString returns the string representation
  34599. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  34600. return s.String()
  34601. }
  34602. // Validate inspects the fields of the type to determine if they are valid.
  34603. func (s *ReplaceNetworkAclAssociationInput) Validate() error {
  34604. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
  34605. if s.AssociationId == nil {
  34606. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  34607. }
  34608. if s.NetworkAclId == nil {
  34609. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  34610. }
  34611. if invalidParams.Len() > 0 {
  34612. return invalidParams
  34613. }
  34614. return nil
  34615. }
  34616. // SetAssociationId sets the AssociationId field's value.
  34617. func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
  34618. s.AssociationId = &v
  34619. return s
  34620. }
  34621. // SetDryRun sets the DryRun field's value.
  34622. func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
  34623. s.DryRun = &v
  34624. return s
  34625. }
  34626. // SetNetworkAclId sets the NetworkAclId field's value.
  34627. func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
  34628. s.NetworkAclId = &v
  34629. return s
  34630. }
  34631. // Contains the output of ReplaceNetworkAclAssociation.
  34632. type ReplaceNetworkAclAssociationOutput struct {
  34633. _ struct{} `type:"structure"`
  34634. // The ID of the new association.
  34635. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  34636. }
  34637. // String returns the string representation
  34638. func (s ReplaceNetworkAclAssociationOutput) String() string {
  34639. return awsutil.Prettify(s)
  34640. }
  34641. // GoString returns the string representation
  34642. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  34643. return s.String()
  34644. }
  34645. // SetNewAssociationId sets the NewAssociationId field's value.
  34646. func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
  34647. s.NewAssociationId = &v
  34648. return s
  34649. }
  34650. // Contains the parameters for ReplaceNetworkAclEntry.
  34651. type ReplaceNetworkAclEntryInput struct {
  34652. _ struct{} `type:"structure"`
  34653. // The network range to allow or deny, in CIDR notation.
  34654. //
  34655. // CidrBlock is a required field
  34656. CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"`
  34657. // Checks whether you have the required permissions for the action, without
  34658. // actually making the request, and provides an error response. If you have
  34659. // the required permissions, the error response is DryRunOperation. Otherwise,
  34660. // it is UnauthorizedOperation.
  34661. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34662. // Indicates whether to replace the egress rule.
  34663. //
  34664. // Default: If no value is specified, we replace the ingress rule.
  34665. //
  34666. // Egress is a required field
  34667. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  34668. // ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for
  34669. // the protocol.
  34670. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  34671. // The ID of the ACL.
  34672. //
  34673. // NetworkAclId is a required field
  34674. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  34675. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  34676. // specifying 6 (TCP) or 17 (UDP) for the protocol.
  34677. PortRange *PortRange `locationName:"portRange" type:"structure"`
  34678. // The IP protocol. You can specify all or -1 to mean all protocols.
  34679. //
  34680. // Protocol is a required field
  34681. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  34682. // Indicates whether to allow or deny the traffic that matches the rule.
  34683. //
  34684. // RuleAction is a required field
  34685. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  34686. // The rule number of the entry to replace.
  34687. //
  34688. // RuleNumber is a required field
  34689. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  34690. }
  34691. // String returns the string representation
  34692. func (s ReplaceNetworkAclEntryInput) String() string {
  34693. return awsutil.Prettify(s)
  34694. }
  34695. // GoString returns the string representation
  34696. func (s ReplaceNetworkAclEntryInput) GoString() string {
  34697. return s.String()
  34698. }
  34699. // Validate inspects the fields of the type to determine if they are valid.
  34700. func (s *ReplaceNetworkAclEntryInput) Validate() error {
  34701. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
  34702. if s.CidrBlock == nil {
  34703. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  34704. }
  34705. if s.Egress == nil {
  34706. invalidParams.Add(request.NewErrParamRequired("Egress"))
  34707. }
  34708. if s.NetworkAclId == nil {
  34709. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  34710. }
  34711. if s.Protocol == nil {
  34712. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  34713. }
  34714. if s.RuleAction == nil {
  34715. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  34716. }
  34717. if s.RuleNumber == nil {
  34718. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  34719. }
  34720. if invalidParams.Len() > 0 {
  34721. return invalidParams
  34722. }
  34723. return nil
  34724. }
  34725. // SetCidrBlock sets the CidrBlock field's value.
  34726. func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
  34727. s.CidrBlock = &v
  34728. return s
  34729. }
  34730. // SetDryRun sets the DryRun field's value.
  34731. func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
  34732. s.DryRun = &v
  34733. return s
  34734. }
  34735. // SetEgress sets the Egress field's value.
  34736. func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
  34737. s.Egress = &v
  34738. return s
  34739. }
  34740. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  34741. func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
  34742. s.IcmpTypeCode = v
  34743. return s
  34744. }
  34745. // SetNetworkAclId sets the NetworkAclId field's value.
  34746. func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
  34747. s.NetworkAclId = &v
  34748. return s
  34749. }
  34750. // SetPortRange sets the PortRange field's value.
  34751. func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
  34752. s.PortRange = v
  34753. return s
  34754. }
  34755. // SetProtocol sets the Protocol field's value.
  34756. func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
  34757. s.Protocol = &v
  34758. return s
  34759. }
  34760. // SetRuleAction sets the RuleAction field's value.
  34761. func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
  34762. s.RuleAction = &v
  34763. return s
  34764. }
  34765. // SetRuleNumber sets the RuleNumber field's value.
  34766. func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
  34767. s.RuleNumber = &v
  34768. return s
  34769. }
  34770. type ReplaceNetworkAclEntryOutput struct {
  34771. _ struct{} `type:"structure"`
  34772. }
  34773. // String returns the string representation
  34774. func (s ReplaceNetworkAclEntryOutput) String() string {
  34775. return awsutil.Prettify(s)
  34776. }
  34777. // GoString returns the string representation
  34778. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  34779. return s.String()
  34780. }
  34781. // Contains the parameters for ReplaceRoute.
  34782. type ReplaceRouteInput struct {
  34783. _ struct{} `type:"structure"`
  34784. // The CIDR address block used for the destination match. The value you provide
  34785. // must match the CIDR of an existing route in the table.
  34786. //
  34787. // DestinationCidrBlock is a required field
  34788. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
  34789. // Checks whether you have the required permissions for the action, without
  34790. // actually making the request, and provides an error response. If you have
  34791. // the required permissions, the error response is DryRunOperation. Otherwise,
  34792. // it is UnauthorizedOperation.
  34793. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34794. // The ID of an Internet gateway or virtual private gateway.
  34795. GatewayId *string `locationName:"gatewayId" type:"string"`
  34796. // The ID of a NAT instance in your VPC.
  34797. InstanceId *string `locationName:"instanceId" type:"string"`
  34798. // The ID of a NAT gateway.
  34799. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  34800. // The ID of a network interface.
  34801. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  34802. // The ID of the route table.
  34803. //
  34804. // RouteTableId is a required field
  34805. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  34806. // The ID of a VPC peering connection.
  34807. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  34808. }
  34809. // String returns the string representation
  34810. func (s ReplaceRouteInput) String() string {
  34811. return awsutil.Prettify(s)
  34812. }
  34813. // GoString returns the string representation
  34814. func (s ReplaceRouteInput) GoString() string {
  34815. return s.String()
  34816. }
  34817. // Validate inspects the fields of the type to determine if they are valid.
  34818. func (s *ReplaceRouteInput) Validate() error {
  34819. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
  34820. if s.DestinationCidrBlock == nil {
  34821. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  34822. }
  34823. if s.RouteTableId == nil {
  34824. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  34825. }
  34826. if invalidParams.Len() > 0 {
  34827. return invalidParams
  34828. }
  34829. return nil
  34830. }
  34831. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  34832. func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
  34833. s.DestinationCidrBlock = &v
  34834. return s
  34835. }
  34836. // SetDryRun sets the DryRun field's value.
  34837. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
  34838. s.DryRun = &v
  34839. return s
  34840. }
  34841. // SetGatewayId sets the GatewayId field's value.
  34842. func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
  34843. s.GatewayId = &v
  34844. return s
  34845. }
  34846. // SetInstanceId sets the InstanceId field's value.
  34847. func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
  34848. s.InstanceId = &v
  34849. return s
  34850. }
  34851. // SetNatGatewayId sets the NatGatewayId field's value.
  34852. func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
  34853. s.NatGatewayId = &v
  34854. return s
  34855. }
  34856. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  34857. func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
  34858. s.NetworkInterfaceId = &v
  34859. return s
  34860. }
  34861. // SetRouteTableId sets the RouteTableId field's value.
  34862. func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
  34863. s.RouteTableId = &v
  34864. return s
  34865. }
  34866. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  34867. func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
  34868. s.VpcPeeringConnectionId = &v
  34869. return s
  34870. }
  34871. type ReplaceRouteOutput struct {
  34872. _ struct{} `type:"structure"`
  34873. }
  34874. // String returns the string representation
  34875. func (s ReplaceRouteOutput) String() string {
  34876. return awsutil.Prettify(s)
  34877. }
  34878. // GoString returns the string representation
  34879. func (s ReplaceRouteOutput) GoString() string {
  34880. return s.String()
  34881. }
  34882. // Contains the parameters for ReplaceRouteTableAssociation.
  34883. type ReplaceRouteTableAssociationInput struct {
  34884. _ struct{} `type:"structure"`
  34885. // The association ID.
  34886. //
  34887. // AssociationId is a required field
  34888. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  34889. // Checks whether you have the required permissions for the action, without
  34890. // actually making the request, and provides an error response. If you have
  34891. // the required permissions, the error response is DryRunOperation. Otherwise,
  34892. // it is UnauthorizedOperation.
  34893. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34894. // The ID of the new route table to associate with the subnet.
  34895. //
  34896. // RouteTableId is a required field
  34897. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  34898. }
  34899. // String returns the string representation
  34900. func (s ReplaceRouteTableAssociationInput) String() string {
  34901. return awsutil.Prettify(s)
  34902. }
  34903. // GoString returns the string representation
  34904. func (s ReplaceRouteTableAssociationInput) GoString() string {
  34905. return s.String()
  34906. }
  34907. // Validate inspects the fields of the type to determine if they are valid.
  34908. func (s *ReplaceRouteTableAssociationInput) Validate() error {
  34909. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
  34910. if s.AssociationId == nil {
  34911. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  34912. }
  34913. if s.RouteTableId == nil {
  34914. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  34915. }
  34916. if invalidParams.Len() > 0 {
  34917. return invalidParams
  34918. }
  34919. return nil
  34920. }
  34921. // SetAssociationId sets the AssociationId field's value.
  34922. func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
  34923. s.AssociationId = &v
  34924. return s
  34925. }
  34926. // SetDryRun sets the DryRun field's value.
  34927. func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
  34928. s.DryRun = &v
  34929. return s
  34930. }
  34931. // SetRouteTableId sets the RouteTableId field's value.
  34932. func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
  34933. s.RouteTableId = &v
  34934. return s
  34935. }
  34936. // Contains the output of ReplaceRouteTableAssociation.
  34937. type ReplaceRouteTableAssociationOutput struct {
  34938. _ struct{} `type:"structure"`
  34939. // The ID of the new association.
  34940. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  34941. }
  34942. // String returns the string representation
  34943. func (s ReplaceRouteTableAssociationOutput) String() string {
  34944. return awsutil.Prettify(s)
  34945. }
  34946. // GoString returns the string representation
  34947. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  34948. return s.String()
  34949. }
  34950. // SetNewAssociationId sets the NewAssociationId field's value.
  34951. func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
  34952. s.NewAssociationId = &v
  34953. return s
  34954. }
  34955. // Contains the parameters for ReportInstanceStatus.
  34956. type ReportInstanceStatusInput struct {
  34957. _ struct{} `type:"structure"`
  34958. // Descriptive text about the health state of your instance.
  34959. Description *string `locationName:"description" type:"string"`
  34960. // Checks whether you have the required permissions for the action, without
  34961. // actually making the request, and provides an error response. If you have
  34962. // the required permissions, the error response is DryRunOperation. Otherwise,
  34963. // it is UnauthorizedOperation.
  34964. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34965. // The time at which the reported instance health state ended.
  34966. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  34967. // One or more instances.
  34968. //
  34969. // Instances is a required field
  34970. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  34971. // One or more reason codes that describes the health state of your instance.
  34972. //
  34973. // * instance-stuck-in-state: My instance is stuck in a state.
  34974. //
  34975. // * unresponsive: My instance is unresponsive.
  34976. //
  34977. // * not-accepting-credentials: My instance is not accepting my credentials.
  34978. //
  34979. // * password-not-available: A password is not available for my instance.
  34980. //
  34981. // * performance-network: My instance is experiencing performance problems
  34982. // which I believe are network related.
  34983. //
  34984. // * performance-instance-store: My instance is experiencing performance
  34985. // problems which I believe are related to the instance stores.
  34986. //
  34987. // * performance-ebs-volume: My instance is experiencing performance problems
  34988. // which I believe are related to an EBS volume.
  34989. //
  34990. // * performance-other: My instance is experiencing performance problems.
  34991. //
  34992. // * other: [explain using the description parameter]
  34993. //
  34994. // ReasonCodes is a required field
  34995. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  34996. // The time at which the reported instance health state began.
  34997. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  34998. // The status of all instances listed.
  34999. //
  35000. // Status is a required field
  35001. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  35002. }
  35003. // String returns the string representation
  35004. func (s ReportInstanceStatusInput) String() string {
  35005. return awsutil.Prettify(s)
  35006. }
  35007. // GoString returns the string representation
  35008. func (s ReportInstanceStatusInput) GoString() string {
  35009. return s.String()
  35010. }
  35011. // Validate inspects the fields of the type to determine if they are valid.
  35012. func (s *ReportInstanceStatusInput) Validate() error {
  35013. invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
  35014. if s.Instances == nil {
  35015. invalidParams.Add(request.NewErrParamRequired("Instances"))
  35016. }
  35017. if s.ReasonCodes == nil {
  35018. invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
  35019. }
  35020. if s.Status == nil {
  35021. invalidParams.Add(request.NewErrParamRequired("Status"))
  35022. }
  35023. if invalidParams.Len() > 0 {
  35024. return invalidParams
  35025. }
  35026. return nil
  35027. }
  35028. // SetDescription sets the Description field's value.
  35029. func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
  35030. s.Description = &v
  35031. return s
  35032. }
  35033. // SetDryRun sets the DryRun field's value.
  35034. func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
  35035. s.DryRun = &v
  35036. return s
  35037. }
  35038. // SetEndTime sets the EndTime field's value.
  35039. func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
  35040. s.EndTime = &v
  35041. return s
  35042. }
  35043. // SetInstances sets the Instances field's value.
  35044. func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
  35045. s.Instances = v
  35046. return s
  35047. }
  35048. // SetReasonCodes sets the ReasonCodes field's value.
  35049. func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
  35050. s.ReasonCodes = v
  35051. return s
  35052. }
  35053. // SetStartTime sets the StartTime field's value.
  35054. func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
  35055. s.StartTime = &v
  35056. return s
  35057. }
  35058. // SetStatus sets the Status field's value.
  35059. func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
  35060. s.Status = &v
  35061. return s
  35062. }
  35063. type ReportInstanceStatusOutput struct {
  35064. _ struct{} `type:"structure"`
  35065. }
  35066. // String returns the string representation
  35067. func (s ReportInstanceStatusOutput) String() string {
  35068. return awsutil.Prettify(s)
  35069. }
  35070. // GoString returns the string representation
  35071. func (s ReportInstanceStatusOutput) GoString() string {
  35072. return s.String()
  35073. }
  35074. // Contains the parameters for RequestSpotFleet.
  35075. type RequestSpotFleetInput struct {
  35076. _ struct{} `type:"structure"`
  35077. // Checks whether you have the required permissions for the action, without
  35078. // actually making the request, and provides an error response. If you have
  35079. // the required permissions, the error response is DryRunOperation. Otherwise,
  35080. // it is UnauthorizedOperation.
  35081. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35082. // The configuration for the Spot fleet request.
  35083. //
  35084. // SpotFleetRequestConfig is a required field
  35085. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  35086. }
  35087. // String returns the string representation
  35088. func (s RequestSpotFleetInput) String() string {
  35089. return awsutil.Prettify(s)
  35090. }
  35091. // GoString returns the string representation
  35092. func (s RequestSpotFleetInput) GoString() string {
  35093. return s.String()
  35094. }
  35095. // Validate inspects the fields of the type to determine if they are valid.
  35096. func (s *RequestSpotFleetInput) Validate() error {
  35097. invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
  35098. if s.SpotFleetRequestConfig == nil {
  35099. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
  35100. }
  35101. if s.SpotFleetRequestConfig != nil {
  35102. if err := s.SpotFleetRequestConfig.Validate(); err != nil {
  35103. invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
  35104. }
  35105. }
  35106. if invalidParams.Len() > 0 {
  35107. return invalidParams
  35108. }
  35109. return nil
  35110. }
  35111. // SetDryRun sets the DryRun field's value.
  35112. func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
  35113. s.DryRun = &v
  35114. return s
  35115. }
  35116. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  35117. func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
  35118. s.SpotFleetRequestConfig = v
  35119. return s
  35120. }
  35121. // Contains the output of RequestSpotFleet.
  35122. type RequestSpotFleetOutput struct {
  35123. _ struct{} `type:"structure"`
  35124. // The ID of the Spot fleet request.
  35125. //
  35126. // SpotFleetRequestId is a required field
  35127. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  35128. }
  35129. // String returns the string representation
  35130. func (s RequestSpotFleetOutput) String() string {
  35131. return awsutil.Prettify(s)
  35132. }
  35133. // GoString returns the string representation
  35134. func (s RequestSpotFleetOutput) GoString() string {
  35135. return s.String()
  35136. }
  35137. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  35138. func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
  35139. s.SpotFleetRequestId = &v
  35140. return s
  35141. }
  35142. // Contains the parameters for RequestSpotInstances.
  35143. type RequestSpotInstancesInput struct {
  35144. _ struct{} `type:"structure"`
  35145. // The user-specified name for a logical grouping of bids.
  35146. //
  35147. // When you specify an Availability Zone group in a Spot Instance request, all
  35148. // Spot instances in the request are launched in the same Availability Zone.
  35149. // Instance proximity is maintained with this parameter, but the choice of Availability
  35150. // Zone is not. The group applies only to bids for Spot Instances of the same
  35151. // instance type. Any additional Spot instance requests that are specified with
  35152. // the same Availability Zone group name are launched in that same Availability
  35153. // Zone, as long as at least one instance from the group is still active.
  35154. //
  35155. // If there is no active instance running in the Availability Zone group that
  35156. // you specify for a new Spot instance request (all instances are terminated,
  35157. // the bid is expired, or the bid falls below current market), then Amazon EC2
  35158. // launches the instance in any Availability Zone where the constraint can be
  35159. // met. Consequently, the subsequent set of Spot instances could be placed in
  35160. // a different zone from the original request, even if you specified the same
  35161. // Availability Zone group.
  35162. //
  35163. // Default: Instances are launched in any available Availability Zone.
  35164. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  35165. // The required duration for the Spot instances (also known as Spot blocks),
  35166. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  35167. // or 360).
  35168. //
  35169. // The duration period starts as soon as your Spot instance receives its instance
  35170. // ID. At the end of the duration period, Amazon EC2 marks the Spot instance
  35171. // for termination and provides a Spot instance termination notice, which gives
  35172. // the instance a two-minute warning before it terminates.
  35173. //
  35174. // Note that you can't specify an Availability Zone group or a launch group
  35175. // if you specify a duration.
  35176. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  35177. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  35178. // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  35179. // in the Amazon Elastic Compute Cloud User Guide.
  35180. ClientToken *string `locationName:"clientToken" type:"string"`
  35181. // Checks whether you have the required permissions for the action, without
  35182. // actually making the request, and provides an error response. If you have
  35183. // the required permissions, the error response is DryRunOperation. Otherwise,
  35184. // it is UnauthorizedOperation.
  35185. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35186. // The maximum number of Spot instances to launch.
  35187. //
  35188. // Default: 1
  35189. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  35190. // The instance launch group. Launch groups are Spot instances that launch together
  35191. // and terminate together.
  35192. //
  35193. // Default: Instances are launched and terminated individually
  35194. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  35195. // Describes the launch specification for an instance.
  35196. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  35197. // The maximum hourly price (bid) for any Spot instance launched to fulfill
  35198. // the request.
  35199. //
  35200. // SpotPrice is a required field
  35201. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  35202. // The Spot instance request type.
  35203. //
  35204. // Default: one-time
  35205. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  35206. // The start date of the request. If this is a one-time request, the request
  35207. // becomes active at this date and time and remains active until all instances
  35208. // launch, the request expires, or the request is canceled. If the request is
  35209. // persistent, the request becomes active at this date and time and remains
  35210. // active until it expires or is canceled.
  35211. //
  35212. // Default: The request is effective indefinitely.
  35213. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  35214. // The end date of the request. If this is a one-time request, the request remains
  35215. // active until all instances launch, the request is canceled, or this date
  35216. // is reached. If the request is persistent, it remains active until it is canceled
  35217. // or this date and time is reached.
  35218. //
  35219. // Default: The request is effective indefinitely.
  35220. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  35221. }
  35222. // String returns the string representation
  35223. func (s RequestSpotInstancesInput) String() string {
  35224. return awsutil.Prettify(s)
  35225. }
  35226. // GoString returns the string representation
  35227. func (s RequestSpotInstancesInput) GoString() string {
  35228. return s.String()
  35229. }
  35230. // Validate inspects the fields of the type to determine if they are valid.
  35231. func (s *RequestSpotInstancesInput) Validate() error {
  35232. invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
  35233. if s.SpotPrice == nil {
  35234. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  35235. }
  35236. if s.LaunchSpecification != nil {
  35237. if err := s.LaunchSpecification.Validate(); err != nil {
  35238. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  35239. }
  35240. }
  35241. if invalidParams.Len() > 0 {
  35242. return invalidParams
  35243. }
  35244. return nil
  35245. }
  35246. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  35247. func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
  35248. s.AvailabilityZoneGroup = &v
  35249. return s
  35250. }
  35251. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  35252. func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
  35253. s.BlockDurationMinutes = &v
  35254. return s
  35255. }
  35256. // SetClientToken sets the ClientToken field's value.
  35257. func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
  35258. s.ClientToken = &v
  35259. return s
  35260. }
  35261. // SetDryRun sets the DryRun field's value.
  35262. func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
  35263. s.DryRun = &v
  35264. return s
  35265. }
  35266. // SetInstanceCount sets the InstanceCount field's value.
  35267. func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
  35268. s.InstanceCount = &v
  35269. return s
  35270. }
  35271. // SetLaunchGroup sets the LaunchGroup field's value.
  35272. func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
  35273. s.LaunchGroup = &v
  35274. return s
  35275. }
  35276. // SetLaunchSpecification sets the LaunchSpecification field's value.
  35277. func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
  35278. s.LaunchSpecification = v
  35279. return s
  35280. }
  35281. // SetSpotPrice sets the SpotPrice field's value.
  35282. func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
  35283. s.SpotPrice = &v
  35284. return s
  35285. }
  35286. // SetType sets the Type field's value.
  35287. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
  35288. s.Type = &v
  35289. return s
  35290. }
  35291. // SetValidFrom sets the ValidFrom field's value.
  35292. func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
  35293. s.ValidFrom = &v
  35294. return s
  35295. }
  35296. // SetValidUntil sets the ValidUntil field's value.
  35297. func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
  35298. s.ValidUntil = &v
  35299. return s
  35300. }
  35301. // Contains the output of RequestSpotInstances.
  35302. type RequestSpotInstancesOutput struct {
  35303. _ struct{} `type:"structure"`
  35304. // One or more Spot instance requests.
  35305. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  35306. }
  35307. // String returns the string representation
  35308. func (s RequestSpotInstancesOutput) String() string {
  35309. return awsutil.Prettify(s)
  35310. }
  35311. // GoString returns the string representation
  35312. func (s RequestSpotInstancesOutput) GoString() string {
  35313. return s.String()
  35314. }
  35315. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  35316. func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
  35317. s.SpotInstanceRequests = v
  35318. return s
  35319. }
  35320. // Describes the launch specification for an instance.
  35321. type RequestSpotLaunchSpecification struct {
  35322. _ struct{} `type:"structure"`
  35323. // Deprecated.
  35324. AddressingType *string `locationName:"addressingType" type:"string"`
  35325. // One or more block device mapping entries.
  35326. //
  35327. // Although you can specify encrypted EBS volumes in this block device mapping
  35328. // for your Spot Instances, these volumes are not encrypted.
  35329. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  35330. // Indicates whether the instance is optimized for EBS I/O. This optimization
  35331. // provides dedicated throughput to Amazon EBS and an optimized configuration
  35332. // stack to provide optimal EBS I/O performance. This optimization isn't available
  35333. // with all instance types. Additional usage charges apply when using an EBS
  35334. // Optimized instance.
  35335. //
  35336. // Default: false
  35337. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  35338. // The IAM instance profile.
  35339. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  35340. // The ID of the AMI.
  35341. ImageId *string `locationName:"imageId" type:"string"`
  35342. // The instance type.
  35343. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  35344. // The ID of the kernel.
  35345. KernelId *string `locationName:"kernelId" type:"string"`
  35346. // The name of the key pair.
  35347. KeyName *string `locationName:"keyName" type:"string"`
  35348. // Describes the monitoring for the instance.
  35349. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  35350. // One or more network interfaces.
  35351. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  35352. // The placement information for the instance.
  35353. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  35354. // The ID of the RAM disk.
  35355. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  35356. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  35357. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  35358. // The ID of the subnet in which to launch the instance.
  35359. SubnetId *string `locationName:"subnetId" type:"string"`
  35360. // The user data to make available to the instances. If you are using an AWS
  35361. // SDK or command line tool, Base64-encoding is performed for you, and you can
  35362. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  35363. UserData *string `locationName:"userData" type:"string"`
  35364. }
  35365. // String returns the string representation
  35366. func (s RequestSpotLaunchSpecification) String() string {
  35367. return awsutil.Prettify(s)
  35368. }
  35369. // GoString returns the string representation
  35370. func (s RequestSpotLaunchSpecification) GoString() string {
  35371. return s.String()
  35372. }
  35373. // Validate inspects the fields of the type to determine if they are valid.
  35374. func (s *RequestSpotLaunchSpecification) Validate() error {
  35375. invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
  35376. if s.Monitoring != nil {
  35377. if err := s.Monitoring.Validate(); err != nil {
  35378. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  35379. }
  35380. }
  35381. if s.NetworkInterfaces != nil {
  35382. for i, v := range s.NetworkInterfaces {
  35383. if v == nil {
  35384. continue
  35385. }
  35386. if err := v.Validate(); err != nil {
  35387. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  35388. }
  35389. }
  35390. }
  35391. if invalidParams.Len() > 0 {
  35392. return invalidParams
  35393. }
  35394. return nil
  35395. }
  35396. // SetAddressingType sets the AddressingType field's value.
  35397. func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
  35398. s.AddressingType = &v
  35399. return s
  35400. }
  35401. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  35402. func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
  35403. s.BlockDeviceMappings = v
  35404. return s
  35405. }
  35406. // SetEbsOptimized sets the EbsOptimized field's value.
  35407. func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
  35408. s.EbsOptimized = &v
  35409. return s
  35410. }
  35411. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  35412. func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
  35413. s.IamInstanceProfile = v
  35414. return s
  35415. }
  35416. // SetImageId sets the ImageId field's value.
  35417. func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
  35418. s.ImageId = &v
  35419. return s
  35420. }
  35421. // SetInstanceType sets the InstanceType field's value.
  35422. func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
  35423. s.InstanceType = &v
  35424. return s
  35425. }
  35426. // SetKernelId sets the KernelId field's value.
  35427. func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
  35428. s.KernelId = &v
  35429. return s
  35430. }
  35431. // SetKeyName sets the KeyName field's value.
  35432. func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
  35433. s.KeyName = &v
  35434. return s
  35435. }
  35436. // SetMonitoring sets the Monitoring field's value.
  35437. func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
  35438. s.Monitoring = v
  35439. return s
  35440. }
  35441. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  35442. func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
  35443. s.NetworkInterfaces = v
  35444. return s
  35445. }
  35446. // SetPlacement sets the Placement field's value.
  35447. func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
  35448. s.Placement = v
  35449. return s
  35450. }
  35451. // SetRamdiskId sets the RamdiskId field's value.
  35452. func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
  35453. s.RamdiskId = &v
  35454. return s
  35455. }
  35456. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  35457. func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
  35458. s.SecurityGroupIds = v
  35459. return s
  35460. }
  35461. // SetSecurityGroups sets the SecurityGroups field's value.
  35462. func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
  35463. s.SecurityGroups = v
  35464. return s
  35465. }
  35466. // SetSubnetId sets the SubnetId field's value.
  35467. func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
  35468. s.SubnetId = &v
  35469. return s
  35470. }
  35471. // SetUserData sets the UserData field's value.
  35472. func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
  35473. s.UserData = &v
  35474. return s
  35475. }
  35476. // Describes a reservation.
  35477. type Reservation struct {
  35478. _ struct{} `type:"structure"`
  35479. // [EC2-Classic only] One or more security groups.
  35480. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  35481. // One or more instances.
  35482. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  35483. // The ID of the AWS account that owns the reservation.
  35484. OwnerId *string `locationName:"ownerId" type:"string"`
  35485. // The ID of the requester that launched the instances on your behalf (for example,
  35486. // AWS Management Console or Auto Scaling).
  35487. RequesterId *string `locationName:"requesterId" type:"string"`
  35488. // The ID of the reservation.
  35489. ReservationId *string `locationName:"reservationId" type:"string"`
  35490. }
  35491. // String returns the string representation
  35492. func (s Reservation) String() string {
  35493. return awsutil.Prettify(s)
  35494. }
  35495. // GoString returns the string representation
  35496. func (s Reservation) GoString() string {
  35497. return s.String()
  35498. }
  35499. // SetGroups sets the Groups field's value.
  35500. func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
  35501. s.Groups = v
  35502. return s
  35503. }
  35504. // SetInstances sets the Instances field's value.
  35505. func (s *Reservation) SetInstances(v []*Instance) *Reservation {
  35506. s.Instances = v
  35507. return s
  35508. }
  35509. // SetOwnerId sets the OwnerId field's value.
  35510. func (s *Reservation) SetOwnerId(v string) *Reservation {
  35511. s.OwnerId = &v
  35512. return s
  35513. }
  35514. // SetRequesterId sets the RequesterId field's value.
  35515. func (s *Reservation) SetRequesterId(v string) *Reservation {
  35516. s.RequesterId = &v
  35517. return s
  35518. }
  35519. // SetReservationId sets the ReservationId field's value.
  35520. func (s *Reservation) SetReservationId(v string) *Reservation {
  35521. s.ReservationId = &v
  35522. return s
  35523. }
  35524. // The cost associated with the Reserved Instance.
  35525. type ReservationValue struct {
  35526. _ struct{} `type:"structure"`
  35527. // The hourly rate of the reservation.
  35528. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  35529. // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
  35530. // * number of hours remaining).
  35531. RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
  35532. // The remaining upfront cost of the reservation.
  35533. RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
  35534. }
  35535. // String returns the string representation
  35536. func (s ReservationValue) String() string {
  35537. return awsutil.Prettify(s)
  35538. }
  35539. // GoString returns the string representation
  35540. func (s ReservationValue) GoString() string {
  35541. return s.String()
  35542. }
  35543. // SetHourlyPrice sets the HourlyPrice field's value.
  35544. func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
  35545. s.HourlyPrice = &v
  35546. return s
  35547. }
  35548. // SetRemainingTotalValue sets the RemainingTotalValue field's value.
  35549. func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
  35550. s.RemainingTotalValue = &v
  35551. return s
  35552. }
  35553. // SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
  35554. func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
  35555. s.RemainingUpfrontValue = &v
  35556. return s
  35557. }
  35558. // Describes the limit price of a Reserved Instance offering.
  35559. type ReservedInstanceLimitPrice struct {
  35560. _ struct{} `type:"structure"`
  35561. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  35562. // on the total order (instanceCount * price).
  35563. Amount *float64 `locationName:"amount" type:"double"`
  35564. // The currency in which the limitPrice amount is specified. At this time, the
  35565. // only supported currency is USD.
  35566. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  35567. }
  35568. // String returns the string representation
  35569. func (s ReservedInstanceLimitPrice) String() string {
  35570. return awsutil.Prettify(s)
  35571. }
  35572. // GoString returns the string representation
  35573. func (s ReservedInstanceLimitPrice) GoString() string {
  35574. return s.String()
  35575. }
  35576. // SetAmount sets the Amount field's value.
  35577. func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
  35578. s.Amount = &v
  35579. return s
  35580. }
  35581. // SetCurrencyCode sets the CurrencyCode field's value.
  35582. func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
  35583. s.CurrencyCode = &v
  35584. return s
  35585. }
  35586. // The total value of the Convertible Reserved Instance.
  35587. type ReservedInstanceReservationValue struct {
  35588. _ struct{} `type:"structure"`
  35589. // The total value of the Convertible Reserved Instance that you are exchanging.
  35590. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  35591. // The ID of the Convertible Reserved Instance that you are exchanging.
  35592. ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
  35593. }
  35594. // String returns the string representation
  35595. func (s ReservedInstanceReservationValue) String() string {
  35596. return awsutil.Prettify(s)
  35597. }
  35598. // GoString returns the string representation
  35599. func (s ReservedInstanceReservationValue) GoString() string {
  35600. return s.String()
  35601. }
  35602. // SetReservationValue sets the ReservationValue field's value.
  35603. func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
  35604. s.ReservationValue = v
  35605. return s
  35606. }
  35607. // SetReservedInstanceId sets the ReservedInstanceId field's value.
  35608. func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
  35609. s.ReservedInstanceId = &v
  35610. return s
  35611. }
  35612. // Describes a Reserved Instance.
  35613. type ReservedInstances struct {
  35614. _ struct{} `type:"structure"`
  35615. // The Availability Zone in which the Reserved Instance can be used.
  35616. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  35617. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  35618. // currency codes. At this time, the only supported currency is USD.
  35619. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  35620. // The duration of the Reserved Instance, in seconds.
  35621. Duration *int64 `locationName:"duration" type:"long"`
  35622. // The time when the Reserved Instance expires.
  35623. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  35624. // The purchase price of the Reserved Instance.
  35625. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  35626. // The number of reservations purchased.
  35627. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  35628. // The tenancy of the instance.
  35629. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  35630. // The instance type on which the Reserved Instance can be used.
  35631. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  35632. // The offering class of the Reserved Instance.
  35633. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  35634. // The Reserved Instance offering type.
  35635. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  35636. // The Reserved Instance product platform description.
  35637. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  35638. // The recurring charge tag assigned to the resource.
  35639. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  35640. // The ID of the Reserved Instance.
  35641. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  35642. // The scope of the Reserved Instance.
  35643. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  35644. // The date and time the Reserved Instance started.
  35645. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  35646. // The state of the Reserved Instance purchase.
  35647. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  35648. // Any tags assigned to the resource.
  35649. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  35650. // The usage price of the Reserved Instance, per hour.
  35651. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  35652. }
  35653. // String returns the string representation
  35654. func (s ReservedInstances) String() string {
  35655. return awsutil.Prettify(s)
  35656. }
  35657. // GoString returns the string representation
  35658. func (s ReservedInstances) GoString() string {
  35659. return s.String()
  35660. }
  35661. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35662. func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
  35663. s.AvailabilityZone = &v
  35664. return s
  35665. }
  35666. // SetCurrencyCode sets the CurrencyCode field's value.
  35667. func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
  35668. s.CurrencyCode = &v
  35669. return s
  35670. }
  35671. // SetDuration sets the Duration field's value.
  35672. func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
  35673. s.Duration = &v
  35674. return s
  35675. }
  35676. // SetEnd sets the End field's value.
  35677. func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
  35678. s.End = &v
  35679. return s
  35680. }
  35681. // SetFixedPrice sets the FixedPrice field's value.
  35682. func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
  35683. s.FixedPrice = &v
  35684. return s
  35685. }
  35686. // SetInstanceCount sets the InstanceCount field's value.
  35687. func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
  35688. s.InstanceCount = &v
  35689. return s
  35690. }
  35691. // SetInstanceTenancy sets the InstanceTenancy field's value.
  35692. func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
  35693. s.InstanceTenancy = &v
  35694. return s
  35695. }
  35696. // SetInstanceType sets the InstanceType field's value.
  35697. func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
  35698. s.InstanceType = &v
  35699. return s
  35700. }
  35701. // SetOfferingClass sets the OfferingClass field's value.
  35702. func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
  35703. s.OfferingClass = &v
  35704. return s
  35705. }
  35706. // SetOfferingType sets the OfferingType field's value.
  35707. func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
  35708. s.OfferingType = &v
  35709. return s
  35710. }
  35711. // SetProductDescription sets the ProductDescription field's value.
  35712. func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
  35713. s.ProductDescription = &v
  35714. return s
  35715. }
  35716. // SetRecurringCharges sets the RecurringCharges field's value.
  35717. func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
  35718. s.RecurringCharges = v
  35719. return s
  35720. }
  35721. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  35722. func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
  35723. s.ReservedInstancesId = &v
  35724. return s
  35725. }
  35726. // SetScope sets the Scope field's value.
  35727. func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
  35728. s.Scope = &v
  35729. return s
  35730. }
  35731. // SetStart sets the Start field's value.
  35732. func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
  35733. s.Start = &v
  35734. return s
  35735. }
  35736. // SetState sets the State field's value.
  35737. func (s *ReservedInstances) SetState(v string) *ReservedInstances {
  35738. s.State = &v
  35739. return s
  35740. }
  35741. // SetTags sets the Tags field's value.
  35742. func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
  35743. s.Tags = v
  35744. return s
  35745. }
  35746. // SetUsagePrice sets the UsagePrice field's value.
  35747. func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
  35748. s.UsagePrice = &v
  35749. return s
  35750. }
  35751. // Describes the configuration settings for the modified Reserved Instances.
  35752. type ReservedInstancesConfiguration struct {
  35753. _ struct{} `type:"structure"`
  35754. // The Availability Zone for the modified Reserved Instances.
  35755. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  35756. // The number of modified Reserved Instances.
  35757. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  35758. // The instance type for the modified Reserved Instances.
  35759. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  35760. // The network platform of the modified Reserved Instances, which is either
  35761. // EC2-Classic or EC2-VPC.
  35762. Platform *string `locationName:"platform" type:"string"`
  35763. // Whether the Reserved Instance is standard or convertible.
  35764. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  35765. }
  35766. // String returns the string representation
  35767. func (s ReservedInstancesConfiguration) String() string {
  35768. return awsutil.Prettify(s)
  35769. }
  35770. // GoString returns the string representation
  35771. func (s ReservedInstancesConfiguration) GoString() string {
  35772. return s.String()
  35773. }
  35774. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35775. func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
  35776. s.AvailabilityZone = &v
  35777. return s
  35778. }
  35779. // SetInstanceCount sets the InstanceCount field's value.
  35780. func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
  35781. s.InstanceCount = &v
  35782. return s
  35783. }
  35784. // SetInstanceType sets the InstanceType field's value.
  35785. func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
  35786. s.InstanceType = &v
  35787. return s
  35788. }
  35789. // SetPlatform sets the Platform field's value.
  35790. func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
  35791. s.Platform = &v
  35792. return s
  35793. }
  35794. // SetScope sets the Scope field's value.
  35795. func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
  35796. s.Scope = &v
  35797. return s
  35798. }
  35799. // Describes the ID of a Reserved Instance.
  35800. type ReservedInstancesId struct {
  35801. _ struct{} `type:"structure"`
  35802. // The ID of the Reserved Instance.
  35803. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  35804. }
  35805. // String returns the string representation
  35806. func (s ReservedInstancesId) String() string {
  35807. return awsutil.Prettify(s)
  35808. }
  35809. // GoString returns the string representation
  35810. func (s ReservedInstancesId) GoString() string {
  35811. return s.String()
  35812. }
  35813. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  35814. func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
  35815. s.ReservedInstancesId = &v
  35816. return s
  35817. }
  35818. // Describes a Reserved Instance listing.
  35819. type ReservedInstancesListing struct {
  35820. _ struct{} `type:"structure"`
  35821. // A unique, case-sensitive key supplied by the client to ensure that the request
  35822. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  35823. ClientToken *string `locationName:"clientToken" type:"string"`
  35824. // The time the listing was created.
  35825. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  35826. // The number of instances in this state.
  35827. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  35828. // The price of the Reserved Instance listing.
  35829. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  35830. // The ID of the Reserved Instance.
  35831. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  35832. // The ID of the Reserved Instance listing.
  35833. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  35834. // The status of the Reserved Instance listing.
  35835. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  35836. // The reason for the current status of the Reserved Instance listing. The response
  35837. // can be blank.
  35838. StatusMessage *string `locationName:"statusMessage" type:"string"`
  35839. // Any tags assigned to the resource.
  35840. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  35841. // The last modified timestamp of the listing.
  35842. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  35843. }
  35844. // String returns the string representation
  35845. func (s ReservedInstancesListing) String() string {
  35846. return awsutil.Prettify(s)
  35847. }
  35848. // GoString returns the string representation
  35849. func (s ReservedInstancesListing) GoString() string {
  35850. return s.String()
  35851. }
  35852. // SetClientToken sets the ClientToken field's value.
  35853. func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
  35854. s.ClientToken = &v
  35855. return s
  35856. }
  35857. // SetCreateDate sets the CreateDate field's value.
  35858. func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
  35859. s.CreateDate = &v
  35860. return s
  35861. }
  35862. // SetInstanceCounts sets the InstanceCounts field's value.
  35863. func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
  35864. s.InstanceCounts = v
  35865. return s
  35866. }
  35867. // SetPriceSchedules sets the PriceSchedules field's value.
  35868. func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
  35869. s.PriceSchedules = v
  35870. return s
  35871. }
  35872. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  35873. func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
  35874. s.ReservedInstancesId = &v
  35875. return s
  35876. }
  35877. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  35878. func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
  35879. s.ReservedInstancesListingId = &v
  35880. return s
  35881. }
  35882. // SetStatus sets the Status field's value.
  35883. func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
  35884. s.Status = &v
  35885. return s
  35886. }
  35887. // SetStatusMessage sets the StatusMessage field's value.
  35888. func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
  35889. s.StatusMessage = &v
  35890. return s
  35891. }
  35892. // SetTags sets the Tags field's value.
  35893. func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
  35894. s.Tags = v
  35895. return s
  35896. }
  35897. // SetUpdateDate sets the UpdateDate field's value.
  35898. func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
  35899. s.UpdateDate = &v
  35900. return s
  35901. }
  35902. // Describes a Reserved Instance modification.
  35903. type ReservedInstancesModification struct {
  35904. _ struct{} `type:"structure"`
  35905. // A unique, case-sensitive key supplied by the client to ensure that the request
  35906. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  35907. ClientToken *string `locationName:"clientToken" type:"string"`
  35908. // The time when the modification request was created.
  35909. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  35910. // The time for the modification to become effective.
  35911. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
  35912. // Contains target configurations along with their corresponding new Reserved
  35913. // Instance IDs.
  35914. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  35915. // The IDs of one or more Reserved Instances.
  35916. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  35917. // A unique ID for the Reserved Instance modification.
  35918. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  35919. // The status of the Reserved Instances modification request.
  35920. Status *string `locationName:"status" type:"string"`
  35921. // The reason for the status.
  35922. StatusMessage *string `locationName:"statusMessage" type:"string"`
  35923. // The time when the modification request was last updated.
  35924. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  35925. }
  35926. // String returns the string representation
  35927. func (s ReservedInstancesModification) String() string {
  35928. return awsutil.Prettify(s)
  35929. }
  35930. // GoString returns the string representation
  35931. func (s ReservedInstancesModification) GoString() string {
  35932. return s.String()
  35933. }
  35934. // SetClientToken sets the ClientToken field's value.
  35935. func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
  35936. s.ClientToken = &v
  35937. return s
  35938. }
  35939. // SetCreateDate sets the CreateDate field's value.
  35940. func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
  35941. s.CreateDate = &v
  35942. return s
  35943. }
  35944. // SetEffectiveDate sets the EffectiveDate field's value.
  35945. func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
  35946. s.EffectiveDate = &v
  35947. return s
  35948. }
  35949. // SetModificationResults sets the ModificationResults field's value.
  35950. func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
  35951. s.ModificationResults = v
  35952. return s
  35953. }
  35954. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  35955. func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
  35956. s.ReservedInstancesIds = v
  35957. return s
  35958. }
  35959. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  35960. func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
  35961. s.ReservedInstancesModificationId = &v
  35962. return s
  35963. }
  35964. // SetStatus sets the Status field's value.
  35965. func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
  35966. s.Status = &v
  35967. return s
  35968. }
  35969. // SetStatusMessage sets the StatusMessage field's value.
  35970. func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
  35971. s.StatusMessage = &v
  35972. return s
  35973. }
  35974. // SetUpdateDate sets the UpdateDate field's value.
  35975. func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
  35976. s.UpdateDate = &v
  35977. return s
  35978. }
  35979. // Describes the modification request/s.
  35980. type ReservedInstancesModificationResult struct {
  35981. _ struct{} `type:"structure"`
  35982. // The ID for the Reserved Instances that were created as part of the modification
  35983. // request. This field is only available when the modification is fulfilled.
  35984. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  35985. // The target Reserved Instances configurations supplied as part of the modification
  35986. // request.
  35987. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  35988. }
  35989. // String returns the string representation
  35990. func (s ReservedInstancesModificationResult) String() string {
  35991. return awsutil.Prettify(s)
  35992. }
  35993. // GoString returns the string representation
  35994. func (s ReservedInstancesModificationResult) GoString() string {
  35995. return s.String()
  35996. }
  35997. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  35998. func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
  35999. s.ReservedInstancesId = &v
  36000. return s
  36001. }
  36002. // SetTargetConfiguration sets the TargetConfiguration field's value.
  36003. func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
  36004. s.TargetConfiguration = v
  36005. return s
  36006. }
  36007. // Describes a Reserved Instance offering.
  36008. type ReservedInstancesOffering struct {
  36009. _ struct{} `type:"structure"`
  36010. // The Availability Zone in which the Reserved Instance can be used.
  36011. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  36012. // The currency of the Reserved Instance offering you are purchasing. It's specified
  36013. // using ISO 4217 standard currency codes. At this time, the only supported
  36014. // currency is USD.
  36015. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  36016. // The duration of the Reserved Instance, in seconds.
  36017. Duration *int64 `locationName:"duration" type:"long"`
  36018. // The purchase price of the Reserved Instance.
  36019. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  36020. // The tenancy of the instance.
  36021. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  36022. // The instance type on which the Reserved Instance can be used.
  36023. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  36024. // Indicates whether the offering is available through the Reserved Instance
  36025. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  36026. // this is true.
  36027. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  36028. // If convertible it can be exchanged for Reserved Instances of the same or
  36029. // higher monetary value, with different configurations. If standard, it is
  36030. // not possible to perform an exchange.
  36031. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  36032. // The Reserved Instance offering type.
  36033. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  36034. // The pricing details of the Reserved Instance offering.
  36035. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  36036. // The Reserved Instance product platform description.
  36037. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  36038. // The recurring charge tag assigned to the resource.
  36039. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  36040. // The ID of the Reserved Instance offering. This is the offering ID used in
  36041. // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
  36042. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  36043. // Whether the Reserved Instance is applied to instances in a region or an Availability
  36044. // Zone.
  36045. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  36046. // The usage price of the Reserved Instance, per hour.
  36047. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  36048. }
  36049. // String returns the string representation
  36050. func (s ReservedInstancesOffering) String() string {
  36051. return awsutil.Prettify(s)
  36052. }
  36053. // GoString returns the string representation
  36054. func (s ReservedInstancesOffering) GoString() string {
  36055. return s.String()
  36056. }
  36057. // SetAvailabilityZone sets the AvailabilityZone field's value.
  36058. func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
  36059. s.AvailabilityZone = &v
  36060. return s
  36061. }
  36062. // SetCurrencyCode sets the CurrencyCode field's value.
  36063. func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
  36064. s.CurrencyCode = &v
  36065. return s
  36066. }
  36067. // SetDuration sets the Duration field's value.
  36068. func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
  36069. s.Duration = &v
  36070. return s
  36071. }
  36072. // SetFixedPrice sets the FixedPrice field's value.
  36073. func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
  36074. s.FixedPrice = &v
  36075. return s
  36076. }
  36077. // SetInstanceTenancy sets the InstanceTenancy field's value.
  36078. func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
  36079. s.InstanceTenancy = &v
  36080. return s
  36081. }
  36082. // SetInstanceType sets the InstanceType field's value.
  36083. func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
  36084. s.InstanceType = &v
  36085. return s
  36086. }
  36087. // SetMarketplace sets the Marketplace field's value.
  36088. func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
  36089. s.Marketplace = &v
  36090. return s
  36091. }
  36092. // SetOfferingClass sets the OfferingClass field's value.
  36093. func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
  36094. s.OfferingClass = &v
  36095. return s
  36096. }
  36097. // SetOfferingType sets the OfferingType field's value.
  36098. func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
  36099. s.OfferingType = &v
  36100. return s
  36101. }
  36102. // SetPricingDetails sets the PricingDetails field's value.
  36103. func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
  36104. s.PricingDetails = v
  36105. return s
  36106. }
  36107. // SetProductDescription sets the ProductDescription field's value.
  36108. func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
  36109. s.ProductDescription = &v
  36110. return s
  36111. }
  36112. // SetRecurringCharges sets the RecurringCharges field's value.
  36113. func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
  36114. s.RecurringCharges = v
  36115. return s
  36116. }
  36117. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  36118. func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
  36119. s.ReservedInstancesOfferingId = &v
  36120. return s
  36121. }
  36122. // SetScope sets the Scope field's value.
  36123. func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
  36124. s.Scope = &v
  36125. return s
  36126. }
  36127. // SetUsagePrice sets the UsagePrice field's value.
  36128. func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
  36129. s.UsagePrice = &v
  36130. return s
  36131. }
  36132. // Contains the parameters for ResetImageAttribute.
  36133. type ResetImageAttributeInput struct {
  36134. _ struct{} `type:"structure"`
  36135. // The attribute to reset (currently you can only reset the launch permission
  36136. // attribute).
  36137. //
  36138. // Attribute is a required field
  36139. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  36140. // Checks whether you have the required permissions for the action, without
  36141. // actually making the request, and provides an error response. If you have
  36142. // the required permissions, the error response is DryRunOperation. Otherwise,
  36143. // it is UnauthorizedOperation.
  36144. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36145. // The ID of the AMI.
  36146. //
  36147. // ImageId is a required field
  36148. ImageId *string `type:"string" required:"true"`
  36149. }
  36150. // String returns the string representation
  36151. func (s ResetImageAttributeInput) String() string {
  36152. return awsutil.Prettify(s)
  36153. }
  36154. // GoString returns the string representation
  36155. func (s ResetImageAttributeInput) GoString() string {
  36156. return s.String()
  36157. }
  36158. // Validate inspects the fields of the type to determine if they are valid.
  36159. func (s *ResetImageAttributeInput) Validate() error {
  36160. invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
  36161. if s.Attribute == nil {
  36162. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  36163. }
  36164. if s.ImageId == nil {
  36165. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  36166. }
  36167. if invalidParams.Len() > 0 {
  36168. return invalidParams
  36169. }
  36170. return nil
  36171. }
  36172. // SetAttribute sets the Attribute field's value.
  36173. func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
  36174. s.Attribute = &v
  36175. return s
  36176. }
  36177. // SetDryRun sets the DryRun field's value.
  36178. func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
  36179. s.DryRun = &v
  36180. return s
  36181. }
  36182. // SetImageId sets the ImageId field's value.
  36183. func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
  36184. s.ImageId = &v
  36185. return s
  36186. }
  36187. type ResetImageAttributeOutput struct {
  36188. _ struct{} `type:"structure"`
  36189. }
  36190. // String returns the string representation
  36191. func (s ResetImageAttributeOutput) String() string {
  36192. return awsutil.Prettify(s)
  36193. }
  36194. // GoString returns the string representation
  36195. func (s ResetImageAttributeOutput) GoString() string {
  36196. return s.String()
  36197. }
  36198. // Contains the parameters for ResetInstanceAttribute.
  36199. type ResetInstanceAttributeInput struct {
  36200. _ struct{} `type:"structure"`
  36201. // The attribute to reset.
  36202. //
  36203. // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
  36204. // To change an instance attribute, use ModifyInstanceAttribute.
  36205. //
  36206. // Attribute is a required field
  36207. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  36208. // Checks whether you have the required permissions for the action, without
  36209. // actually making the request, and provides an error response. If you have
  36210. // the required permissions, the error response is DryRunOperation. Otherwise,
  36211. // it is UnauthorizedOperation.
  36212. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36213. // The ID of the instance.
  36214. //
  36215. // InstanceId is a required field
  36216. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  36217. }
  36218. // String returns the string representation
  36219. func (s ResetInstanceAttributeInput) String() string {
  36220. return awsutil.Prettify(s)
  36221. }
  36222. // GoString returns the string representation
  36223. func (s ResetInstanceAttributeInput) GoString() string {
  36224. return s.String()
  36225. }
  36226. // Validate inspects the fields of the type to determine if they are valid.
  36227. func (s *ResetInstanceAttributeInput) Validate() error {
  36228. invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
  36229. if s.Attribute == nil {
  36230. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  36231. }
  36232. if s.InstanceId == nil {
  36233. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  36234. }
  36235. if invalidParams.Len() > 0 {
  36236. return invalidParams
  36237. }
  36238. return nil
  36239. }
  36240. // SetAttribute sets the Attribute field's value.
  36241. func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
  36242. s.Attribute = &v
  36243. return s
  36244. }
  36245. // SetDryRun sets the DryRun field's value.
  36246. func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
  36247. s.DryRun = &v
  36248. return s
  36249. }
  36250. // SetInstanceId sets the InstanceId field's value.
  36251. func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
  36252. s.InstanceId = &v
  36253. return s
  36254. }
  36255. type ResetInstanceAttributeOutput struct {
  36256. _ struct{} `type:"structure"`
  36257. }
  36258. // String returns the string representation
  36259. func (s ResetInstanceAttributeOutput) String() string {
  36260. return awsutil.Prettify(s)
  36261. }
  36262. // GoString returns the string representation
  36263. func (s ResetInstanceAttributeOutput) GoString() string {
  36264. return s.String()
  36265. }
  36266. // Contains the parameters for ResetNetworkInterfaceAttribute.
  36267. type ResetNetworkInterfaceAttributeInput struct {
  36268. _ struct{} `type:"structure"`
  36269. // Checks whether you have the required permissions for the action, without
  36270. // actually making the request, and provides an error response. If you have
  36271. // the required permissions, the error response is DryRunOperation. Otherwise,
  36272. // it is UnauthorizedOperation.
  36273. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36274. // The ID of the network interface.
  36275. //
  36276. // NetworkInterfaceId is a required field
  36277. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  36278. // The source/destination checking attribute. Resets the value to true.
  36279. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  36280. }
  36281. // String returns the string representation
  36282. func (s ResetNetworkInterfaceAttributeInput) String() string {
  36283. return awsutil.Prettify(s)
  36284. }
  36285. // GoString returns the string representation
  36286. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  36287. return s.String()
  36288. }
  36289. // Validate inspects the fields of the type to determine if they are valid.
  36290. func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
  36291. invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
  36292. if s.NetworkInterfaceId == nil {
  36293. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  36294. }
  36295. if invalidParams.Len() > 0 {
  36296. return invalidParams
  36297. }
  36298. return nil
  36299. }
  36300. // SetDryRun sets the DryRun field's value.
  36301. func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
  36302. s.DryRun = &v
  36303. return s
  36304. }
  36305. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  36306. func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
  36307. s.NetworkInterfaceId = &v
  36308. return s
  36309. }
  36310. // SetSourceDestCheck sets the SourceDestCheck field's value.
  36311. func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
  36312. s.SourceDestCheck = &v
  36313. return s
  36314. }
  36315. type ResetNetworkInterfaceAttributeOutput struct {
  36316. _ struct{} `type:"structure"`
  36317. }
  36318. // String returns the string representation
  36319. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  36320. return awsutil.Prettify(s)
  36321. }
  36322. // GoString returns the string representation
  36323. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  36324. return s.String()
  36325. }
  36326. // Contains the parameters for ResetSnapshotAttribute.
  36327. type ResetSnapshotAttributeInput struct {
  36328. _ struct{} `type:"structure"`
  36329. // The attribute to reset. Currently, only the attribute for permission to create
  36330. // volumes can be reset.
  36331. //
  36332. // Attribute is a required field
  36333. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  36334. // Checks whether you have the required permissions for the action, without
  36335. // actually making the request, and provides an error response. If you have
  36336. // the required permissions, the error response is DryRunOperation. Otherwise,
  36337. // it is UnauthorizedOperation.
  36338. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36339. // The ID of the snapshot.
  36340. //
  36341. // SnapshotId is a required field
  36342. SnapshotId *string `type:"string" required:"true"`
  36343. }
  36344. // String returns the string representation
  36345. func (s ResetSnapshotAttributeInput) String() string {
  36346. return awsutil.Prettify(s)
  36347. }
  36348. // GoString returns the string representation
  36349. func (s ResetSnapshotAttributeInput) GoString() string {
  36350. return s.String()
  36351. }
  36352. // Validate inspects the fields of the type to determine if they are valid.
  36353. func (s *ResetSnapshotAttributeInput) Validate() error {
  36354. invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
  36355. if s.Attribute == nil {
  36356. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  36357. }
  36358. if s.SnapshotId == nil {
  36359. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  36360. }
  36361. if invalidParams.Len() > 0 {
  36362. return invalidParams
  36363. }
  36364. return nil
  36365. }
  36366. // SetAttribute sets the Attribute field's value.
  36367. func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
  36368. s.Attribute = &v
  36369. return s
  36370. }
  36371. // SetDryRun sets the DryRun field's value.
  36372. func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
  36373. s.DryRun = &v
  36374. return s
  36375. }
  36376. // SetSnapshotId sets the SnapshotId field's value.
  36377. func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
  36378. s.SnapshotId = &v
  36379. return s
  36380. }
  36381. type ResetSnapshotAttributeOutput struct {
  36382. _ struct{} `type:"structure"`
  36383. }
  36384. // String returns the string representation
  36385. func (s ResetSnapshotAttributeOutput) String() string {
  36386. return awsutil.Prettify(s)
  36387. }
  36388. // GoString returns the string representation
  36389. func (s ResetSnapshotAttributeOutput) GoString() string {
  36390. return s.String()
  36391. }
  36392. // Contains the parameters for RestoreAddressToClassic.
  36393. type RestoreAddressToClassicInput struct {
  36394. _ struct{} `type:"structure"`
  36395. // Checks whether you have the required permissions for the action, without
  36396. // actually making the request, and provides an error response. If you have
  36397. // the required permissions, the error response is DryRunOperation. Otherwise,
  36398. // it is UnauthorizedOperation.
  36399. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36400. // The Elastic IP address.
  36401. //
  36402. // PublicIp is a required field
  36403. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  36404. }
  36405. // String returns the string representation
  36406. func (s RestoreAddressToClassicInput) String() string {
  36407. return awsutil.Prettify(s)
  36408. }
  36409. // GoString returns the string representation
  36410. func (s RestoreAddressToClassicInput) GoString() string {
  36411. return s.String()
  36412. }
  36413. // Validate inspects the fields of the type to determine if they are valid.
  36414. func (s *RestoreAddressToClassicInput) Validate() error {
  36415. invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
  36416. if s.PublicIp == nil {
  36417. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  36418. }
  36419. if invalidParams.Len() > 0 {
  36420. return invalidParams
  36421. }
  36422. return nil
  36423. }
  36424. // SetDryRun sets the DryRun field's value.
  36425. func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
  36426. s.DryRun = &v
  36427. return s
  36428. }
  36429. // SetPublicIp sets the PublicIp field's value.
  36430. func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
  36431. s.PublicIp = &v
  36432. return s
  36433. }
  36434. // Contains the output of RestoreAddressToClassic.
  36435. type RestoreAddressToClassicOutput struct {
  36436. _ struct{} `type:"structure"`
  36437. // The Elastic IP address.
  36438. PublicIp *string `locationName:"publicIp" type:"string"`
  36439. // The move status for the IP address.
  36440. Status *string `locationName:"status" type:"string" enum:"Status"`
  36441. }
  36442. // String returns the string representation
  36443. func (s RestoreAddressToClassicOutput) String() string {
  36444. return awsutil.Prettify(s)
  36445. }
  36446. // GoString returns the string representation
  36447. func (s RestoreAddressToClassicOutput) GoString() string {
  36448. return s.String()
  36449. }
  36450. // SetPublicIp sets the PublicIp field's value.
  36451. func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
  36452. s.PublicIp = &v
  36453. return s
  36454. }
  36455. // SetStatus sets the Status field's value.
  36456. func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
  36457. s.Status = &v
  36458. return s
  36459. }
  36460. // Contains the parameters for RevokeSecurityGroupEgress.
  36461. type RevokeSecurityGroupEgressInput struct {
  36462. _ struct{} `type:"structure"`
  36463. // The CIDR IP address range. We recommend that you specify the CIDR range in
  36464. // a set of IP permissions instead.
  36465. CidrIp *string `locationName:"cidrIp" type:"string"`
  36466. // Checks whether you have the required permissions for the action, without
  36467. // actually making the request, and provides an error response. If you have
  36468. // the required permissions, the error response is DryRunOperation. Otherwise,
  36469. // it is UnauthorizedOperation.
  36470. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36471. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  36472. // We recommend that you specify the port range in a set of IP permissions instead.
  36473. FromPort *int64 `locationName:"fromPort" type:"integer"`
  36474. // The ID of the security group.
  36475. //
  36476. // GroupId is a required field
  36477. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  36478. // A set of IP permissions. You can't specify a destination security group and
  36479. // a CIDR IP address range.
  36480. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  36481. // The IP protocol name or number. We recommend that you specify the protocol
  36482. // in a set of IP permissions instead.
  36483. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  36484. // The name of a destination security group. To revoke outbound access to a
  36485. // destination security group, we recommend that you use a set of IP permissions
  36486. // instead.
  36487. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  36488. // The AWS account number for a destination security group. To revoke outbound
  36489. // access to a destination security group, we recommend that you use a set of
  36490. // IP permissions instead.
  36491. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  36492. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  36493. // We recommend that you specify the port range in a set of IP permissions instead.
  36494. ToPort *int64 `locationName:"toPort" type:"integer"`
  36495. }
  36496. // String returns the string representation
  36497. func (s RevokeSecurityGroupEgressInput) String() string {
  36498. return awsutil.Prettify(s)
  36499. }
  36500. // GoString returns the string representation
  36501. func (s RevokeSecurityGroupEgressInput) GoString() string {
  36502. return s.String()
  36503. }
  36504. // Validate inspects the fields of the type to determine if they are valid.
  36505. func (s *RevokeSecurityGroupEgressInput) Validate() error {
  36506. invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
  36507. if s.GroupId == nil {
  36508. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  36509. }
  36510. if invalidParams.Len() > 0 {
  36511. return invalidParams
  36512. }
  36513. return nil
  36514. }
  36515. // SetCidrIp sets the CidrIp field's value.
  36516. func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
  36517. s.CidrIp = &v
  36518. return s
  36519. }
  36520. // SetDryRun sets the DryRun field's value.
  36521. func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
  36522. s.DryRun = &v
  36523. return s
  36524. }
  36525. // SetFromPort sets the FromPort field's value.
  36526. func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
  36527. s.FromPort = &v
  36528. return s
  36529. }
  36530. // SetGroupId sets the GroupId field's value.
  36531. func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
  36532. s.GroupId = &v
  36533. return s
  36534. }
  36535. // SetIpPermissions sets the IpPermissions field's value.
  36536. func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
  36537. s.IpPermissions = v
  36538. return s
  36539. }
  36540. // SetIpProtocol sets the IpProtocol field's value.
  36541. func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
  36542. s.IpProtocol = &v
  36543. return s
  36544. }
  36545. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  36546. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
  36547. s.SourceSecurityGroupName = &v
  36548. return s
  36549. }
  36550. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  36551. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
  36552. s.SourceSecurityGroupOwnerId = &v
  36553. return s
  36554. }
  36555. // SetToPort sets the ToPort field's value.
  36556. func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
  36557. s.ToPort = &v
  36558. return s
  36559. }
  36560. type RevokeSecurityGroupEgressOutput struct {
  36561. _ struct{} `type:"structure"`
  36562. }
  36563. // String returns the string representation
  36564. func (s RevokeSecurityGroupEgressOutput) String() string {
  36565. return awsutil.Prettify(s)
  36566. }
  36567. // GoString returns the string representation
  36568. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  36569. return s.String()
  36570. }
  36571. // Contains the parameters for RevokeSecurityGroupIngress.
  36572. type RevokeSecurityGroupIngressInput struct {
  36573. _ struct{} `type:"structure"`
  36574. // The CIDR IP address range. You can't specify this parameter when specifying
  36575. // a source security group.
  36576. CidrIp *string `type:"string"`
  36577. // Checks whether you have the required permissions for the action, without
  36578. // actually making the request, and provides an error response. If you have
  36579. // the required permissions, the error response is DryRunOperation. Otherwise,
  36580. // it is UnauthorizedOperation.
  36581. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36582. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  36583. // For the ICMP type number, use -1 to specify all ICMP types.
  36584. FromPort *int64 `type:"integer"`
  36585. // The ID of the security group. Required for a security group in a nondefault
  36586. // VPC.
  36587. GroupId *string `type:"string"`
  36588. // [EC2-Classic, default VPC] The name of the security group.
  36589. GroupName *string `type:"string"`
  36590. // A set of IP permissions. You can't specify a source security group and a
  36591. // CIDR IP address range.
  36592. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  36593. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  36594. // Use -1 to specify all.
  36595. IpProtocol *string `type:"string"`
  36596. // [EC2-Classic, default VPC] The name of the source security group. You can't
  36597. // specify this parameter in combination with the following parameters: the
  36598. // CIDR IP address range, the start of the port range, the IP protocol, and
  36599. // the end of the port range. For EC2-VPC, the source security group must be
  36600. // in the same VPC. To revoke a specific rule for an IP protocol and port range,
  36601. // use a set of IP permissions instead.
  36602. SourceSecurityGroupName *string `type:"string"`
  36603. // [EC2-Classic] The AWS account ID of the source security group, if the source
  36604. // security group is in a different account. You can't specify this parameter
  36605. // in combination with the following parameters: the CIDR IP address range,
  36606. // the IP protocol, the start of the port range, and the end of the port range.
  36607. // To revoke a specific rule for an IP protocol and port range, use a set of
  36608. // IP permissions instead.
  36609. SourceSecurityGroupOwnerId *string `type:"string"`
  36610. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  36611. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  36612. ToPort *int64 `type:"integer"`
  36613. }
  36614. // String returns the string representation
  36615. func (s RevokeSecurityGroupIngressInput) String() string {
  36616. return awsutil.Prettify(s)
  36617. }
  36618. // GoString returns the string representation
  36619. func (s RevokeSecurityGroupIngressInput) GoString() string {
  36620. return s.String()
  36621. }
  36622. // SetCidrIp sets the CidrIp field's value.
  36623. func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
  36624. s.CidrIp = &v
  36625. return s
  36626. }
  36627. // SetDryRun sets the DryRun field's value.
  36628. func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
  36629. s.DryRun = &v
  36630. return s
  36631. }
  36632. // SetFromPort sets the FromPort field's value.
  36633. func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
  36634. s.FromPort = &v
  36635. return s
  36636. }
  36637. // SetGroupId sets the GroupId field's value.
  36638. func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
  36639. s.GroupId = &v
  36640. return s
  36641. }
  36642. // SetGroupName sets the GroupName field's value.
  36643. func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
  36644. s.GroupName = &v
  36645. return s
  36646. }
  36647. // SetIpPermissions sets the IpPermissions field's value.
  36648. func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
  36649. s.IpPermissions = v
  36650. return s
  36651. }
  36652. // SetIpProtocol sets the IpProtocol field's value.
  36653. func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
  36654. s.IpProtocol = &v
  36655. return s
  36656. }
  36657. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  36658. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
  36659. s.SourceSecurityGroupName = &v
  36660. return s
  36661. }
  36662. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  36663. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
  36664. s.SourceSecurityGroupOwnerId = &v
  36665. return s
  36666. }
  36667. // SetToPort sets the ToPort field's value.
  36668. func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
  36669. s.ToPort = &v
  36670. return s
  36671. }
  36672. type RevokeSecurityGroupIngressOutput struct {
  36673. _ struct{} `type:"structure"`
  36674. }
  36675. // String returns the string representation
  36676. func (s RevokeSecurityGroupIngressOutput) String() string {
  36677. return awsutil.Prettify(s)
  36678. }
  36679. // GoString returns the string representation
  36680. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  36681. return s.String()
  36682. }
  36683. // Describes a route in a route table.
  36684. type Route struct {
  36685. _ struct{} `type:"structure"`
  36686. // The CIDR block used for the destination match.
  36687. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  36688. // The prefix of the AWS service.
  36689. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  36690. // The ID of a gateway attached to your VPC.
  36691. GatewayId *string `locationName:"gatewayId" type:"string"`
  36692. // The ID of a NAT instance in your VPC.
  36693. InstanceId *string `locationName:"instanceId" type:"string"`
  36694. // The AWS account ID of the owner of the instance.
  36695. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  36696. // The ID of a NAT gateway.
  36697. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  36698. // The ID of the network interface.
  36699. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  36700. // Describes how the route was created.
  36701. //
  36702. // * CreateRouteTable - The route was automatically created when the route
  36703. // table was created.
  36704. //
  36705. // * CreateRoute - The route was manually added to the route table.
  36706. //
  36707. // * EnableVgwRoutePropagation - The route was propagated by route propagation.
  36708. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  36709. // The state of the route. The blackhole state indicates that the route's target
  36710. // isn't available (for example, the specified gateway isn't attached to the
  36711. // VPC, or the specified NAT instance has been terminated).
  36712. State *string `locationName:"state" type:"string" enum:"RouteState"`
  36713. // The ID of the VPC peering connection.
  36714. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  36715. }
  36716. // String returns the string representation
  36717. func (s Route) String() string {
  36718. return awsutil.Prettify(s)
  36719. }
  36720. // GoString returns the string representation
  36721. func (s Route) GoString() string {
  36722. return s.String()
  36723. }
  36724. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  36725. func (s *Route) SetDestinationCidrBlock(v string) *Route {
  36726. s.DestinationCidrBlock = &v
  36727. return s
  36728. }
  36729. // SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
  36730. func (s *Route) SetDestinationPrefixListId(v string) *Route {
  36731. s.DestinationPrefixListId = &v
  36732. return s
  36733. }
  36734. // SetGatewayId sets the GatewayId field's value.
  36735. func (s *Route) SetGatewayId(v string) *Route {
  36736. s.GatewayId = &v
  36737. return s
  36738. }
  36739. // SetInstanceId sets the InstanceId field's value.
  36740. func (s *Route) SetInstanceId(v string) *Route {
  36741. s.InstanceId = &v
  36742. return s
  36743. }
  36744. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  36745. func (s *Route) SetInstanceOwnerId(v string) *Route {
  36746. s.InstanceOwnerId = &v
  36747. return s
  36748. }
  36749. // SetNatGatewayId sets the NatGatewayId field's value.
  36750. func (s *Route) SetNatGatewayId(v string) *Route {
  36751. s.NatGatewayId = &v
  36752. return s
  36753. }
  36754. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  36755. func (s *Route) SetNetworkInterfaceId(v string) *Route {
  36756. s.NetworkInterfaceId = &v
  36757. return s
  36758. }
  36759. // SetOrigin sets the Origin field's value.
  36760. func (s *Route) SetOrigin(v string) *Route {
  36761. s.Origin = &v
  36762. return s
  36763. }
  36764. // SetState sets the State field's value.
  36765. func (s *Route) SetState(v string) *Route {
  36766. s.State = &v
  36767. return s
  36768. }
  36769. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  36770. func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
  36771. s.VpcPeeringConnectionId = &v
  36772. return s
  36773. }
  36774. // Describes a route table.
  36775. type RouteTable struct {
  36776. _ struct{} `type:"structure"`
  36777. // The associations between the route table and one or more subnets.
  36778. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  36779. // Any virtual private gateway (VGW) propagating routes.
  36780. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  36781. // The ID of the route table.
  36782. RouteTableId *string `locationName:"routeTableId" type:"string"`
  36783. // The routes in the route table.
  36784. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  36785. // Any tags assigned to the route table.
  36786. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  36787. // The ID of the VPC.
  36788. VpcId *string `locationName:"vpcId" type:"string"`
  36789. }
  36790. // String returns the string representation
  36791. func (s RouteTable) String() string {
  36792. return awsutil.Prettify(s)
  36793. }
  36794. // GoString returns the string representation
  36795. func (s RouteTable) GoString() string {
  36796. return s.String()
  36797. }
  36798. // SetAssociations sets the Associations field's value.
  36799. func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
  36800. s.Associations = v
  36801. return s
  36802. }
  36803. // SetPropagatingVgws sets the PropagatingVgws field's value.
  36804. func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
  36805. s.PropagatingVgws = v
  36806. return s
  36807. }
  36808. // SetRouteTableId sets the RouteTableId field's value.
  36809. func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
  36810. s.RouteTableId = &v
  36811. return s
  36812. }
  36813. // SetRoutes sets the Routes field's value.
  36814. func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
  36815. s.Routes = v
  36816. return s
  36817. }
  36818. // SetTags sets the Tags field's value.
  36819. func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
  36820. s.Tags = v
  36821. return s
  36822. }
  36823. // SetVpcId sets the VpcId field's value.
  36824. func (s *RouteTable) SetVpcId(v string) *RouteTable {
  36825. s.VpcId = &v
  36826. return s
  36827. }
  36828. // Describes an association between a route table and a subnet.
  36829. type RouteTableAssociation struct {
  36830. _ struct{} `type:"structure"`
  36831. // Indicates whether this is the main route table.
  36832. Main *bool `locationName:"main" type:"boolean"`
  36833. // The ID of the association between a route table and a subnet.
  36834. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  36835. // The ID of the route table.
  36836. RouteTableId *string `locationName:"routeTableId" type:"string"`
  36837. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  36838. SubnetId *string `locationName:"subnetId" type:"string"`
  36839. }
  36840. // String returns the string representation
  36841. func (s RouteTableAssociation) String() string {
  36842. return awsutil.Prettify(s)
  36843. }
  36844. // GoString returns the string representation
  36845. func (s RouteTableAssociation) GoString() string {
  36846. return s.String()
  36847. }
  36848. // SetMain sets the Main field's value.
  36849. func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
  36850. s.Main = &v
  36851. return s
  36852. }
  36853. // SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
  36854. func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
  36855. s.RouteTableAssociationId = &v
  36856. return s
  36857. }
  36858. // SetRouteTableId sets the RouteTableId field's value.
  36859. func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
  36860. s.RouteTableId = &v
  36861. return s
  36862. }
  36863. // SetSubnetId sets the SubnetId field's value.
  36864. func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
  36865. s.SubnetId = &v
  36866. return s
  36867. }
  36868. // Contains the parameters for RunInstances.
  36869. type RunInstancesInput struct {
  36870. _ struct{} `type:"structure"`
  36871. // Reserved.
  36872. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  36873. // The block device mapping.
  36874. //
  36875. // Supplying both a snapshot ID and an encryption value as arguments for block-device
  36876. // mapping results in an error. This is because only blank volumes can be encrypted
  36877. // on start, and these are not created from a snapshot. If a snapshot is the
  36878. // basis for the volume, it contains data by definition and its encryption status
  36879. // cannot be changed using this action.
  36880. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  36881. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  36882. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  36883. //
  36884. // Constraints: Maximum 64 ASCII characters
  36885. ClientToken *string `locationName:"clientToken" type:"string"`
  36886. // If you set this parameter to true, you can't terminate the instance using
  36887. // the Amazon EC2 console, CLI, or API; otherwise, you can. If you set this
  36888. // parameter to true and then later want to be able to terminate the instance,
  36889. // you must first change the value of the disableApiTermination attribute to
  36890. // false using ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior
  36891. // to terminate, you can terminate the instance by running the shutdown command
  36892. // from the instance.
  36893. //
  36894. // Default: false
  36895. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  36896. // Checks whether you have the required permissions for the action, without
  36897. // actually making the request, and provides an error response. If you have
  36898. // the required permissions, the error response is DryRunOperation. Otherwise,
  36899. // it is UnauthorizedOperation.
  36900. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36901. // Indicates whether the instance is optimized for EBS I/O. This optimization
  36902. // provides dedicated throughput to Amazon EBS and an optimized configuration
  36903. // stack to provide optimal EBS I/O performance. This optimization isn't available
  36904. // with all instance types. Additional usage charges apply when using an EBS-optimized
  36905. // instance.
  36906. //
  36907. // Default: false
  36908. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  36909. // The IAM instance profile.
  36910. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  36911. // The ID of the AMI, which you can get by calling DescribeImages.
  36912. //
  36913. // ImageId is a required field
  36914. ImageId *string `type:"string" required:"true"`
  36915. // Indicates whether an instance stops or terminates when you initiate shutdown
  36916. // from the instance (using the operating system command for system shutdown).
  36917. //
  36918. // Default: stop
  36919. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  36920. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  36921. // in the Amazon Elastic Compute Cloud User Guide.
  36922. //
  36923. // Default: m1.small
  36924. InstanceType *string `type:"string" enum:"InstanceType"`
  36925. // The ID of the kernel.
  36926. //
  36927. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  36928. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  36929. // in the Amazon Elastic Compute Cloud User Guide.
  36930. KernelId *string `type:"string"`
  36931. // The name of the key pair. You can create a key pair using CreateKeyPair or
  36932. // ImportKeyPair.
  36933. //
  36934. // If you do not specify a key pair, you can't connect to the instance unless
  36935. // you choose an AMI that is configured to allow users another way to log in.
  36936. KeyName *string `type:"string"`
  36937. // The maximum number of instances to launch. If you specify more instances
  36938. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  36939. // the largest possible number of instances above MinCount.
  36940. //
  36941. // Constraints: Between 1 and the maximum number you're allowed for the specified
  36942. // instance type. For more information about the default limits, and how to
  36943. // 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)
  36944. // in the Amazon EC2 FAQ.
  36945. //
  36946. // MaxCount is a required field
  36947. MaxCount *int64 `type:"integer" required:"true"`
  36948. // The minimum number of instances to launch. If you specify a minimum that
  36949. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  36950. // Amazon EC2 launches no instances.
  36951. //
  36952. // Constraints: Between 1 and the maximum number you're allowed for the specified
  36953. // instance type. For more information about the default limits, and how to
  36954. // 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)
  36955. // in the Amazon EC2 General FAQ.
  36956. //
  36957. // MinCount is a required field
  36958. MinCount *int64 `type:"integer" required:"true"`
  36959. // The monitoring for the instance.
  36960. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  36961. // One or more network interfaces.
  36962. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  36963. // The placement for the instance.
  36964. Placement *Placement `type:"structure"`
  36965. // [EC2-VPC] The primary IP address. You must specify a value from the IP address
  36966. // range of the subnet.
  36967. //
  36968. // Only one private IP address can be designated as primary. Therefore, you
  36969. // can't specify this parameter if PrivateIpAddresses.n.Primary is set to true
  36970. // and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.
  36971. //
  36972. // You cannot specify this option if you're launching more than one instance
  36973. // in the request.
  36974. //
  36975. // Default: We select an IP address from the IP address range of the subnet.
  36976. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  36977. // The ID of the RAM disk.
  36978. //
  36979. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  36980. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  36981. // in the Amazon Elastic Compute Cloud User Guide.
  36982. RamdiskId *string `type:"string"`
  36983. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  36984. //
  36985. // Default: Amazon EC2 uses the default security group.
  36986. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  36987. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  36988. // VPC, you must use security group IDs instead.
  36989. //
  36990. // Default: Amazon EC2 uses the default security group.
  36991. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  36992. // [EC2-VPC] The ID of the subnet to launch the instance into.
  36993. SubnetId *string `type:"string"`
  36994. // The user data to make available to the instance. For more information, see
  36995. // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  36996. // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  36997. // (Windows). If you are using an AWS SDK or command line tool, Base64-encoding
  36998. // is performed for you, and you can load the text from a file. Otherwise, you
  36999. // must provide Base64-encoded text.
  37000. UserData *string `type:"string"`
  37001. }
  37002. // String returns the string representation
  37003. func (s RunInstancesInput) String() string {
  37004. return awsutil.Prettify(s)
  37005. }
  37006. // GoString returns the string representation
  37007. func (s RunInstancesInput) GoString() string {
  37008. return s.String()
  37009. }
  37010. // Validate inspects the fields of the type to determine if they are valid.
  37011. func (s *RunInstancesInput) Validate() error {
  37012. invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
  37013. if s.ImageId == nil {
  37014. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  37015. }
  37016. if s.MaxCount == nil {
  37017. invalidParams.Add(request.NewErrParamRequired("MaxCount"))
  37018. }
  37019. if s.MinCount == nil {
  37020. invalidParams.Add(request.NewErrParamRequired("MinCount"))
  37021. }
  37022. if s.Monitoring != nil {
  37023. if err := s.Monitoring.Validate(); err != nil {
  37024. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  37025. }
  37026. }
  37027. if s.NetworkInterfaces != nil {
  37028. for i, v := range s.NetworkInterfaces {
  37029. if v == nil {
  37030. continue
  37031. }
  37032. if err := v.Validate(); err != nil {
  37033. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  37034. }
  37035. }
  37036. }
  37037. if invalidParams.Len() > 0 {
  37038. return invalidParams
  37039. }
  37040. return nil
  37041. }
  37042. // SetAdditionalInfo sets the AdditionalInfo field's value.
  37043. func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
  37044. s.AdditionalInfo = &v
  37045. return s
  37046. }
  37047. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  37048. func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
  37049. s.BlockDeviceMappings = v
  37050. return s
  37051. }
  37052. // SetClientToken sets the ClientToken field's value.
  37053. func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
  37054. s.ClientToken = &v
  37055. return s
  37056. }
  37057. // SetDisableApiTermination sets the DisableApiTermination field's value.
  37058. func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
  37059. s.DisableApiTermination = &v
  37060. return s
  37061. }
  37062. // SetDryRun sets the DryRun field's value.
  37063. func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
  37064. s.DryRun = &v
  37065. return s
  37066. }
  37067. // SetEbsOptimized sets the EbsOptimized field's value.
  37068. func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
  37069. s.EbsOptimized = &v
  37070. return s
  37071. }
  37072. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  37073. func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
  37074. s.IamInstanceProfile = v
  37075. return s
  37076. }
  37077. // SetImageId sets the ImageId field's value.
  37078. func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
  37079. s.ImageId = &v
  37080. return s
  37081. }
  37082. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  37083. func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
  37084. s.InstanceInitiatedShutdownBehavior = &v
  37085. return s
  37086. }
  37087. // SetInstanceType sets the InstanceType field's value.
  37088. func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
  37089. s.InstanceType = &v
  37090. return s
  37091. }
  37092. // SetKernelId sets the KernelId field's value.
  37093. func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
  37094. s.KernelId = &v
  37095. return s
  37096. }
  37097. // SetKeyName sets the KeyName field's value.
  37098. func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
  37099. s.KeyName = &v
  37100. return s
  37101. }
  37102. // SetMaxCount sets the MaxCount field's value.
  37103. func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
  37104. s.MaxCount = &v
  37105. return s
  37106. }
  37107. // SetMinCount sets the MinCount field's value.
  37108. func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
  37109. s.MinCount = &v
  37110. return s
  37111. }
  37112. // SetMonitoring sets the Monitoring field's value.
  37113. func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
  37114. s.Monitoring = v
  37115. return s
  37116. }
  37117. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  37118. func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
  37119. s.NetworkInterfaces = v
  37120. return s
  37121. }
  37122. // SetPlacement sets the Placement field's value.
  37123. func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
  37124. s.Placement = v
  37125. return s
  37126. }
  37127. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  37128. func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
  37129. s.PrivateIpAddress = &v
  37130. return s
  37131. }
  37132. // SetRamdiskId sets the RamdiskId field's value.
  37133. func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
  37134. s.RamdiskId = &v
  37135. return s
  37136. }
  37137. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  37138. func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
  37139. s.SecurityGroupIds = v
  37140. return s
  37141. }
  37142. // SetSecurityGroups sets the SecurityGroups field's value.
  37143. func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
  37144. s.SecurityGroups = v
  37145. return s
  37146. }
  37147. // SetSubnetId sets the SubnetId field's value.
  37148. func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
  37149. s.SubnetId = &v
  37150. return s
  37151. }
  37152. // SetUserData sets the UserData field's value.
  37153. func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
  37154. s.UserData = &v
  37155. return s
  37156. }
  37157. // Describes the monitoring for the instance.
  37158. type RunInstancesMonitoringEnabled struct {
  37159. _ struct{} `type:"structure"`
  37160. // Indicates whether monitoring is enabled for the instance.
  37161. //
  37162. // Enabled is a required field
  37163. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  37164. }
  37165. // String returns the string representation
  37166. func (s RunInstancesMonitoringEnabled) String() string {
  37167. return awsutil.Prettify(s)
  37168. }
  37169. // GoString returns the string representation
  37170. func (s RunInstancesMonitoringEnabled) GoString() string {
  37171. return s.String()
  37172. }
  37173. // Validate inspects the fields of the type to determine if they are valid.
  37174. func (s *RunInstancesMonitoringEnabled) Validate() error {
  37175. invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
  37176. if s.Enabled == nil {
  37177. invalidParams.Add(request.NewErrParamRequired("Enabled"))
  37178. }
  37179. if invalidParams.Len() > 0 {
  37180. return invalidParams
  37181. }
  37182. return nil
  37183. }
  37184. // SetEnabled sets the Enabled field's value.
  37185. func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
  37186. s.Enabled = &v
  37187. return s
  37188. }
  37189. // Contains the parameters for RunScheduledInstances.
  37190. type RunScheduledInstancesInput struct {
  37191. _ struct{} `type:"structure"`
  37192. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  37193. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  37194. ClientToken *string `type:"string" idempotencyToken:"true"`
  37195. // Checks whether you have the required permissions for the action, without
  37196. // actually making the request, and provides an error response. If you have
  37197. // the required permissions, the error response is DryRunOperation. Otherwise,
  37198. // it is UnauthorizedOperation.
  37199. DryRun *bool `type:"boolean"`
  37200. // The number of instances.
  37201. //
  37202. // Default: 1
  37203. InstanceCount *int64 `type:"integer"`
  37204. // The launch specification. You must match the instance type, Availability
  37205. // Zone, network, and platform of the schedule that you purchased.
  37206. //
  37207. // LaunchSpecification is a required field
  37208. LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
  37209. // The Scheduled Instance ID.
  37210. //
  37211. // ScheduledInstanceId is a required field
  37212. ScheduledInstanceId *string `type:"string" required:"true"`
  37213. }
  37214. // String returns the string representation
  37215. func (s RunScheduledInstancesInput) String() string {
  37216. return awsutil.Prettify(s)
  37217. }
  37218. // GoString returns the string representation
  37219. func (s RunScheduledInstancesInput) GoString() string {
  37220. return s.String()
  37221. }
  37222. // Validate inspects the fields of the type to determine if they are valid.
  37223. func (s *RunScheduledInstancesInput) Validate() error {
  37224. invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
  37225. if s.LaunchSpecification == nil {
  37226. invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
  37227. }
  37228. if s.ScheduledInstanceId == nil {
  37229. invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
  37230. }
  37231. if s.LaunchSpecification != nil {
  37232. if err := s.LaunchSpecification.Validate(); err != nil {
  37233. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  37234. }
  37235. }
  37236. if invalidParams.Len() > 0 {
  37237. return invalidParams
  37238. }
  37239. return nil
  37240. }
  37241. // SetClientToken sets the ClientToken field's value.
  37242. func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
  37243. s.ClientToken = &v
  37244. return s
  37245. }
  37246. // SetDryRun sets the DryRun field's value.
  37247. func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
  37248. s.DryRun = &v
  37249. return s
  37250. }
  37251. // SetInstanceCount sets the InstanceCount field's value.
  37252. func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
  37253. s.InstanceCount = &v
  37254. return s
  37255. }
  37256. // SetLaunchSpecification sets the LaunchSpecification field's value.
  37257. func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
  37258. s.LaunchSpecification = v
  37259. return s
  37260. }
  37261. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  37262. func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
  37263. s.ScheduledInstanceId = &v
  37264. return s
  37265. }
  37266. // Contains the output of RunScheduledInstances.
  37267. type RunScheduledInstancesOutput struct {
  37268. _ struct{} `type:"structure"`
  37269. // The IDs of the newly launched instances.
  37270. InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
  37271. }
  37272. // String returns the string representation
  37273. func (s RunScheduledInstancesOutput) String() string {
  37274. return awsutil.Prettify(s)
  37275. }
  37276. // GoString returns the string representation
  37277. func (s RunScheduledInstancesOutput) GoString() string {
  37278. return s.String()
  37279. }
  37280. // SetInstanceIdSet sets the InstanceIdSet field's value.
  37281. func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
  37282. s.InstanceIdSet = v
  37283. return s
  37284. }
  37285. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  37286. // AMI.
  37287. type S3Storage struct {
  37288. _ struct{} `type:"structure"`
  37289. // The access key ID of the owner of the bucket. Before you specify a value
  37290. // for your access key ID, review and follow the guidance in Best Practices
  37291. // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  37292. AWSAccessKeyId *string `type:"string"`
  37293. // The bucket in which to store the AMI. You can specify a bucket that you already
  37294. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  37295. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  37296. Bucket *string `locationName:"bucket" type:"string"`
  37297. // The beginning of the file name of the AMI.
  37298. Prefix *string `locationName:"prefix" type:"string"`
  37299. // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
  37300. // into Amazon S3 on your behalf.
  37301. //
  37302. // UploadPolicy is automatically base64 encoded/decoded by the SDK.
  37303. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  37304. // The signature of the JSON document.
  37305. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  37306. }
  37307. // String returns the string representation
  37308. func (s S3Storage) String() string {
  37309. return awsutil.Prettify(s)
  37310. }
  37311. // GoString returns the string representation
  37312. func (s S3Storage) GoString() string {
  37313. return s.String()
  37314. }
  37315. // SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
  37316. func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
  37317. s.AWSAccessKeyId = &v
  37318. return s
  37319. }
  37320. // SetBucket sets the Bucket field's value.
  37321. func (s *S3Storage) SetBucket(v string) *S3Storage {
  37322. s.Bucket = &v
  37323. return s
  37324. }
  37325. // SetPrefix sets the Prefix field's value.
  37326. func (s *S3Storage) SetPrefix(v string) *S3Storage {
  37327. s.Prefix = &v
  37328. return s
  37329. }
  37330. // SetUploadPolicy sets the UploadPolicy field's value.
  37331. func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
  37332. s.UploadPolicy = v
  37333. return s
  37334. }
  37335. // SetUploadPolicySignature sets the UploadPolicySignature field's value.
  37336. func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
  37337. s.UploadPolicySignature = &v
  37338. return s
  37339. }
  37340. // Describes a Scheduled Instance.
  37341. type ScheduledInstance struct {
  37342. _ struct{} `type:"structure"`
  37343. // The Availability Zone.
  37344. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  37345. // The date when the Scheduled Instance was purchased.
  37346. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  37347. // The hourly price for a single instance.
  37348. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  37349. // The number of instances.
  37350. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  37351. // The instance type.
  37352. InstanceType *string `locationName:"instanceType" type:"string"`
  37353. // The network platform (EC2-Classic or EC2-VPC).
  37354. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  37355. // The time for the next schedule to start.
  37356. NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  37357. // The platform (Linux/UNIX or Windows).
  37358. Platform *string `locationName:"platform" type:"string"`
  37359. // The time that the previous schedule ended or will end.
  37360. PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp" timestampFormat:"iso8601"`
  37361. // The schedule recurrence.
  37362. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  37363. // The Scheduled Instance ID.
  37364. ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
  37365. // The number of hours in the schedule.
  37366. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  37367. // The end date for the Scheduled Instance.
  37368. TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp" timestampFormat:"iso8601"`
  37369. // The start date for the Scheduled Instance.
  37370. TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp" timestampFormat:"iso8601"`
  37371. // The total number of hours for a single instance for the entire term.
  37372. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  37373. }
  37374. // String returns the string representation
  37375. func (s ScheduledInstance) String() string {
  37376. return awsutil.Prettify(s)
  37377. }
  37378. // GoString returns the string representation
  37379. func (s ScheduledInstance) GoString() string {
  37380. return s.String()
  37381. }
  37382. // SetAvailabilityZone sets the AvailabilityZone field's value.
  37383. func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
  37384. s.AvailabilityZone = &v
  37385. return s
  37386. }
  37387. // SetCreateDate sets the CreateDate field's value.
  37388. func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
  37389. s.CreateDate = &v
  37390. return s
  37391. }
  37392. // SetHourlyPrice sets the HourlyPrice field's value.
  37393. func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
  37394. s.HourlyPrice = &v
  37395. return s
  37396. }
  37397. // SetInstanceCount sets the InstanceCount field's value.
  37398. func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
  37399. s.InstanceCount = &v
  37400. return s
  37401. }
  37402. // SetInstanceType sets the InstanceType field's value.
  37403. func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
  37404. s.InstanceType = &v
  37405. return s
  37406. }
  37407. // SetNetworkPlatform sets the NetworkPlatform field's value.
  37408. func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
  37409. s.NetworkPlatform = &v
  37410. return s
  37411. }
  37412. // SetNextSlotStartTime sets the NextSlotStartTime field's value.
  37413. func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
  37414. s.NextSlotStartTime = &v
  37415. return s
  37416. }
  37417. // SetPlatform sets the Platform field's value.
  37418. func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
  37419. s.Platform = &v
  37420. return s
  37421. }
  37422. // SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
  37423. func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
  37424. s.PreviousSlotEndTime = &v
  37425. return s
  37426. }
  37427. // SetRecurrence sets the Recurrence field's value.
  37428. func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
  37429. s.Recurrence = v
  37430. return s
  37431. }
  37432. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  37433. func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
  37434. s.ScheduledInstanceId = &v
  37435. return s
  37436. }
  37437. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  37438. func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
  37439. s.SlotDurationInHours = &v
  37440. return s
  37441. }
  37442. // SetTermEndDate sets the TermEndDate field's value.
  37443. func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
  37444. s.TermEndDate = &v
  37445. return s
  37446. }
  37447. // SetTermStartDate sets the TermStartDate field's value.
  37448. func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
  37449. s.TermStartDate = &v
  37450. return s
  37451. }
  37452. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  37453. func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
  37454. s.TotalScheduledInstanceHours = &v
  37455. return s
  37456. }
  37457. // Describes a schedule that is available for your Scheduled Instances.
  37458. type ScheduledInstanceAvailability struct {
  37459. _ struct{} `type:"structure"`
  37460. // The Availability Zone.
  37461. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  37462. // The number of available instances.
  37463. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  37464. // The time period for the first schedule to start.
  37465. FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  37466. // The hourly price for a single instance.
  37467. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  37468. // The instance type. You can specify one of the C3, C4, M4, or R3 instance
  37469. // types.
  37470. InstanceType *string `locationName:"instanceType" type:"string"`
  37471. // The maximum term. The only possible value is 365 days.
  37472. MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
  37473. // The minimum term. The only possible value is 365 days.
  37474. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
  37475. // The network platform (EC2-Classic or EC2-VPC).
  37476. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  37477. // The platform (Linux/UNIX or Windows).
  37478. Platform *string `locationName:"platform" type:"string"`
  37479. // The purchase token. This token expires in two hours.
  37480. PurchaseToken *string `locationName:"purchaseToken" type:"string"`
  37481. // The schedule recurrence.
  37482. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  37483. // The number of hours in the schedule.
  37484. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  37485. // The total number of hours for a single instance for the entire term.
  37486. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  37487. }
  37488. // String returns the string representation
  37489. func (s ScheduledInstanceAvailability) String() string {
  37490. return awsutil.Prettify(s)
  37491. }
  37492. // GoString returns the string representation
  37493. func (s ScheduledInstanceAvailability) GoString() string {
  37494. return s.String()
  37495. }
  37496. // SetAvailabilityZone sets the AvailabilityZone field's value.
  37497. func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
  37498. s.AvailabilityZone = &v
  37499. return s
  37500. }
  37501. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  37502. func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
  37503. s.AvailableInstanceCount = &v
  37504. return s
  37505. }
  37506. // SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
  37507. func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
  37508. s.FirstSlotStartTime = &v
  37509. return s
  37510. }
  37511. // SetHourlyPrice sets the HourlyPrice field's value.
  37512. func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
  37513. s.HourlyPrice = &v
  37514. return s
  37515. }
  37516. // SetInstanceType sets the InstanceType field's value.
  37517. func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
  37518. s.InstanceType = &v
  37519. return s
  37520. }
  37521. // SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
  37522. func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  37523. s.MaxTermDurationInDays = &v
  37524. return s
  37525. }
  37526. // SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
  37527. func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  37528. s.MinTermDurationInDays = &v
  37529. return s
  37530. }
  37531. // SetNetworkPlatform sets the NetworkPlatform field's value.
  37532. func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
  37533. s.NetworkPlatform = &v
  37534. return s
  37535. }
  37536. // SetPlatform sets the Platform field's value.
  37537. func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
  37538. s.Platform = &v
  37539. return s
  37540. }
  37541. // SetPurchaseToken sets the PurchaseToken field's value.
  37542. func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
  37543. s.PurchaseToken = &v
  37544. return s
  37545. }
  37546. // SetRecurrence sets the Recurrence field's value.
  37547. func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
  37548. s.Recurrence = v
  37549. return s
  37550. }
  37551. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  37552. func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
  37553. s.SlotDurationInHours = &v
  37554. return s
  37555. }
  37556. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  37557. func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
  37558. s.TotalScheduledInstanceHours = &v
  37559. return s
  37560. }
  37561. // Describes the recurring schedule for a Scheduled Instance.
  37562. type ScheduledInstanceRecurrence struct {
  37563. _ struct{} `type:"structure"`
  37564. // The frequency (Daily, Weekly, or Monthly).
  37565. Frequency *string `locationName:"frequency" type:"string"`
  37566. // The interval quantity. The interval unit depends on the value of frequency.
  37567. // For example, every 2 weeks or every 2 months.
  37568. Interval *int64 `locationName:"interval" type:"integer"`
  37569. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  37570. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  37571. // is Sunday).
  37572. OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
  37573. // Indicates whether the occurrence is relative to the end of the specified
  37574. // week or month.
  37575. OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
  37576. // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
  37577. OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
  37578. }
  37579. // String returns the string representation
  37580. func (s ScheduledInstanceRecurrence) String() string {
  37581. return awsutil.Prettify(s)
  37582. }
  37583. // GoString returns the string representation
  37584. func (s ScheduledInstanceRecurrence) GoString() string {
  37585. return s.String()
  37586. }
  37587. // SetFrequency sets the Frequency field's value.
  37588. func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
  37589. s.Frequency = &v
  37590. return s
  37591. }
  37592. // SetInterval sets the Interval field's value.
  37593. func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
  37594. s.Interval = &v
  37595. return s
  37596. }
  37597. // SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
  37598. func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
  37599. s.OccurrenceDaySet = v
  37600. return s
  37601. }
  37602. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  37603. func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
  37604. s.OccurrenceRelativeToEnd = &v
  37605. return s
  37606. }
  37607. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  37608. func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
  37609. s.OccurrenceUnit = &v
  37610. return s
  37611. }
  37612. // Describes the recurring schedule for a Scheduled Instance.
  37613. type ScheduledInstanceRecurrenceRequest struct {
  37614. _ struct{} `type:"structure"`
  37615. // The frequency (Daily, Weekly, or Monthly).
  37616. Frequency *string `type:"string"`
  37617. // The interval quantity. The interval unit depends on the value of Frequency.
  37618. // For example, every 2 weeks or every 2 months.
  37619. Interval *int64 `type:"integer"`
  37620. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  37621. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  37622. // is Sunday). You can't specify this value with a daily schedule. If the occurrence
  37623. // is relative to the end of the month, you can specify only a single day.
  37624. OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
  37625. // Indicates whether the occurrence is relative to the end of the specified
  37626. // week or month. You can't specify this value with a daily schedule.
  37627. OccurrenceRelativeToEnd *bool `type:"boolean"`
  37628. // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
  37629. // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
  37630. // You can't specify this value with a daily schedule.
  37631. OccurrenceUnit *string `type:"string"`
  37632. }
  37633. // String returns the string representation
  37634. func (s ScheduledInstanceRecurrenceRequest) String() string {
  37635. return awsutil.Prettify(s)
  37636. }
  37637. // GoString returns the string representation
  37638. func (s ScheduledInstanceRecurrenceRequest) GoString() string {
  37639. return s.String()
  37640. }
  37641. // SetFrequency sets the Frequency field's value.
  37642. func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
  37643. s.Frequency = &v
  37644. return s
  37645. }
  37646. // SetInterval sets the Interval field's value.
  37647. func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
  37648. s.Interval = &v
  37649. return s
  37650. }
  37651. // SetOccurrenceDays sets the OccurrenceDays field's value.
  37652. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
  37653. s.OccurrenceDays = v
  37654. return s
  37655. }
  37656. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  37657. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
  37658. s.OccurrenceRelativeToEnd = &v
  37659. return s
  37660. }
  37661. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  37662. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
  37663. s.OccurrenceUnit = &v
  37664. return s
  37665. }
  37666. // Describes a block device mapping for a Scheduled Instance.
  37667. type ScheduledInstancesBlockDeviceMapping struct {
  37668. _ struct{} `type:"structure"`
  37669. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  37670. DeviceName *string `type:"string"`
  37671. // Parameters used to set up EBS volumes automatically when the instance is
  37672. // launched.
  37673. Ebs *ScheduledInstancesEbs `type:"structure"`
  37674. // Suppresses the specified device included in the block device mapping of the
  37675. // AMI.
  37676. NoDevice *string `type:"string"`
  37677. // The virtual device name (ephemeralN). Instance store volumes are numbered
  37678. // starting from 0. An instance type with two available instance store volumes
  37679. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  37680. // instance store volumes depends on the instance type. After you connect to
  37681. // the instance, you must mount the volume.
  37682. //
  37683. // Constraints: For M3 instances, you must specify instance store volumes in
  37684. // the block device mapping for the instance. When you launch an M3 instance,
  37685. // we ignore any instance store volumes specified in the block device mapping
  37686. // for the AMI.
  37687. VirtualName *string `type:"string"`
  37688. }
  37689. // String returns the string representation
  37690. func (s ScheduledInstancesBlockDeviceMapping) String() string {
  37691. return awsutil.Prettify(s)
  37692. }
  37693. // GoString returns the string representation
  37694. func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
  37695. return s.String()
  37696. }
  37697. // SetDeviceName sets the DeviceName field's value.
  37698. func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
  37699. s.DeviceName = &v
  37700. return s
  37701. }
  37702. // SetEbs sets the Ebs field's value.
  37703. func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
  37704. s.Ebs = v
  37705. return s
  37706. }
  37707. // SetNoDevice sets the NoDevice field's value.
  37708. func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
  37709. s.NoDevice = &v
  37710. return s
  37711. }
  37712. // SetVirtualName sets the VirtualName field's value.
  37713. func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
  37714. s.VirtualName = &v
  37715. return s
  37716. }
  37717. // Describes an EBS volume for a Scheduled Instance.
  37718. type ScheduledInstancesEbs struct {
  37719. _ struct{} `type:"structure"`
  37720. // Indicates whether the volume is deleted on instance termination.
  37721. DeleteOnTermination *bool `type:"boolean"`
  37722. // Indicates whether the volume is encrypted. You can attached encrypted volumes
  37723. // only to instances that support them.
  37724. Encrypted *bool `type:"boolean"`
  37725. // The number of I/O operations per second (IOPS) that the volume supports.
  37726. // For io1 volumes, this represents the number of IOPS that are provisioned
  37727. // for the volume. For gp2 volumes, this represents the baseline performance
  37728. // of the volume and the rate at which the volume accumulates I/O credits for
  37729. // bursting. For more information about gp2 baseline performance, I/O credits,
  37730. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  37731. // in the Amazon Elastic Compute Cloud User Guide.
  37732. //
  37733. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  37734. // gp2 volumes.
  37735. //
  37736. // Condition: This parameter is required for requests to create io1volumes;
  37737. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  37738. Iops *int64 `type:"integer"`
  37739. // The ID of the snapshot.
  37740. SnapshotId *string `type:"string"`
  37741. // The size of the volume, in GiB.
  37742. //
  37743. // Default: If you're creating the volume from a snapshot and don't specify
  37744. // a volume size, the default is the snapshot size.
  37745. VolumeSize *int64 `type:"integer"`
  37746. // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
  37747. // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
  37748. //
  37749. // Default: standard
  37750. VolumeType *string `type:"string"`
  37751. }
  37752. // String returns the string representation
  37753. func (s ScheduledInstancesEbs) String() string {
  37754. return awsutil.Prettify(s)
  37755. }
  37756. // GoString returns the string representation
  37757. func (s ScheduledInstancesEbs) GoString() string {
  37758. return s.String()
  37759. }
  37760. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  37761. func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
  37762. s.DeleteOnTermination = &v
  37763. return s
  37764. }
  37765. // SetEncrypted sets the Encrypted field's value.
  37766. func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
  37767. s.Encrypted = &v
  37768. return s
  37769. }
  37770. // SetIops sets the Iops field's value.
  37771. func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
  37772. s.Iops = &v
  37773. return s
  37774. }
  37775. // SetSnapshotId sets the SnapshotId field's value.
  37776. func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
  37777. s.SnapshotId = &v
  37778. return s
  37779. }
  37780. // SetVolumeSize sets the VolumeSize field's value.
  37781. func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
  37782. s.VolumeSize = &v
  37783. return s
  37784. }
  37785. // SetVolumeType sets the VolumeType field's value.
  37786. func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
  37787. s.VolumeType = &v
  37788. return s
  37789. }
  37790. // Describes an IAM instance profile for a Scheduled Instance.
  37791. type ScheduledInstancesIamInstanceProfile struct {
  37792. _ struct{} `type:"structure"`
  37793. // The Amazon Resource Name (ARN).
  37794. Arn *string `type:"string"`
  37795. // The name.
  37796. Name *string `type:"string"`
  37797. }
  37798. // String returns the string representation
  37799. func (s ScheduledInstancesIamInstanceProfile) String() string {
  37800. return awsutil.Prettify(s)
  37801. }
  37802. // GoString returns the string representation
  37803. func (s ScheduledInstancesIamInstanceProfile) GoString() string {
  37804. return s.String()
  37805. }
  37806. // SetArn sets the Arn field's value.
  37807. func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
  37808. s.Arn = &v
  37809. return s
  37810. }
  37811. // SetName sets the Name field's value.
  37812. func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
  37813. s.Name = &v
  37814. return s
  37815. }
  37816. // Describes the launch specification for a Scheduled Instance.
  37817. //
  37818. // If you are launching the Scheduled Instance in EC2-VPC, you must specify
  37819. // the ID of the subnet. You can specify the subnet using either SubnetId or
  37820. // NetworkInterface.
  37821. type ScheduledInstancesLaunchSpecification struct {
  37822. _ struct{} `type:"structure"`
  37823. // One or more block device mapping entries.
  37824. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  37825. // Indicates whether the instances are optimized for EBS I/O. This optimization
  37826. // provides dedicated throughput to Amazon EBS and an optimized configuration
  37827. // stack to provide optimal EBS I/O performance. This optimization isn't available
  37828. // with all instance types. Additional usage charges apply when using an EBS-optimized
  37829. // instance.
  37830. //
  37831. // Default: false
  37832. EbsOptimized *bool `type:"boolean"`
  37833. // The IAM instance profile.
  37834. IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
  37835. // The ID of the Amazon Machine Image (AMI).
  37836. //
  37837. // ImageId is a required field
  37838. ImageId *string `type:"string" required:"true"`
  37839. // The instance type.
  37840. InstanceType *string `type:"string"`
  37841. // The ID of the kernel.
  37842. KernelId *string `type:"string"`
  37843. // The name of the key pair.
  37844. KeyName *string `type:"string"`
  37845. // Enable or disable monitoring for the instances.
  37846. Monitoring *ScheduledInstancesMonitoring `type:"structure"`
  37847. // One or more network interfaces.
  37848. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
  37849. // The placement information.
  37850. Placement *ScheduledInstancesPlacement `type:"structure"`
  37851. // The ID of the RAM disk.
  37852. RamdiskId *string `type:"string"`
  37853. // The IDs of one or more security groups.
  37854. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  37855. // The ID of the subnet in which to launch the instances.
  37856. SubnetId *string `type:"string"`
  37857. // The base64-encoded MIME user data.
  37858. UserData *string `type:"string"`
  37859. }
  37860. // String returns the string representation
  37861. func (s ScheduledInstancesLaunchSpecification) String() string {
  37862. return awsutil.Prettify(s)
  37863. }
  37864. // GoString returns the string representation
  37865. func (s ScheduledInstancesLaunchSpecification) GoString() string {
  37866. return s.String()
  37867. }
  37868. // Validate inspects the fields of the type to determine if they are valid.
  37869. func (s *ScheduledInstancesLaunchSpecification) Validate() error {
  37870. invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
  37871. if s.ImageId == nil {
  37872. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  37873. }
  37874. if invalidParams.Len() > 0 {
  37875. return invalidParams
  37876. }
  37877. return nil
  37878. }
  37879. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  37880. func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
  37881. s.BlockDeviceMappings = v
  37882. return s
  37883. }
  37884. // SetEbsOptimized sets the EbsOptimized field's value.
  37885. func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
  37886. s.EbsOptimized = &v
  37887. return s
  37888. }
  37889. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  37890. func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
  37891. s.IamInstanceProfile = v
  37892. return s
  37893. }
  37894. // SetImageId sets the ImageId field's value.
  37895. func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
  37896. s.ImageId = &v
  37897. return s
  37898. }
  37899. // SetInstanceType sets the InstanceType field's value.
  37900. func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
  37901. s.InstanceType = &v
  37902. return s
  37903. }
  37904. // SetKernelId sets the KernelId field's value.
  37905. func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
  37906. s.KernelId = &v
  37907. return s
  37908. }
  37909. // SetKeyName sets the KeyName field's value.
  37910. func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
  37911. s.KeyName = &v
  37912. return s
  37913. }
  37914. // SetMonitoring sets the Monitoring field's value.
  37915. func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
  37916. s.Monitoring = v
  37917. return s
  37918. }
  37919. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  37920. func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
  37921. s.NetworkInterfaces = v
  37922. return s
  37923. }
  37924. // SetPlacement sets the Placement field's value.
  37925. func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
  37926. s.Placement = v
  37927. return s
  37928. }
  37929. // SetRamdiskId sets the RamdiskId field's value.
  37930. func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
  37931. s.RamdiskId = &v
  37932. return s
  37933. }
  37934. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  37935. func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
  37936. s.SecurityGroupIds = v
  37937. return s
  37938. }
  37939. // SetSubnetId sets the SubnetId field's value.
  37940. func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
  37941. s.SubnetId = &v
  37942. return s
  37943. }
  37944. // SetUserData sets the UserData field's value.
  37945. func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
  37946. s.UserData = &v
  37947. return s
  37948. }
  37949. // Describes whether monitoring is enabled for a Scheduled Instance.
  37950. type ScheduledInstancesMonitoring struct {
  37951. _ struct{} `type:"structure"`
  37952. // Indicates whether monitoring is enabled.
  37953. Enabled *bool `type:"boolean"`
  37954. }
  37955. // String returns the string representation
  37956. func (s ScheduledInstancesMonitoring) String() string {
  37957. return awsutil.Prettify(s)
  37958. }
  37959. // GoString returns the string representation
  37960. func (s ScheduledInstancesMonitoring) GoString() string {
  37961. return s.String()
  37962. }
  37963. // SetEnabled sets the Enabled field's value.
  37964. func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
  37965. s.Enabled = &v
  37966. return s
  37967. }
  37968. // Describes a network interface for a Scheduled Instance.
  37969. type ScheduledInstancesNetworkInterface struct {
  37970. _ struct{} `type:"structure"`
  37971. // Indicates whether to assign a public IP address to instances launched in
  37972. // a VPC. The public IP address can only be assigned to a network interface
  37973. // for eth0, and can only be assigned to a new network interface, not an existing
  37974. // one. You cannot specify more than one network interface in the request. If
  37975. // launching into a default subnet, the default value is true.
  37976. AssociatePublicIpAddress *bool `type:"boolean"`
  37977. // Indicates whether to delete the interface when the instance is terminated.
  37978. DeleteOnTermination *bool `type:"boolean"`
  37979. // The description.
  37980. Description *string `type:"string"`
  37981. // The index of the device for the network interface attachment.
  37982. DeviceIndex *int64 `type:"integer"`
  37983. // The IDs of one or more security groups.
  37984. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
  37985. // The ID of the network interface.
  37986. NetworkInterfaceId *string `type:"string"`
  37987. // The IP address of the network interface within the subnet.
  37988. PrivateIpAddress *string `type:"string"`
  37989. // The private IP addresses.
  37990. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
  37991. // The number of secondary private IP addresses.
  37992. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  37993. // The ID of the subnet.
  37994. SubnetId *string `type:"string"`
  37995. }
  37996. // String returns the string representation
  37997. func (s ScheduledInstancesNetworkInterface) String() string {
  37998. return awsutil.Prettify(s)
  37999. }
  38000. // GoString returns the string representation
  38001. func (s ScheduledInstancesNetworkInterface) GoString() string {
  38002. return s.String()
  38003. }
  38004. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  38005. func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
  38006. s.AssociatePublicIpAddress = &v
  38007. return s
  38008. }
  38009. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  38010. func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
  38011. s.DeleteOnTermination = &v
  38012. return s
  38013. }
  38014. // SetDescription sets the Description field's value.
  38015. func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
  38016. s.Description = &v
  38017. return s
  38018. }
  38019. // SetDeviceIndex sets the DeviceIndex field's value.
  38020. func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
  38021. s.DeviceIndex = &v
  38022. return s
  38023. }
  38024. // SetGroups sets the Groups field's value.
  38025. func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
  38026. s.Groups = v
  38027. return s
  38028. }
  38029. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  38030. func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
  38031. s.NetworkInterfaceId = &v
  38032. return s
  38033. }
  38034. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  38035. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
  38036. s.PrivateIpAddress = &v
  38037. return s
  38038. }
  38039. // SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
  38040. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
  38041. s.PrivateIpAddressConfigs = v
  38042. return s
  38043. }
  38044. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  38045. func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
  38046. s.SecondaryPrivateIpAddressCount = &v
  38047. return s
  38048. }
  38049. // SetSubnetId sets the SubnetId field's value.
  38050. func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
  38051. s.SubnetId = &v
  38052. return s
  38053. }
  38054. // Describes the placement for a Scheduled Instance.
  38055. type ScheduledInstancesPlacement struct {
  38056. _ struct{} `type:"structure"`
  38057. // The Availability Zone.
  38058. AvailabilityZone *string `type:"string"`
  38059. // The name of the placement group.
  38060. GroupName *string `type:"string"`
  38061. }
  38062. // String returns the string representation
  38063. func (s ScheduledInstancesPlacement) String() string {
  38064. return awsutil.Prettify(s)
  38065. }
  38066. // GoString returns the string representation
  38067. func (s ScheduledInstancesPlacement) GoString() string {
  38068. return s.String()
  38069. }
  38070. // SetAvailabilityZone sets the AvailabilityZone field's value.
  38071. func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
  38072. s.AvailabilityZone = &v
  38073. return s
  38074. }
  38075. // SetGroupName sets the GroupName field's value.
  38076. func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
  38077. s.GroupName = &v
  38078. return s
  38079. }
  38080. // Describes a private IP address for a Scheduled Instance.
  38081. type ScheduledInstancesPrivateIpAddressConfig struct {
  38082. _ struct{} `type:"structure"`
  38083. // Indicates whether this is a primary IP address. Otherwise, this is a secondary
  38084. // IP address.
  38085. Primary *bool `type:"boolean"`
  38086. // The IP address.
  38087. PrivateIpAddress *string `type:"string"`
  38088. }
  38089. // String returns the string representation
  38090. func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
  38091. return awsutil.Prettify(s)
  38092. }
  38093. // GoString returns the string representation
  38094. func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
  38095. return s.String()
  38096. }
  38097. // SetPrimary sets the Primary field's value.
  38098. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
  38099. s.Primary = &v
  38100. return s
  38101. }
  38102. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  38103. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
  38104. s.PrivateIpAddress = &v
  38105. return s
  38106. }
  38107. // Describes a security group
  38108. type SecurityGroup struct {
  38109. _ struct{} `type:"structure"`
  38110. // A description of the security group.
  38111. Description *string `locationName:"groupDescription" type:"string"`
  38112. // The ID of the security group.
  38113. GroupId *string `locationName:"groupId" type:"string"`
  38114. // The name of the security group.
  38115. GroupName *string `locationName:"groupName" type:"string"`
  38116. // One or more inbound rules associated with the security group.
  38117. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  38118. // [EC2-VPC] One or more outbound rules associated with the security group.
  38119. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  38120. // The AWS account ID of the owner of the security group.
  38121. OwnerId *string `locationName:"ownerId" type:"string"`
  38122. // Any tags assigned to the security group.
  38123. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  38124. // [EC2-VPC] The ID of the VPC for the security group.
  38125. VpcId *string `locationName:"vpcId" type:"string"`
  38126. }
  38127. // String returns the string representation
  38128. func (s SecurityGroup) String() string {
  38129. return awsutil.Prettify(s)
  38130. }
  38131. // GoString returns the string representation
  38132. func (s SecurityGroup) GoString() string {
  38133. return s.String()
  38134. }
  38135. // SetDescription sets the Description field's value.
  38136. func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
  38137. s.Description = &v
  38138. return s
  38139. }
  38140. // SetGroupId sets the GroupId field's value.
  38141. func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
  38142. s.GroupId = &v
  38143. return s
  38144. }
  38145. // SetGroupName sets the GroupName field's value.
  38146. func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
  38147. s.GroupName = &v
  38148. return s
  38149. }
  38150. // SetIpPermissions sets the IpPermissions field's value.
  38151. func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
  38152. s.IpPermissions = v
  38153. return s
  38154. }
  38155. // SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
  38156. func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
  38157. s.IpPermissionsEgress = v
  38158. return s
  38159. }
  38160. // SetOwnerId sets the OwnerId field's value.
  38161. func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
  38162. s.OwnerId = &v
  38163. return s
  38164. }
  38165. // SetTags sets the Tags field's value.
  38166. func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
  38167. s.Tags = v
  38168. return s
  38169. }
  38170. // SetVpcId sets the VpcId field's value.
  38171. func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
  38172. s.VpcId = &v
  38173. return s
  38174. }
  38175. // Describes a VPC with a security group that references your security group.
  38176. type SecurityGroupReference struct {
  38177. _ struct{} `type:"structure"`
  38178. // The ID of your security group.
  38179. //
  38180. // GroupId is a required field
  38181. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  38182. // The ID of the VPC with the referencing security group.
  38183. //
  38184. // ReferencingVpcId is a required field
  38185. ReferencingVpcId *string `locationName:"referencingVpcId" type:"string" required:"true"`
  38186. // The ID of the VPC peering connection.
  38187. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  38188. }
  38189. // String returns the string representation
  38190. func (s SecurityGroupReference) String() string {
  38191. return awsutil.Prettify(s)
  38192. }
  38193. // GoString returns the string representation
  38194. func (s SecurityGroupReference) GoString() string {
  38195. return s.String()
  38196. }
  38197. // SetGroupId sets the GroupId field's value.
  38198. func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
  38199. s.GroupId = &v
  38200. return s
  38201. }
  38202. // SetReferencingVpcId sets the ReferencingVpcId field's value.
  38203. func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
  38204. s.ReferencingVpcId = &v
  38205. return s
  38206. }
  38207. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  38208. func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
  38209. s.VpcPeeringConnectionId = &v
  38210. return s
  38211. }
  38212. // Describes the time period for a Scheduled Instance to start its first schedule.
  38213. // The time period must span less than one day.
  38214. type SlotDateTimeRangeRequest struct {
  38215. _ struct{} `type:"structure"`
  38216. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  38217. //
  38218. // EarliestTime is a required field
  38219. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  38220. // The latest date and time, in UTC, for the Scheduled Instance to start. This
  38221. // value must be later than or equal to the earliest date and at most three
  38222. // months in the future.
  38223. //
  38224. // LatestTime is a required field
  38225. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  38226. }
  38227. // String returns the string representation
  38228. func (s SlotDateTimeRangeRequest) String() string {
  38229. return awsutil.Prettify(s)
  38230. }
  38231. // GoString returns the string representation
  38232. func (s SlotDateTimeRangeRequest) GoString() string {
  38233. return s.String()
  38234. }
  38235. // Validate inspects the fields of the type to determine if they are valid.
  38236. func (s *SlotDateTimeRangeRequest) Validate() error {
  38237. invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
  38238. if s.EarliestTime == nil {
  38239. invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
  38240. }
  38241. if s.LatestTime == nil {
  38242. invalidParams.Add(request.NewErrParamRequired("LatestTime"))
  38243. }
  38244. if invalidParams.Len() > 0 {
  38245. return invalidParams
  38246. }
  38247. return nil
  38248. }
  38249. // SetEarliestTime sets the EarliestTime field's value.
  38250. func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
  38251. s.EarliestTime = &v
  38252. return s
  38253. }
  38254. // SetLatestTime sets the LatestTime field's value.
  38255. func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
  38256. s.LatestTime = &v
  38257. return s
  38258. }
  38259. // Describes the time period for a Scheduled Instance to start its first schedule.
  38260. type SlotStartTimeRangeRequest struct {
  38261. _ struct{} `type:"structure"`
  38262. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  38263. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  38264. // The latest date and time, in UTC, for the Scheduled Instance to start.
  38265. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  38266. }
  38267. // String returns the string representation
  38268. func (s SlotStartTimeRangeRequest) String() string {
  38269. return awsutil.Prettify(s)
  38270. }
  38271. // GoString returns the string representation
  38272. func (s SlotStartTimeRangeRequest) GoString() string {
  38273. return s.String()
  38274. }
  38275. // SetEarliestTime sets the EarliestTime field's value.
  38276. func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
  38277. s.EarliestTime = &v
  38278. return s
  38279. }
  38280. // SetLatestTime sets the LatestTime field's value.
  38281. func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
  38282. s.LatestTime = &v
  38283. return s
  38284. }
  38285. // Describes a snapshot.
  38286. type Snapshot struct {
  38287. _ struct{} `type:"structure"`
  38288. // The data encryption key identifier for the snapshot. This value is a unique
  38289. // identifier that corresponds to the data encryption key that was used to encrypt
  38290. // the original volume or snapshot copy. Because data encryption keys are inherited
  38291. // by volumes created from snapshots, and vice versa, if snapshots share the
  38292. // same data encryption key identifier, then they belong to the same volume/snapshot
  38293. // lineage. This parameter is only returned by the DescribeSnapshots API operation.
  38294. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
  38295. // The description for the snapshot.
  38296. Description *string `locationName:"description" type:"string"`
  38297. // Indicates whether the snapshot is encrypted.
  38298. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  38299. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  38300. // key (CMK) that was used to protect the volume encryption key for the parent
  38301. // volume.
  38302. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  38303. // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft)
  38304. // of snapshot owners. Not to be confused with the user-configured AWS account
  38305. // alias, which is set from the IAM console.
  38306. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  38307. // The AWS account ID of the EBS snapshot owner.
  38308. OwnerId *string `locationName:"ownerId" type:"string"`
  38309. // The progress of the snapshot, as a percentage.
  38310. Progress *string `locationName:"progress" type:"string"`
  38311. // The ID of the snapshot. Each snapshot receives a unique identifier when it
  38312. // is created.
  38313. SnapshotId *string `locationName:"snapshotId" type:"string"`
  38314. // The time stamp when the snapshot was initiated.
  38315. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  38316. // The snapshot state.
  38317. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  38318. // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
  38319. // operation fails (for example, if the proper AWS Key Management Service (AWS
  38320. // KMS) permissions are not obtained) this field displays error state details
  38321. // to help you diagnose why the error occurred. This parameter is only returned
  38322. // by the DescribeSnapshots API operation.
  38323. StateMessage *string `locationName:"statusMessage" type:"string"`
  38324. // Any tags assigned to the snapshot.
  38325. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  38326. // The ID of the volume that was used to create the snapshot. Snapshots created
  38327. // by the CopySnapshot action have an arbitrary volume ID that should not be
  38328. // used for any purpose.
  38329. VolumeId *string `locationName:"volumeId" type:"string"`
  38330. // The size of the volume, in GiB.
  38331. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  38332. }
  38333. // String returns the string representation
  38334. func (s Snapshot) String() string {
  38335. return awsutil.Prettify(s)
  38336. }
  38337. // GoString returns the string representation
  38338. func (s Snapshot) GoString() string {
  38339. return s.String()
  38340. }
  38341. // SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
  38342. func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
  38343. s.DataEncryptionKeyId = &v
  38344. return s
  38345. }
  38346. // SetDescription sets the Description field's value.
  38347. func (s *Snapshot) SetDescription(v string) *Snapshot {
  38348. s.Description = &v
  38349. return s
  38350. }
  38351. // SetEncrypted sets the Encrypted field's value.
  38352. func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
  38353. s.Encrypted = &v
  38354. return s
  38355. }
  38356. // SetKmsKeyId sets the KmsKeyId field's value.
  38357. func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
  38358. s.KmsKeyId = &v
  38359. return s
  38360. }
  38361. // SetOwnerAlias sets the OwnerAlias field's value.
  38362. func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
  38363. s.OwnerAlias = &v
  38364. return s
  38365. }
  38366. // SetOwnerId sets the OwnerId field's value.
  38367. func (s *Snapshot) SetOwnerId(v string) *Snapshot {
  38368. s.OwnerId = &v
  38369. return s
  38370. }
  38371. // SetProgress sets the Progress field's value.
  38372. func (s *Snapshot) SetProgress(v string) *Snapshot {
  38373. s.Progress = &v
  38374. return s
  38375. }
  38376. // SetSnapshotId sets the SnapshotId field's value.
  38377. func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
  38378. s.SnapshotId = &v
  38379. return s
  38380. }
  38381. // SetStartTime sets the StartTime field's value.
  38382. func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
  38383. s.StartTime = &v
  38384. return s
  38385. }
  38386. // SetState sets the State field's value.
  38387. func (s *Snapshot) SetState(v string) *Snapshot {
  38388. s.State = &v
  38389. return s
  38390. }
  38391. // SetStateMessage sets the StateMessage field's value.
  38392. func (s *Snapshot) SetStateMessage(v string) *Snapshot {
  38393. s.StateMessage = &v
  38394. return s
  38395. }
  38396. // SetTags sets the Tags field's value.
  38397. func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
  38398. s.Tags = v
  38399. return s
  38400. }
  38401. // SetVolumeId sets the VolumeId field's value.
  38402. func (s *Snapshot) SetVolumeId(v string) *Snapshot {
  38403. s.VolumeId = &v
  38404. return s
  38405. }
  38406. // SetVolumeSize sets the VolumeSize field's value.
  38407. func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
  38408. s.VolumeSize = &v
  38409. return s
  38410. }
  38411. // Describes the snapshot created from the imported disk.
  38412. type SnapshotDetail struct {
  38413. _ struct{} `type:"structure"`
  38414. // A description for the snapshot.
  38415. Description *string `locationName:"description" type:"string"`
  38416. // The block device mapping for the snapshot.
  38417. DeviceName *string `locationName:"deviceName" type:"string"`
  38418. // The size of the disk in the snapshot, in GiB.
  38419. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  38420. // The format of the disk image from which the snapshot is created.
  38421. Format *string `locationName:"format" type:"string"`
  38422. // The percentage of progress for the task.
  38423. Progress *string `locationName:"progress" type:"string"`
  38424. // The snapshot ID of the disk being imported.
  38425. SnapshotId *string `locationName:"snapshotId" type:"string"`
  38426. // A brief status of the snapshot creation.
  38427. Status *string `locationName:"status" type:"string"`
  38428. // A detailed status message for the snapshot creation.
  38429. StatusMessage *string `locationName:"statusMessage" type:"string"`
  38430. // The URL used to access the disk image.
  38431. Url *string `locationName:"url" type:"string"`
  38432. // The S3 bucket for the disk image.
  38433. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  38434. }
  38435. // String returns the string representation
  38436. func (s SnapshotDetail) String() string {
  38437. return awsutil.Prettify(s)
  38438. }
  38439. // GoString returns the string representation
  38440. func (s SnapshotDetail) GoString() string {
  38441. return s.String()
  38442. }
  38443. // SetDescription sets the Description field's value.
  38444. func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
  38445. s.Description = &v
  38446. return s
  38447. }
  38448. // SetDeviceName sets the DeviceName field's value.
  38449. func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
  38450. s.DeviceName = &v
  38451. return s
  38452. }
  38453. // SetDiskImageSize sets the DiskImageSize field's value.
  38454. func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
  38455. s.DiskImageSize = &v
  38456. return s
  38457. }
  38458. // SetFormat sets the Format field's value.
  38459. func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
  38460. s.Format = &v
  38461. return s
  38462. }
  38463. // SetProgress sets the Progress field's value.
  38464. func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
  38465. s.Progress = &v
  38466. return s
  38467. }
  38468. // SetSnapshotId sets the SnapshotId field's value.
  38469. func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
  38470. s.SnapshotId = &v
  38471. return s
  38472. }
  38473. // SetStatus sets the Status field's value.
  38474. func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
  38475. s.Status = &v
  38476. return s
  38477. }
  38478. // SetStatusMessage sets the StatusMessage field's value.
  38479. func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
  38480. s.StatusMessage = &v
  38481. return s
  38482. }
  38483. // SetUrl sets the Url field's value.
  38484. func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
  38485. s.Url = &v
  38486. return s
  38487. }
  38488. // SetUserBucket sets the UserBucket field's value.
  38489. func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
  38490. s.UserBucket = v
  38491. return s
  38492. }
  38493. // The disk container object for the import snapshot request.
  38494. type SnapshotDiskContainer struct {
  38495. _ struct{} `type:"structure"`
  38496. // The description of the disk image being imported.
  38497. Description *string `type:"string"`
  38498. // The format of the disk image being imported.
  38499. //
  38500. // Valid values: RAW | VHD | VMDK | OVA
  38501. Format *string `type:"string"`
  38502. // The URL to the Amazon S3-based disk image being imported. It can either be
  38503. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  38504. Url *string `type:"string"`
  38505. // The S3 bucket for the disk image.
  38506. UserBucket *UserBucket `type:"structure"`
  38507. }
  38508. // String returns the string representation
  38509. func (s SnapshotDiskContainer) String() string {
  38510. return awsutil.Prettify(s)
  38511. }
  38512. // GoString returns the string representation
  38513. func (s SnapshotDiskContainer) GoString() string {
  38514. return s.String()
  38515. }
  38516. // SetDescription sets the Description field's value.
  38517. func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
  38518. s.Description = &v
  38519. return s
  38520. }
  38521. // SetFormat sets the Format field's value.
  38522. func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
  38523. s.Format = &v
  38524. return s
  38525. }
  38526. // SetUrl sets the Url field's value.
  38527. func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
  38528. s.Url = &v
  38529. return s
  38530. }
  38531. // SetUserBucket sets the UserBucket field's value.
  38532. func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
  38533. s.UserBucket = v
  38534. return s
  38535. }
  38536. // Details about the import snapshot task.
  38537. type SnapshotTaskDetail struct {
  38538. _ struct{} `type:"structure"`
  38539. // The description of the snapshot.
  38540. Description *string `locationName:"description" type:"string"`
  38541. // The size of the disk in the snapshot, in GiB.
  38542. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  38543. // The format of the disk image from which the snapshot is created.
  38544. Format *string `locationName:"format" type:"string"`
  38545. // The percentage of completion for the import snapshot task.
  38546. Progress *string `locationName:"progress" type:"string"`
  38547. // The snapshot ID of the disk being imported.
  38548. SnapshotId *string `locationName:"snapshotId" type:"string"`
  38549. // A brief status for the import snapshot task.
  38550. Status *string `locationName:"status" type:"string"`
  38551. // A detailed status message for the import snapshot task.
  38552. StatusMessage *string `locationName:"statusMessage" type:"string"`
  38553. // The URL of the disk image from which the snapshot is created.
  38554. Url *string `locationName:"url" type:"string"`
  38555. // The S3 bucket for the disk image.
  38556. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  38557. }
  38558. // String returns the string representation
  38559. func (s SnapshotTaskDetail) String() string {
  38560. return awsutil.Prettify(s)
  38561. }
  38562. // GoString returns the string representation
  38563. func (s SnapshotTaskDetail) GoString() string {
  38564. return s.String()
  38565. }
  38566. // SetDescription sets the Description field's value.
  38567. func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
  38568. s.Description = &v
  38569. return s
  38570. }
  38571. // SetDiskImageSize sets the DiskImageSize field's value.
  38572. func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
  38573. s.DiskImageSize = &v
  38574. return s
  38575. }
  38576. // SetFormat sets the Format field's value.
  38577. func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
  38578. s.Format = &v
  38579. return s
  38580. }
  38581. // SetProgress sets the Progress field's value.
  38582. func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
  38583. s.Progress = &v
  38584. return s
  38585. }
  38586. // SetSnapshotId sets the SnapshotId field's value.
  38587. func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
  38588. s.SnapshotId = &v
  38589. return s
  38590. }
  38591. // SetStatus sets the Status field's value.
  38592. func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
  38593. s.Status = &v
  38594. return s
  38595. }
  38596. // SetStatusMessage sets the StatusMessage field's value.
  38597. func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
  38598. s.StatusMessage = &v
  38599. return s
  38600. }
  38601. // SetUrl sets the Url field's value.
  38602. func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
  38603. s.Url = &v
  38604. return s
  38605. }
  38606. // SetUserBucket sets the UserBucket field's value.
  38607. func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
  38608. s.UserBucket = v
  38609. return s
  38610. }
  38611. // Describes the data feed for a Spot instance.
  38612. type SpotDatafeedSubscription struct {
  38613. _ struct{} `type:"structure"`
  38614. // The Amazon S3 bucket where the Spot instance data feed is located.
  38615. Bucket *string `locationName:"bucket" type:"string"`
  38616. // The fault codes for the Spot instance request, if any.
  38617. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  38618. // The AWS account ID of the account.
  38619. OwnerId *string `locationName:"ownerId" type:"string"`
  38620. // The prefix that is prepended to data feed files.
  38621. Prefix *string `locationName:"prefix" type:"string"`
  38622. // The state of the Spot instance data feed subscription.
  38623. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  38624. }
  38625. // String returns the string representation
  38626. func (s SpotDatafeedSubscription) String() string {
  38627. return awsutil.Prettify(s)
  38628. }
  38629. // GoString returns the string representation
  38630. func (s SpotDatafeedSubscription) GoString() string {
  38631. return s.String()
  38632. }
  38633. // SetBucket sets the Bucket field's value.
  38634. func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
  38635. s.Bucket = &v
  38636. return s
  38637. }
  38638. // SetFault sets the Fault field's value.
  38639. func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
  38640. s.Fault = v
  38641. return s
  38642. }
  38643. // SetOwnerId sets the OwnerId field's value.
  38644. func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
  38645. s.OwnerId = &v
  38646. return s
  38647. }
  38648. // SetPrefix sets the Prefix field's value.
  38649. func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
  38650. s.Prefix = &v
  38651. return s
  38652. }
  38653. // SetState sets the State field's value.
  38654. func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
  38655. s.State = &v
  38656. return s
  38657. }
  38658. // Describes the launch specification for one or more Spot instances.
  38659. type SpotFleetLaunchSpecification struct {
  38660. _ struct{} `type:"structure"`
  38661. // Deprecated.
  38662. AddressingType *string `locationName:"addressingType" type:"string"`
  38663. // One or more block device mapping entries.
  38664. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  38665. // Indicates whether the instances are optimized for EBS I/O. This optimization
  38666. // provides dedicated throughput to Amazon EBS and an optimized configuration
  38667. // stack to provide optimal EBS I/O performance. This optimization isn't available
  38668. // with all instance types. Additional usage charges apply when using an EBS
  38669. // Optimized instance.
  38670. //
  38671. // Default: false
  38672. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  38673. // The IAM instance profile.
  38674. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  38675. // The ID of the AMI.
  38676. ImageId *string `locationName:"imageId" type:"string"`
  38677. // The instance type.
  38678. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  38679. // The ID of the kernel.
  38680. KernelId *string `locationName:"kernelId" type:"string"`
  38681. // The name of the key pair.
  38682. KeyName *string `locationName:"keyName" type:"string"`
  38683. // Enable or disable monitoring for the instances.
  38684. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  38685. // One or more network interfaces.
  38686. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  38687. // The placement information.
  38688. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  38689. // The ID of the RAM disk.
  38690. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  38691. // One or more security groups. When requesting instances in a VPC, you must
  38692. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  38693. // you can specify the names or the IDs of the security groups.
  38694. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  38695. // The bid price per unit hour for the specified instance type. If this value
  38696. // is not specified, the default is the Spot bid price specified for the fleet.
  38697. // To determine the bid price per unit hour, divide the Spot bid price by the
  38698. // value of WeightedCapacity.
  38699. SpotPrice *string `locationName:"spotPrice" type:"string"`
  38700. // The ID of the subnet in which to launch the instances. To specify multiple
  38701. // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
  38702. SubnetId *string `locationName:"subnetId" type:"string"`
  38703. // The user data to make available to the instances. If you are using an AWS
  38704. // SDK or command line tool, Base64-encoding is performed for you, and you can
  38705. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  38706. UserData *string `locationName:"userData" type:"string"`
  38707. // The number of units provided by the specified instance type. These are the
  38708. // same units that you chose to set the target capacity in terms (instances
  38709. // or a performance characteristic such as vCPUs, memory, or I/O).
  38710. //
  38711. // If the target capacity divided by this value is not a whole number, we round
  38712. // the number of instances to the next whole number. If this value is not specified,
  38713. // the default is 1.
  38714. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  38715. }
  38716. // String returns the string representation
  38717. func (s SpotFleetLaunchSpecification) String() string {
  38718. return awsutil.Prettify(s)
  38719. }
  38720. // GoString returns the string representation
  38721. func (s SpotFleetLaunchSpecification) GoString() string {
  38722. return s.String()
  38723. }
  38724. // Validate inspects the fields of the type to determine if they are valid.
  38725. func (s *SpotFleetLaunchSpecification) Validate() error {
  38726. invalidParams := request.ErrInvalidParams{Context: "SpotFleetLaunchSpecification"}
  38727. if s.NetworkInterfaces != nil {
  38728. for i, v := range s.NetworkInterfaces {
  38729. if v == nil {
  38730. continue
  38731. }
  38732. if err := v.Validate(); err != nil {
  38733. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  38734. }
  38735. }
  38736. }
  38737. if invalidParams.Len() > 0 {
  38738. return invalidParams
  38739. }
  38740. return nil
  38741. }
  38742. // SetAddressingType sets the AddressingType field's value.
  38743. func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
  38744. s.AddressingType = &v
  38745. return s
  38746. }
  38747. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  38748. func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
  38749. s.BlockDeviceMappings = v
  38750. return s
  38751. }
  38752. // SetEbsOptimized sets the EbsOptimized field's value.
  38753. func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
  38754. s.EbsOptimized = &v
  38755. return s
  38756. }
  38757. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  38758. func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
  38759. s.IamInstanceProfile = v
  38760. return s
  38761. }
  38762. // SetImageId sets the ImageId field's value.
  38763. func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
  38764. s.ImageId = &v
  38765. return s
  38766. }
  38767. // SetInstanceType sets the InstanceType field's value.
  38768. func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
  38769. s.InstanceType = &v
  38770. return s
  38771. }
  38772. // SetKernelId sets the KernelId field's value.
  38773. func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
  38774. s.KernelId = &v
  38775. return s
  38776. }
  38777. // SetKeyName sets the KeyName field's value.
  38778. func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
  38779. s.KeyName = &v
  38780. return s
  38781. }
  38782. // SetMonitoring sets the Monitoring field's value.
  38783. func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
  38784. s.Monitoring = v
  38785. return s
  38786. }
  38787. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  38788. func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
  38789. s.NetworkInterfaces = v
  38790. return s
  38791. }
  38792. // SetPlacement sets the Placement field's value.
  38793. func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
  38794. s.Placement = v
  38795. return s
  38796. }
  38797. // SetRamdiskId sets the RamdiskId field's value.
  38798. func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
  38799. s.RamdiskId = &v
  38800. return s
  38801. }
  38802. // SetSecurityGroups sets the SecurityGroups field's value.
  38803. func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
  38804. s.SecurityGroups = v
  38805. return s
  38806. }
  38807. // SetSpotPrice sets the SpotPrice field's value.
  38808. func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
  38809. s.SpotPrice = &v
  38810. return s
  38811. }
  38812. // SetSubnetId sets the SubnetId field's value.
  38813. func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
  38814. s.SubnetId = &v
  38815. return s
  38816. }
  38817. // SetUserData sets the UserData field's value.
  38818. func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
  38819. s.UserData = &v
  38820. return s
  38821. }
  38822. // SetWeightedCapacity sets the WeightedCapacity field's value.
  38823. func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
  38824. s.WeightedCapacity = &v
  38825. return s
  38826. }
  38827. // Describes whether monitoring is enabled.
  38828. type SpotFleetMonitoring struct {
  38829. _ struct{} `type:"structure"`
  38830. // Enables monitoring for the instance.
  38831. //
  38832. // Default: false
  38833. Enabled *bool `locationName:"enabled" type:"boolean"`
  38834. }
  38835. // String returns the string representation
  38836. func (s SpotFleetMonitoring) String() string {
  38837. return awsutil.Prettify(s)
  38838. }
  38839. // GoString returns the string representation
  38840. func (s SpotFleetMonitoring) GoString() string {
  38841. return s.String()
  38842. }
  38843. // SetEnabled sets the Enabled field's value.
  38844. func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
  38845. s.Enabled = &v
  38846. return s
  38847. }
  38848. // Describes a Spot fleet request.
  38849. type SpotFleetRequestConfig struct {
  38850. _ struct{} `type:"structure"`
  38851. // The progress of the Spot fleet request. If there is an error, the status
  38852. // is error. After all bids are placed, the status is pending_fulfillment. If
  38853. // the size of the fleet is equal to or greater than its target capacity, the
  38854. // status is fulfilled. If the size of the fleet is decreased, the status is
  38855. // pending_termination while Spot instances are terminating.
  38856. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
  38857. // The creation date and time of the request.
  38858. //
  38859. // CreateTime is a required field
  38860. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  38861. // Information about the configuration of the Spot fleet request.
  38862. //
  38863. // SpotFleetRequestConfig is a required field
  38864. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  38865. // The ID of the Spot fleet request.
  38866. //
  38867. // SpotFleetRequestId is a required field
  38868. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  38869. // The state of the Spot fleet request.
  38870. //
  38871. // SpotFleetRequestState is a required field
  38872. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  38873. }
  38874. // String returns the string representation
  38875. func (s SpotFleetRequestConfig) String() string {
  38876. return awsutil.Prettify(s)
  38877. }
  38878. // GoString returns the string representation
  38879. func (s SpotFleetRequestConfig) GoString() string {
  38880. return s.String()
  38881. }
  38882. // SetActivityStatus sets the ActivityStatus field's value.
  38883. func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
  38884. s.ActivityStatus = &v
  38885. return s
  38886. }
  38887. // SetCreateTime sets the CreateTime field's value.
  38888. func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
  38889. s.CreateTime = &v
  38890. return s
  38891. }
  38892. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  38893. func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
  38894. s.SpotFleetRequestConfig = v
  38895. return s
  38896. }
  38897. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  38898. func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
  38899. s.SpotFleetRequestId = &v
  38900. return s
  38901. }
  38902. // SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
  38903. func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
  38904. s.SpotFleetRequestState = &v
  38905. return s
  38906. }
  38907. // Describes the configuration of a Spot fleet request.
  38908. type SpotFleetRequestConfigData struct {
  38909. _ struct{} `type:"structure"`
  38910. // Indicates how to allocate the target capacity across the Spot pools specified
  38911. // by the Spot fleet request. The default is lowestPrice.
  38912. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
  38913. // A unique, case-sensitive identifier you provide to ensure idempotency of
  38914. // your listings. This helps avoid duplicate listings. For more information,
  38915. // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  38916. ClientToken *string `locationName:"clientToken" type:"string"`
  38917. // Indicates whether running Spot instances should be terminated if the target
  38918. // capacity of the Spot fleet request is decreased below the current size of
  38919. // the Spot fleet.
  38920. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  38921. // The number of units fulfilled by this request compared to the set target
  38922. // capacity.
  38923. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  38924. // Grants the Spot fleet permission to terminate Spot instances on your behalf
  38925. // when you cancel its Spot fleet request using CancelSpotFleetRequests or when
  38926. // the Spot fleet request expires, if you set terminateInstancesWithExpiration.
  38927. //
  38928. // IamFleetRole is a required field
  38929. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  38930. // Information about the launch specifications for the Spot fleet request.
  38931. //
  38932. // LaunchSpecifications is a required field
  38933. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" min:"1" type:"list" required:"true"`
  38934. // The bid price per unit hour.
  38935. //
  38936. // SpotPrice is a required field
  38937. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  38938. // The number of units to request. You can choose to set the target capacity
  38939. // in terms of instances or a performance characteristic that is important to
  38940. // your application workload, such as vCPUs, memory, or I/O.
  38941. //
  38942. // TargetCapacity is a required field
  38943. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  38944. // Indicates whether running Spot instances should be terminated when the Spot
  38945. // fleet request expires.
  38946. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  38947. // The type of request. Indicates whether the fleet will only request the target
  38948. // capacity or also attempt to maintain it. When you request a certain target
  38949. // capacity, the fleet will only place the required bids. It will not attempt
  38950. // to replenish Spot instances if capacity is diminished, nor will it submit
  38951. // bids in alternative Spot pools if capacity is not available. When you want
  38952. // to maintain a certain target capacity, fleet will place the required bids
  38953. // to meet this target capacity. It will also automatically replenish any interrupted
  38954. // instances. Default: maintain.
  38955. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  38956. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  38957. // The default is to start fulfilling the request immediately.
  38958. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  38959. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  38960. // At this point, no new Spot instance requests are placed or enabled to fulfill
  38961. // the request.
  38962. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  38963. }
  38964. // String returns the string representation
  38965. func (s SpotFleetRequestConfigData) String() string {
  38966. return awsutil.Prettify(s)
  38967. }
  38968. // GoString returns the string representation
  38969. func (s SpotFleetRequestConfigData) GoString() string {
  38970. return s.String()
  38971. }
  38972. // Validate inspects the fields of the type to determine if they are valid.
  38973. func (s *SpotFleetRequestConfigData) Validate() error {
  38974. invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
  38975. if s.IamFleetRole == nil {
  38976. invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
  38977. }
  38978. if s.LaunchSpecifications == nil {
  38979. invalidParams.Add(request.NewErrParamRequired("LaunchSpecifications"))
  38980. }
  38981. if s.LaunchSpecifications != nil && len(s.LaunchSpecifications) < 1 {
  38982. invalidParams.Add(request.NewErrParamMinLen("LaunchSpecifications", 1))
  38983. }
  38984. if s.SpotPrice == nil {
  38985. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  38986. }
  38987. if s.TargetCapacity == nil {
  38988. invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
  38989. }
  38990. if s.LaunchSpecifications != nil {
  38991. for i, v := range s.LaunchSpecifications {
  38992. if v == nil {
  38993. continue
  38994. }
  38995. if err := v.Validate(); err != nil {
  38996. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchSpecifications", i), err.(request.ErrInvalidParams))
  38997. }
  38998. }
  38999. }
  39000. if invalidParams.Len() > 0 {
  39001. return invalidParams
  39002. }
  39003. return nil
  39004. }
  39005. // SetAllocationStrategy sets the AllocationStrategy field's value.
  39006. func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
  39007. s.AllocationStrategy = &v
  39008. return s
  39009. }
  39010. // SetClientToken sets the ClientToken field's value.
  39011. func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
  39012. s.ClientToken = &v
  39013. return s
  39014. }
  39015. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  39016. func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
  39017. s.ExcessCapacityTerminationPolicy = &v
  39018. return s
  39019. }
  39020. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  39021. func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  39022. s.FulfilledCapacity = &v
  39023. return s
  39024. }
  39025. // SetIamFleetRole sets the IamFleetRole field's value.
  39026. func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
  39027. s.IamFleetRole = &v
  39028. return s
  39029. }
  39030. // SetLaunchSpecifications sets the LaunchSpecifications field's value.
  39031. func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
  39032. s.LaunchSpecifications = v
  39033. return s
  39034. }
  39035. // SetSpotPrice sets the SpotPrice field's value.
  39036. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
  39037. s.SpotPrice = &v
  39038. return s
  39039. }
  39040. // SetTargetCapacity sets the TargetCapacity field's value.
  39041. func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
  39042. s.TargetCapacity = &v
  39043. return s
  39044. }
  39045. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  39046. func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
  39047. s.TerminateInstancesWithExpiration = &v
  39048. return s
  39049. }
  39050. // SetType sets the Type field's value.
  39051. func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
  39052. s.Type = &v
  39053. return s
  39054. }
  39055. // SetValidFrom sets the ValidFrom field's value.
  39056. func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
  39057. s.ValidFrom = &v
  39058. return s
  39059. }
  39060. // SetValidUntil sets the ValidUntil field's value.
  39061. func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
  39062. s.ValidUntil = &v
  39063. return s
  39064. }
  39065. // Describes a Spot instance request.
  39066. type SpotInstanceRequest struct {
  39067. _ struct{} `type:"structure"`
  39068. // If you specified a duration and your Spot instance request was fulfilled,
  39069. // this is the fixed hourly price in effect for the Spot instance while it runs.
  39070. ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
  39071. // The Availability Zone group. If you specify the same Availability Zone group
  39072. // for all Spot instance requests, all Spot instances are launched in the same
  39073. // Availability Zone.
  39074. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  39075. // The duration for the Spot instance, in minutes.
  39076. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  39077. // The date and time when the Spot instance request was created, in UTC format
  39078. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  39079. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  39080. // The fault codes for the Spot instance request, if any.
  39081. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  39082. // The instance ID, if an instance has been launched to fulfill the Spot instance
  39083. // request.
  39084. InstanceId *string `locationName:"instanceId" type:"string"`
  39085. // The instance launch group. Launch groups are Spot instances that launch together
  39086. // and terminate together.
  39087. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  39088. // Additional information for launching instances.
  39089. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  39090. // The Availability Zone in which the bid is launched.
  39091. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  39092. // The product description associated with the Spot instance.
  39093. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  39094. // The ID of the Spot instance request.
  39095. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  39096. // The maximum hourly price (bid) for the Spot instance launched to fulfill
  39097. // the request.
  39098. SpotPrice *string `locationName:"spotPrice" type:"string"`
  39099. // The state of the Spot instance request. Spot bid status information can help
  39100. // you track your Spot instance requests. For more information, see Spot Bid
  39101. // Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  39102. // in the Amazon Elastic Compute Cloud User Guide.
  39103. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  39104. // The status code and status message describing the Spot instance request.
  39105. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  39106. // Any tags assigned to the resource.
  39107. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  39108. // The Spot instance request type.
  39109. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  39110. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  39111. // The request becomes active at this date and time.
  39112. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  39113. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  39114. // If this is a one-time request, it remains active until all instances launch,
  39115. // the request is canceled, or this date is reached. If the request is persistent,
  39116. // it remains active until it is canceled or this date is reached.
  39117. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  39118. }
  39119. // String returns the string representation
  39120. func (s SpotInstanceRequest) String() string {
  39121. return awsutil.Prettify(s)
  39122. }
  39123. // GoString returns the string representation
  39124. func (s SpotInstanceRequest) GoString() string {
  39125. return s.String()
  39126. }
  39127. // SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
  39128. func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
  39129. s.ActualBlockHourlyPrice = &v
  39130. return s
  39131. }
  39132. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  39133. func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
  39134. s.AvailabilityZoneGroup = &v
  39135. return s
  39136. }
  39137. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  39138. func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
  39139. s.BlockDurationMinutes = &v
  39140. return s
  39141. }
  39142. // SetCreateTime sets the CreateTime field's value.
  39143. func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
  39144. s.CreateTime = &v
  39145. return s
  39146. }
  39147. // SetFault sets the Fault field's value.
  39148. func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
  39149. s.Fault = v
  39150. return s
  39151. }
  39152. // SetInstanceId sets the InstanceId field's value.
  39153. func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
  39154. s.InstanceId = &v
  39155. return s
  39156. }
  39157. // SetLaunchGroup sets the LaunchGroup field's value.
  39158. func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
  39159. s.LaunchGroup = &v
  39160. return s
  39161. }
  39162. // SetLaunchSpecification sets the LaunchSpecification field's value.
  39163. func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
  39164. s.LaunchSpecification = v
  39165. return s
  39166. }
  39167. // SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
  39168. func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
  39169. s.LaunchedAvailabilityZone = &v
  39170. return s
  39171. }
  39172. // SetProductDescription sets the ProductDescription field's value.
  39173. func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
  39174. s.ProductDescription = &v
  39175. return s
  39176. }
  39177. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  39178. func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
  39179. s.SpotInstanceRequestId = &v
  39180. return s
  39181. }
  39182. // SetSpotPrice sets the SpotPrice field's value.
  39183. func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
  39184. s.SpotPrice = &v
  39185. return s
  39186. }
  39187. // SetState sets the State field's value.
  39188. func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
  39189. s.State = &v
  39190. return s
  39191. }
  39192. // SetStatus sets the Status field's value.
  39193. func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
  39194. s.Status = v
  39195. return s
  39196. }
  39197. // SetTags sets the Tags field's value.
  39198. func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
  39199. s.Tags = v
  39200. return s
  39201. }
  39202. // SetType sets the Type field's value.
  39203. func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
  39204. s.Type = &v
  39205. return s
  39206. }
  39207. // SetValidFrom sets the ValidFrom field's value.
  39208. func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
  39209. s.ValidFrom = &v
  39210. return s
  39211. }
  39212. // SetValidUntil sets the ValidUntil field's value.
  39213. func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
  39214. s.ValidUntil = &v
  39215. return s
  39216. }
  39217. // Describes a Spot instance state change.
  39218. type SpotInstanceStateFault struct {
  39219. _ struct{} `type:"structure"`
  39220. // The reason code for the Spot instance state change.
  39221. Code *string `locationName:"code" type:"string"`
  39222. // The message for the Spot instance state change.
  39223. Message *string `locationName:"message" type:"string"`
  39224. }
  39225. // String returns the string representation
  39226. func (s SpotInstanceStateFault) String() string {
  39227. return awsutil.Prettify(s)
  39228. }
  39229. // GoString returns the string representation
  39230. func (s SpotInstanceStateFault) GoString() string {
  39231. return s.String()
  39232. }
  39233. // SetCode sets the Code field's value.
  39234. func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
  39235. s.Code = &v
  39236. return s
  39237. }
  39238. // SetMessage sets the Message field's value.
  39239. func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
  39240. s.Message = &v
  39241. return s
  39242. }
  39243. // Describes the status of a Spot instance request.
  39244. type SpotInstanceStatus struct {
  39245. _ struct{} `type:"structure"`
  39246. // 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)
  39247. // in the Amazon Elastic Compute Cloud User Guide.
  39248. Code *string `locationName:"code" type:"string"`
  39249. // The description for the status code.
  39250. Message *string `locationName:"message" type:"string"`
  39251. // The date and time of the most recent status update, in UTC format (for example,
  39252. // YYYY-MM-DDTHH:MM:SSZ).
  39253. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  39254. }
  39255. // String returns the string representation
  39256. func (s SpotInstanceStatus) String() string {
  39257. return awsutil.Prettify(s)
  39258. }
  39259. // GoString returns the string representation
  39260. func (s SpotInstanceStatus) GoString() string {
  39261. return s.String()
  39262. }
  39263. // SetCode sets the Code field's value.
  39264. func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
  39265. s.Code = &v
  39266. return s
  39267. }
  39268. // SetMessage sets the Message field's value.
  39269. func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
  39270. s.Message = &v
  39271. return s
  39272. }
  39273. // SetUpdateTime sets the UpdateTime field's value.
  39274. func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
  39275. s.UpdateTime = &v
  39276. return s
  39277. }
  39278. // Describes Spot instance placement.
  39279. type SpotPlacement struct {
  39280. _ struct{} `type:"structure"`
  39281. // The Availability Zone.
  39282. //
  39283. // [Spot fleet only] To specify multiple Availability Zones, separate them using
  39284. // commas; for example, "us-west-2a, us-west-2b".
  39285. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  39286. // The name of the placement group (for cluster instances).
  39287. GroupName *string `locationName:"groupName" type:"string"`
  39288. }
  39289. // String returns the string representation
  39290. func (s SpotPlacement) String() string {
  39291. return awsutil.Prettify(s)
  39292. }
  39293. // GoString returns the string representation
  39294. func (s SpotPlacement) GoString() string {
  39295. return s.String()
  39296. }
  39297. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39298. func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
  39299. s.AvailabilityZone = &v
  39300. return s
  39301. }
  39302. // SetGroupName sets the GroupName field's value.
  39303. func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
  39304. s.GroupName = &v
  39305. return s
  39306. }
  39307. // Describes the maximum hourly price (bid) for any Spot instance launched to
  39308. // fulfill the request.
  39309. type SpotPrice struct {
  39310. _ struct{} `type:"structure"`
  39311. // The Availability Zone.
  39312. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  39313. // The instance type.
  39314. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  39315. // A general description of the AMI.
  39316. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  39317. // The maximum price (bid) that you are willing to pay for a Spot instance.
  39318. SpotPrice *string `locationName:"spotPrice" type:"string"`
  39319. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  39320. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  39321. }
  39322. // String returns the string representation
  39323. func (s SpotPrice) String() string {
  39324. return awsutil.Prettify(s)
  39325. }
  39326. // GoString returns the string representation
  39327. func (s SpotPrice) GoString() string {
  39328. return s.String()
  39329. }
  39330. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39331. func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
  39332. s.AvailabilityZone = &v
  39333. return s
  39334. }
  39335. // SetInstanceType sets the InstanceType field's value.
  39336. func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
  39337. s.InstanceType = &v
  39338. return s
  39339. }
  39340. // SetProductDescription sets the ProductDescription field's value.
  39341. func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
  39342. s.ProductDescription = &v
  39343. return s
  39344. }
  39345. // SetSpotPrice sets the SpotPrice field's value.
  39346. func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
  39347. s.SpotPrice = &v
  39348. return s
  39349. }
  39350. // SetTimestamp sets the Timestamp field's value.
  39351. func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
  39352. s.Timestamp = &v
  39353. return s
  39354. }
  39355. // Describes a stale rule in a security group.
  39356. type StaleIpPermission struct {
  39357. _ struct{} `type:"structure"`
  39358. // The start of the port range for the TCP and UDP protocols, or an ICMP type
  39359. // number. A value of -1 indicates all ICMP types.
  39360. FromPort *int64 `locationName:"fromPort" type:"integer"`
  39361. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
  39362. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  39363. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  39364. // One or more IP ranges. Not applicable for stale security group rules.
  39365. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
  39366. // One or more prefix list IDs for an AWS service. Not applicable for stale
  39367. // security group rules.
  39368. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  39369. // The end of the port range for the TCP and UDP protocols, or an ICMP type
  39370. // number. A value of -1 indicates all ICMP types.
  39371. ToPort *int64 `locationName:"toPort" type:"integer"`
  39372. // One or more security group pairs. Returns the ID of the referenced security
  39373. // group and VPC, and the ID and status of the VPC peering connection.
  39374. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  39375. }
  39376. // String returns the string representation
  39377. func (s StaleIpPermission) String() string {
  39378. return awsutil.Prettify(s)
  39379. }
  39380. // GoString returns the string representation
  39381. func (s StaleIpPermission) GoString() string {
  39382. return s.String()
  39383. }
  39384. // SetFromPort sets the FromPort field's value.
  39385. func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
  39386. s.FromPort = &v
  39387. return s
  39388. }
  39389. // SetIpProtocol sets the IpProtocol field's value.
  39390. func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
  39391. s.IpProtocol = &v
  39392. return s
  39393. }
  39394. // SetIpRanges sets the IpRanges field's value.
  39395. func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
  39396. s.IpRanges = v
  39397. return s
  39398. }
  39399. // SetPrefixListIds sets the PrefixListIds field's value.
  39400. func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
  39401. s.PrefixListIds = v
  39402. return s
  39403. }
  39404. // SetToPort sets the ToPort field's value.
  39405. func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
  39406. s.ToPort = &v
  39407. return s
  39408. }
  39409. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  39410. func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
  39411. s.UserIdGroupPairs = v
  39412. return s
  39413. }
  39414. // Describes a stale security group (a security group that contains stale rules).
  39415. type StaleSecurityGroup struct {
  39416. _ struct{} `type:"structure"`
  39417. // The description of the security group.
  39418. Description *string `locationName:"description" type:"string"`
  39419. // The ID of the security group.
  39420. //
  39421. // GroupId is a required field
  39422. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  39423. // The name of the security group.
  39424. GroupName *string `locationName:"groupName" type:"string"`
  39425. // Information about the stale inbound rules in the security group.
  39426. StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
  39427. // Information about the stale outbound rules in the security group.
  39428. StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
  39429. // The ID of the VPC for the security group.
  39430. VpcId *string `locationName:"vpcId" type:"string"`
  39431. }
  39432. // String returns the string representation
  39433. func (s StaleSecurityGroup) String() string {
  39434. return awsutil.Prettify(s)
  39435. }
  39436. // GoString returns the string representation
  39437. func (s StaleSecurityGroup) GoString() string {
  39438. return s.String()
  39439. }
  39440. // SetDescription sets the Description field's value.
  39441. func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
  39442. s.Description = &v
  39443. return s
  39444. }
  39445. // SetGroupId sets the GroupId field's value.
  39446. func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
  39447. s.GroupId = &v
  39448. return s
  39449. }
  39450. // SetGroupName sets the GroupName field's value.
  39451. func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
  39452. s.GroupName = &v
  39453. return s
  39454. }
  39455. // SetStaleIpPermissions sets the StaleIpPermissions field's value.
  39456. func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
  39457. s.StaleIpPermissions = v
  39458. return s
  39459. }
  39460. // SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
  39461. func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
  39462. s.StaleIpPermissionsEgress = v
  39463. return s
  39464. }
  39465. // SetVpcId sets the VpcId field's value.
  39466. func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
  39467. s.VpcId = &v
  39468. return s
  39469. }
  39470. // Contains the parameters for StartInstances.
  39471. type StartInstancesInput struct {
  39472. _ struct{} `type:"structure"`
  39473. // Reserved.
  39474. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  39475. // Checks whether you have the required permissions for the action, without
  39476. // actually making the request, and provides an error response. If you have
  39477. // the required permissions, the error response is DryRunOperation. Otherwise,
  39478. // it is UnauthorizedOperation.
  39479. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39480. // One or more instance IDs.
  39481. //
  39482. // InstanceIds is a required field
  39483. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  39484. }
  39485. // String returns the string representation
  39486. func (s StartInstancesInput) String() string {
  39487. return awsutil.Prettify(s)
  39488. }
  39489. // GoString returns the string representation
  39490. func (s StartInstancesInput) GoString() string {
  39491. return s.String()
  39492. }
  39493. // Validate inspects the fields of the type to determine if they are valid.
  39494. func (s *StartInstancesInput) Validate() error {
  39495. invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
  39496. if s.InstanceIds == nil {
  39497. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  39498. }
  39499. if invalidParams.Len() > 0 {
  39500. return invalidParams
  39501. }
  39502. return nil
  39503. }
  39504. // SetAdditionalInfo sets the AdditionalInfo field's value.
  39505. func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
  39506. s.AdditionalInfo = &v
  39507. return s
  39508. }
  39509. // SetDryRun sets the DryRun field's value.
  39510. func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
  39511. s.DryRun = &v
  39512. return s
  39513. }
  39514. // SetInstanceIds sets the InstanceIds field's value.
  39515. func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
  39516. s.InstanceIds = v
  39517. return s
  39518. }
  39519. // Contains the output of StartInstances.
  39520. type StartInstancesOutput struct {
  39521. _ struct{} `type:"structure"`
  39522. // Information about one or more started instances.
  39523. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  39524. }
  39525. // String returns the string representation
  39526. func (s StartInstancesOutput) String() string {
  39527. return awsutil.Prettify(s)
  39528. }
  39529. // GoString returns the string representation
  39530. func (s StartInstancesOutput) GoString() string {
  39531. return s.String()
  39532. }
  39533. // SetStartingInstances sets the StartingInstances field's value.
  39534. func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
  39535. s.StartingInstances = v
  39536. return s
  39537. }
  39538. // Describes a state change.
  39539. type StateReason struct {
  39540. _ struct{} `type:"structure"`
  39541. // The reason code for the state change.
  39542. Code *string `locationName:"code" type:"string"`
  39543. // The message for the state change.
  39544. //
  39545. // * Server.SpotInstanceTermination: A Spot instance was terminated due to
  39546. // an increase in the market price.
  39547. //
  39548. // * Server.InternalError: An internal error occurred during instance launch,
  39549. // resulting in termination.
  39550. //
  39551. // * Server.InsufficientInstanceCapacity: There was insufficient instance
  39552. // capacity to satisfy the launch request.
  39553. //
  39554. // * Client.InternalError: A client error caused the instance to terminate
  39555. // on launch.
  39556. //
  39557. // * Client.InstanceInitiatedShutdown: The instance was shut down using the
  39558. // shutdown -h command from the instance.
  39559. //
  39560. // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  39561. // EC2 API.
  39562. //
  39563. // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
  39564. // total storage was exceeded. Decrease usage or request an increase in your
  39565. // limits.
  39566. //
  39567. // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  39568. Message *string `locationName:"message" type:"string"`
  39569. }
  39570. // String returns the string representation
  39571. func (s StateReason) String() string {
  39572. return awsutil.Prettify(s)
  39573. }
  39574. // GoString returns the string representation
  39575. func (s StateReason) GoString() string {
  39576. return s.String()
  39577. }
  39578. // SetCode sets the Code field's value.
  39579. func (s *StateReason) SetCode(v string) *StateReason {
  39580. s.Code = &v
  39581. return s
  39582. }
  39583. // SetMessage sets the Message field's value.
  39584. func (s *StateReason) SetMessage(v string) *StateReason {
  39585. s.Message = &v
  39586. return s
  39587. }
  39588. // Contains the parameters for StopInstances.
  39589. type StopInstancesInput struct {
  39590. _ struct{} `type:"structure"`
  39591. // Checks whether you have the required permissions for the action, without
  39592. // actually making the request, and provides an error response. If you have
  39593. // the required permissions, the error response is DryRunOperation. Otherwise,
  39594. // it is UnauthorizedOperation.
  39595. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39596. // Forces the instances to stop. The instances do not have an opportunity to
  39597. // flush file system caches or file system metadata. If you use this option,
  39598. // you must perform file system check and repair procedures. This option is
  39599. // not recommended for Windows instances.
  39600. //
  39601. // Default: false
  39602. Force *bool `locationName:"force" type:"boolean"`
  39603. // One or more instance IDs.
  39604. //
  39605. // InstanceIds is a required field
  39606. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  39607. }
  39608. // String returns the string representation
  39609. func (s StopInstancesInput) String() string {
  39610. return awsutil.Prettify(s)
  39611. }
  39612. // GoString returns the string representation
  39613. func (s StopInstancesInput) GoString() string {
  39614. return s.String()
  39615. }
  39616. // Validate inspects the fields of the type to determine if they are valid.
  39617. func (s *StopInstancesInput) Validate() error {
  39618. invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
  39619. if s.InstanceIds == nil {
  39620. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  39621. }
  39622. if invalidParams.Len() > 0 {
  39623. return invalidParams
  39624. }
  39625. return nil
  39626. }
  39627. // SetDryRun sets the DryRun field's value.
  39628. func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
  39629. s.DryRun = &v
  39630. return s
  39631. }
  39632. // SetForce sets the Force field's value.
  39633. func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
  39634. s.Force = &v
  39635. return s
  39636. }
  39637. // SetInstanceIds sets the InstanceIds field's value.
  39638. func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
  39639. s.InstanceIds = v
  39640. return s
  39641. }
  39642. // Contains the output of StopInstances.
  39643. type StopInstancesOutput struct {
  39644. _ struct{} `type:"structure"`
  39645. // Information about one or more stopped instances.
  39646. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  39647. }
  39648. // String returns the string representation
  39649. func (s StopInstancesOutput) String() string {
  39650. return awsutil.Prettify(s)
  39651. }
  39652. // GoString returns the string representation
  39653. func (s StopInstancesOutput) GoString() string {
  39654. return s.String()
  39655. }
  39656. // SetStoppingInstances sets the StoppingInstances field's value.
  39657. func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
  39658. s.StoppingInstances = v
  39659. return s
  39660. }
  39661. // Describes the storage location for an instance store-backed AMI.
  39662. type Storage struct {
  39663. _ struct{} `type:"structure"`
  39664. // An Amazon S3 storage location.
  39665. S3 *S3Storage `type:"structure"`
  39666. }
  39667. // String returns the string representation
  39668. func (s Storage) String() string {
  39669. return awsutil.Prettify(s)
  39670. }
  39671. // GoString returns the string representation
  39672. func (s Storage) GoString() string {
  39673. return s.String()
  39674. }
  39675. // SetS3 sets the S3 field's value.
  39676. func (s *Storage) SetS3(v *S3Storage) *Storage {
  39677. s.S3 = v
  39678. return s
  39679. }
  39680. // Describes a subnet.
  39681. type Subnet struct {
  39682. _ struct{} `type:"structure"`
  39683. // The Availability Zone of the subnet.
  39684. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  39685. // The number of unused IP addresses in the subnet. Note that the IP addresses
  39686. // for any stopped instances are considered unavailable.
  39687. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  39688. // The CIDR block assigned to the subnet.
  39689. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  39690. // Indicates whether this is the default subnet for the Availability Zone.
  39691. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  39692. // Indicates whether instances launched in this subnet receive a public IP address.
  39693. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  39694. // The current state of the subnet.
  39695. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  39696. // The ID of the subnet.
  39697. SubnetId *string `locationName:"subnetId" type:"string"`
  39698. // Any tags assigned to the subnet.
  39699. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  39700. // The ID of the VPC the subnet is in.
  39701. VpcId *string `locationName:"vpcId" type:"string"`
  39702. }
  39703. // String returns the string representation
  39704. func (s Subnet) String() string {
  39705. return awsutil.Prettify(s)
  39706. }
  39707. // GoString returns the string representation
  39708. func (s Subnet) GoString() string {
  39709. return s.String()
  39710. }
  39711. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39712. func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
  39713. s.AvailabilityZone = &v
  39714. return s
  39715. }
  39716. // SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
  39717. func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
  39718. s.AvailableIpAddressCount = &v
  39719. return s
  39720. }
  39721. // SetCidrBlock sets the CidrBlock field's value.
  39722. func (s *Subnet) SetCidrBlock(v string) *Subnet {
  39723. s.CidrBlock = &v
  39724. return s
  39725. }
  39726. // SetDefaultForAz sets the DefaultForAz field's value.
  39727. func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
  39728. s.DefaultForAz = &v
  39729. return s
  39730. }
  39731. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  39732. func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
  39733. s.MapPublicIpOnLaunch = &v
  39734. return s
  39735. }
  39736. // SetState sets the State field's value.
  39737. func (s *Subnet) SetState(v string) *Subnet {
  39738. s.State = &v
  39739. return s
  39740. }
  39741. // SetSubnetId sets the SubnetId field's value.
  39742. func (s *Subnet) SetSubnetId(v string) *Subnet {
  39743. s.SubnetId = &v
  39744. return s
  39745. }
  39746. // SetTags sets the Tags field's value.
  39747. func (s *Subnet) SetTags(v []*Tag) *Subnet {
  39748. s.Tags = v
  39749. return s
  39750. }
  39751. // SetVpcId sets the VpcId field's value.
  39752. func (s *Subnet) SetVpcId(v string) *Subnet {
  39753. s.VpcId = &v
  39754. return s
  39755. }
  39756. // Describes a tag.
  39757. type Tag struct {
  39758. _ struct{} `type:"structure"`
  39759. // The key of the tag.
  39760. //
  39761. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  39762. // characters. May not begin with aws:
  39763. Key *string `locationName:"key" type:"string"`
  39764. // The value of the tag.
  39765. //
  39766. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  39767. // characters.
  39768. Value *string `locationName:"value" type:"string"`
  39769. }
  39770. // String returns the string representation
  39771. func (s Tag) String() string {
  39772. return awsutil.Prettify(s)
  39773. }
  39774. // GoString returns the string representation
  39775. func (s Tag) GoString() string {
  39776. return s.String()
  39777. }
  39778. // SetKey sets the Key field's value.
  39779. func (s *Tag) SetKey(v string) *Tag {
  39780. s.Key = &v
  39781. return s
  39782. }
  39783. // SetValue sets the Value field's value.
  39784. func (s *Tag) SetValue(v string) *Tag {
  39785. s.Value = &v
  39786. return s
  39787. }
  39788. // Describes a tag.
  39789. type TagDescription struct {
  39790. _ struct{} `type:"structure"`
  39791. // The tag key.
  39792. Key *string `locationName:"key" type:"string"`
  39793. // The ID of the resource. For example, ami-1a2b3c4d.
  39794. ResourceId *string `locationName:"resourceId" type:"string"`
  39795. // The resource type.
  39796. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  39797. // The tag value.
  39798. Value *string `locationName:"value" type:"string"`
  39799. }
  39800. // String returns the string representation
  39801. func (s TagDescription) String() string {
  39802. return awsutil.Prettify(s)
  39803. }
  39804. // GoString returns the string representation
  39805. func (s TagDescription) GoString() string {
  39806. return s.String()
  39807. }
  39808. // SetKey sets the Key field's value.
  39809. func (s *TagDescription) SetKey(v string) *TagDescription {
  39810. s.Key = &v
  39811. return s
  39812. }
  39813. // SetResourceId sets the ResourceId field's value.
  39814. func (s *TagDescription) SetResourceId(v string) *TagDescription {
  39815. s.ResourceId = &v
  39816. return s
  39817. }
  39818. // SetResourceType sets the ResourceType field's value.
  39819. func (s *TagDescription) SetResourceType(v string) *TagDescription {
  39820. s.ResourceType = &v
  39821. return s
  39822. }
  39823. // SetValue sets the Value field's value.
  39824. func (s *TagDescription) SetValue(v string) *TagDescription {
  39825. s.Value = &v
  39826. return s
  39827. }
  39828. // Information about the Convertible Reserved Instance offering.
  39829. type TargetConfiguration struct {
  39830. _ struct{} `type:"structure"`
  39831. // The number of instances the Convertible Reserved Instance offering can be
  39832. // applied to. This parameter is reserved and cannot be specified in a request
  39833. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  39834. // The ID of the Convertible Reserved Instance offering.
  39835. OfferingId *string `locationName:"offeringId" type:"string"`
  39836. }
  39837. // String returns the string representation
  39838. func (s TargetConfiguration) String() string {
  39839. return awsutil.Prettify(s)
  39840. }
  39841. // GoString returns the string representation
  39842. func (s TargetConfiguration) GoString() string {
  39843. return s.String()
  39844. }
  39845. // SetInstanceCount sets the InstanceCount field's value.
  39846. func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
  39847. s.InstanceCount = &v
  39848. return s
  39849. }
  39850. // SetOfferingId sets the OfferingId field's value.
  39851. func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
  39852. s.OfferingId = &v
  39853. return s
  39854. }
  39855. // Details about the target configuration.
  39856. type TargetConfigurationRequest struct {
  39857. _ struct{} `type:"structure"`
  39858. // The number of instances the Covertible Reserved Instance offering can be
  39859. // applied to. This parameter is reserved and cannot be specified in a request
  39860. InstanceCount *int64 `type:"integer"`
  39861. // The Convertible Reserved Instance offering ID. If this isn't included in
  39862. // the request, the response lists your current Convertible Reserved Instance/s
  39863. // and their value/s.
  39864. //
  39865. // OfferingId is a required field
  39866. OfferingId *string `type:"string" required:"true"`
  39867. }
  39868. // String returns the string representation
  39869. func (s TargetConfigurationRequest) String() string {
  39870. return awsutil.Prettify(s)
  39871. }
  39872. // GoString returns the string representation
  39873. func (s TargetConfigurationRequest) GoString() string {
  39874. return s.String()
  39875. }
  39876. // Validate inspects the fields of the type to determine if they are valid.
  39877. func (s *TargetConfigurationRequest) Validate() error {
  39878. invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
  39879. if s.OfferingId == nil {
  39880. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  39881. }
  39882. if invalidParams.Len() > 0 {
  39883. return invalidParams
  39884. }
  39885. return nil
  39886. }
  39887. // SetInstanceCount sets the InstanceCount field's value.
  39888. func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
  39889. s.InstanceCount = &v
  39890. return s
  39891. }
  39892. // SetOfferingId sets the OfferingId field's value.
  39893. func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
  39894. s.OfferingId = &v
  39895. return s
  39896. }
  39897. // The total value of the new Convertible Reserved Instances.
  39898. type TargetReservationValue struct {
  39899. _ struct{} `type:"structure"`
  39900. // The total value of the Convertible Reserved Instances that make up the exchange.
  39901. // This is the sum of the list value, remaining upfront price, and additional
  39902. // upfront cost of the exchange.
  39903. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  39904. // The configuration of the Convertible Reserved Instances that make up the
  39905. // exchange.
  39906. TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
  39907. }
  39908. // String returns the string representation
  39909. func (s TargetReservationValue) String() string {
  39910. return awsutil.Prettify(s)
  39911. }
  39912. // GoString returns the string representation
  39913. func (s TargetReservationValue) GoString() string {
  39914. return s.String()
  39915. }
  39916. // SetReservationValue sets the ReservationValue field's value.
  39917. func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
  39918. s.ReservationValue = v
  39919. return s
  39920. }
  39921. // SetTargetConfiguration sets the TargetConfiguration field's value.
  39922. func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
  39923. s.TargetConfiguration = v
  39924. return s
  39925. }
  39926. // Contains the parameters for TerminateInstances.
  39927. type TerminateInstancesInput struct {
  39928. _ struct{} `type:"structure"`
  39929. // Checks whether you have the required permissions for the action, without
  39930. // actually making the request, and provides an error response. If you have
  39931. // the required permissions, the error response is DryRunOperation. Otherwise,
  39932. // it is UnauthorizedOperation.
  39933. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39934. // One or more instance IDs.
  39935. //
  39936. // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
  39937. // into smaller batches.
  39938. //
  39939. // InstanceIds is a required field
  39940. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  39941. }
  39942. // String returns the string representation
  39943. func (s TerminateInstancesInput) String() string {
  39944. return awsutil.Prettify(s)
  39945. }
  39946. // GoString returns the string representation
  39947. func (s TerminateInstancesInput) GoString() string {
  39948. return s.String()
  39949. }
  39950. // Validate inspects the fields of the type to determine if they are valid.
  39951. func (s *TerminateInstancesInput) Validate() error {
  39952. invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
  39953. if s.InstanceIds == nil {
  39954. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  39955. }
  39956. if invalidParams.Len() > 0 {
  39957. return invalidParams
  39958. }
  39959. return nil
  39960. }
  39961. // SetDryRun sets the DryRun field's value.
  39962. func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
  39963. s.DryRun = &v
  39964. return s
  39965. }
  39966. // SetInstanceIds sets the InstanceIds field's value.
  39967. func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
  39968. s.InstanceIds = v
  39969. return s
  39970. }
  39971. // Contains the output of TerminateInstances.
  39972. type TerminateInstancesOutput struct {
  39973. _ struct{} `type:"structure"`
  39974. // Information about one or more terminated instances.
  39975. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  39976. }
  39977. // String returns the string representation
  39978. func (s TerminateInstancesOutput) String() string {
  39979. return awsutil.Prettify(s)
  39980. }
  39981. // GoString returns the string representation
  39982. func (s TerminateInstancesOutput) GoString() string {
  39983. return s.String()
  39984. }
  39985. // SetTerminatingInstances sets the TerminatingInstances field's value.
  39986. func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
  39987. s.TerminatingInstances = v
  39988. return s
  39989. }
  39990. // Contains the parameters for UnassignPrivateIpAddresses.
  39991. type UnassignPrivateIpAddressesInput struct {
  39992. _ struct{} `type:"structure"`
  39993. // The ID of the network interface.
  39994. //
  39995. // NetworkInterfaceId is a required field
  39996. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  39997. // The secondary private IP addresses to unassign from the network interface.
  39998. // You can specify this option multiple times to unassign more than one IP address.
  39999. //
  40000. // PrivateIpAddresses is a required field
  40001. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  40002. }
  40003. // String returns the string representation
  40004. func (s UnassignPrivateIpAddressesInput) String() string {
  40005. return awsutil.Prettify(s)
  40006. }
  40007. // GoString returns the string representation
  40008. func (s UnassignPrivateIpAddressesInput) GoString() string {
  40009. return s.String()
  40010. }
  40011. // Validate inspects the fields of the type to determine if they are valid.
  40012. func (s *UnassignPrivateIpAddressesInput) Validate() error {
  40013. invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
  40014. if s.NetworkInterfaceId == nil {
  40015. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  40016. }
  40017. if s.PrivateIpAddresses == nil {
  40018. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
  40019. }
  40020. if invalidParams.Len() > 0 {
  40021. return invalidParams
  40022. }
  40023. return nil
  40024. }
  40025. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  40026. func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
  40027. s.NetworkInterfaceId = &v
  40028. return s
  40029. }
  40030. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  40031. func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
  40032. s.PrivateIpAddresses = v
  40033. return s
  40034. }
  40035. type UnassignPrivateIpAddressesOutput struct {
  40036. _ struct{} `type:"structure"`
  40037. }
  40038. // String returns the string representation
  40039. func (s UnassignPrivateIpAddressesOutput) String() string {
  40040. return awsutil.Prettify(s)
  40041. }
  40042. // GoString returns the string representation
  40043. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  40044. return s.String()
  40045. }
  40046. // Contains the parameters for UnmonitorInstances.
  40047. type UnmonitorInstancesInput struct {
  40048. _ struct{} `type:"structure"`
  40049. // Checks whether you have the required permissions for the action, without
  40050. // actually making the request, and provides an error response. If you have
  40051. // the required permissions, the error response is DryRunOperation. Otherwise,
  40052. // it is UnauthorizedOperation.
  40053. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40054. // One or more instance IDs.
  40055. //
  40056. // InstanceIds is a required field
  40057. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  40058. }
  40059. // String returns the string representation
  40060. func (s UnmonitorInstancesInput) String() string {
  40061. return awsutil.Prettify(s)
  40062. }
  40063. // GoString returns the string representation
  40064. func (s UnmonitorInstancesInput) GoString() string {
  40065. return s.String()
  40066. }
  40067. // Validate inspects the fields of the type to determine if they are valid.
  40068. func (s *UnmonitorInstancesInput) Validate() error {
  40069. invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
  40070. if s.InstanceIds == nil {
  40071. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  40072. }
  40073. if invalidParams.Len() > 0 {
  40074. return invalidParams
  40075. }
  40076. return nil
  40077. }
  40078. // SetDryRun sets the DryRun field's value.
  40079. func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
  40080. s.DryRun = &v
  40081. return s
  40082. }
  40083. // SetInstanceIds sets the InstanceIds field's value.
  40084. func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
  40085. s.InstanceIds = v
  40086. return s
  40087. }
  40088. // Contains the output of UnmonitorInstances.
  40089. type UnmonitorInstancesOutput struct {
  40090. _ struct{} `type:"structure"`
  40091. // Monitoring information for one or more instances.
  40092. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  40093. }
  40094. // String returns the string representation
  40095. func (s UnmonitorInstancesOutput) String() string {
  40096. return awsutil.Prettify(s)
  40097. }
  40098. // GoString returns the string representation
  40099. func (s UnmonitorInstancesOutput) GoString() string {
  40100. return s.String()
  40101. }
  40102. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  40103. func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
  40104. s.InstanceMonitorings = v
  40105. return s
  40106. }
  40107. // Information about items that were not successfully processed in a batch call.
  40108. type UnsuccessfulItem struct {
  40109. _ struct{} `type:"structure"`
  40110. // Information about the error.
  40111. //
  40112. // Error is a required field
  40113. Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
  40114. // The ID of the resource.
  40115. ResourceId *string `locationName:"resourceId" type:"string"`
  40116. }
  40117. // String returns the string representation
  40118. func (s UnsuccessfulItem) String() string {
  40119. return awsutil.Prettify(s)
  40120. }
  40121. // GoString returns the string representation
  40122. func (s UnsuccessfulItem) GoString() string {
  40123. return s.String()
  40124. }
  40125. // SetError sets the Error field's value.
  40126. func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
  40127. s.Error = v
  40128. return s
  40129. }
  40130. // SetResourceId sets the ResourceId field's value.
  40131. func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
  40132. s.ResourceId = &v
  40133. return s
  40134. }
  40135. // Information about the error that occurred. For more information about errors,
  40136. // see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  40137. type UnsuccessfulItemError struct {
  40138. _ struct{} `type:"structure"`
  40139. // The error code.
  40140. //
  40141. // Code is a required field
  40142. Code *string `locationName:"code" type:"string" required:"true"`
  40143. // The error message accompanying the error code.
  40144. //
  40145. // Message is a required field
  40146. Message *string `locationName:"message" type:"string" required:"true"`
  40147. }
  40148. // String returns the string representation
  40149. func (s UnsuccessfulItemError) String() string {
  40150. return awsutil.Prettify(s)
  40151. }
  40152. // GoString returns the string representation
  40153. func (s UnsuccessfulItemError) GoString() string {
  40154. return s.String()
  40155. }
  40156. // SetCode sets the Code field's value.
  40157. func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
  40158. s.Code = &v
  40159. return s
  40160. }
  40161. // SetMessage sets the Message field's value.
  40162. func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
  40163. s.Message = &v
  40164. return s
  40165. }
  40166. // Describes the S3 bucket for the disk image.
  40167. type UserBucket struct {
  40168. _ struct{} `type:"structure"`
  40169. // The name of the S3 bucket where the disk image is located.
  40170. S3Bucket *string `type:"string"`
  40171. // The file name of the disk image.
  40172. S3Key *string `type:"string"`
  40173. }
  40174. // String returns the string representation
  40175. func (s UserBucket) String() string {
  40176. return awsutil.Prettify(s)
  40177. }
  40178. // GoString returns the string representation
  40179. func (s UserBucket) GoString() string {
  40180. return s.String()
  40181. }
  40182. // SetS3Bucket sets the S3Bucket field's value.
  40183. func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
  40184. s.S3Bucket = &v
  40185. return s
  40186. }
  40187. // SetS3Key sets the S3Key field's value.
  40188. func (s *UserBucket) SetS3Key(v string) *UserBucket {
  40189. s.S3Key = &v
  40190. return s
  40191. }
  40192. // Describes the S3 bucket for the disk image.
  40193. type UserBucketDetails struct {
  40194. _ struct{} `type:"structure"`
  40195. // The S3 bucket from which the disk image was created.
  40196. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  40197. // The file name of the disk image.
  40198. S3Key *string `locationName:"s3Key" type:"string"`
  40199. }
  40200. // String returns the string representation
  40201. func (s UserBucketDetails) String() string {
  40202. return awsutil.Prettify(s)
  40203. }
  40204. // GoString returns the string representation
  40205. func (s UserBucketDetails) GoString() string {
  40206. return s.String()
  40207. }
  40208. // SetS3Bucket sets the S3Bucket field's value.
  40209. func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
  40210. s.S3Bucket = &v
  40211. return s
  40212. }
  40213. // SetS3Key sets the S3Key field's value.
  40214. func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
  40215. s.S3Key = &v
  40216. return s
  40217. }
  40218. // Describes the user data for an instance.
  40219. type UserData struct {
  40220. _ struct{} `type:"structure"`
  40221. // The user data. If you are using an AWS SDK or command line tool, Base64-encoding
  40222. // is performed for you, and you can load the text from a file. Otherwise, you
  40223. // must provide Base64-encoded text.
  40224. Data *string `locationName:"data" type:"string"`
  40225. }
  40226. // String returns the string representation
  40227. func (s UserData) String() string {
  40228. return awsutil.Prettify(s)
  40229. }
  40230. // GoString returns the string representation
  40231. func (s UserData) GoString() string {
  40232. return s.String()
  40233. }
  40234. // SetData sets the Data field's value.
  40235. func (s *UserData) SetData(v string) *UserData {
  40236. s.Data = &v
  40237. return s
  40238. }
  40239. // Describes a security group and AWS account ID pair.
  40240. type UserIdGroupPair struct {
  40241. _ struct{} `type:"structure"`
  40242. // The ID of the security group.
  40243. GroupId *string `locationName:"groupId" type:"string"`
  40244. // The name of the security group. In a request, use this parameter for a security
  40245. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  40246. // VPC, use the security group ID.
  40247. GroupName *string `locationName:"groupName" type:"string"`
  40248. // The status of a VPC peering connection, if applicable.
  40249. PeeringStatus *string `locationName:"peeringStatus" type:"string"`
  40250. // The ID of an AWS account. For a referenced security group in another VPC,
  40251. // the account ID of the referenced security group is returned.
  40252. //
  40253. // [EC2-Classic] Required when adding or removing rules that reference a security
  40254. // group in another AWS account.
  40255. UserId *string `locationName:"userId" type:"string"`
  40256. // The ID of the VPC for the referenced security group, if applicable.
  40257. VpcId *string `locationName:"vpcId" type:"string"`
  40258. // The ID of the VPC peering connection, if applicable.
  40259. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  40260. }
  40261. // String returns the string representation
  40262. func (s UserIdGroupPair) String() string {
  40263. return awsutil.Prettify(s)
  40264. }
  40265. // GoString returns the string representation
  40266. func (s UserIdGroupPair) GoString() string {
  40267. return s.String()
  40268. }
  40269. // SetGroupId sets the GroupId field's value.
  40270. func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
  40271. s.GroupId = &v
  40272. return s
  40273. }
  40274. // SetGroupName sets the GroupName field's value.
  40275. func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
  40276. s.GroupName = &v
  40277. return s
  40278. }
  40279. // SetPeeringStatus sets the PeeringStatus field's value.
  40280. func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
  40281. s.PeeringStatus = &v
  40282. return s
  40283. }
  40284. // SetUserId sets the UserId field's value.
  40285. func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
  40286. s.UserId = &v
  40287. return s
  40288. }
  40289. // SetVpcId sets the VpcId field's value.
  40290. func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
  40291. s.VpcId = &v
  40292. return s
  40293. }
  40294. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  40295. func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
  40296. s.VpcPeeringConnectionId = &v
  40297. return s
  40298. }
  40299. // Describes telemetry for a VPN tunnel.
  40300. type VgwTelemetry struct {
  40301. _ struct{} `type:"structure"`
  40302. // The number of accepted routes.
  40303. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  40304. // The date and time of the last change in status.
  40305. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
  40306. // The Internet-routable IP address of the virtual private gateway's outside
  40307. // interface.
  40308. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  40309. // The status of the VPN tunnel.
  40310. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  40311. // If an error occurs, a description of the error.
  40312. StatusMessage *string `locationName:"statusMessage" type:"string"`
  40313. }
  40314. // String returns the string representation
  40315. func (s VgwTelemetry) String() string {
  40316. return awsutil.Prettify(s)
  40317. }
  40318. // GoString returns the string representation
  40319. func (s VgwTelemetry) GoString() string {
  40320. return s.String()
  40321. }
  40322. // SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
  40323. func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
  40324. s.AcceptedRouteCount = &v
  40325. return s
  40326. }
  40327. // SetLastStatusChange sets the LastStatusChange field's value.
  40328. func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
  40329. s.LastStatusChange = &v
  40330. return s
  40331. }
  40332. // SetOutsideIpAddress sets the OutsideIpAddress field's value.
  40333. func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
  40334. s.OutsideIpAddress = &v
  40335. return s
  40336. }
  40337. // SetStatus sets the Status field's value.
  40338. func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
  40339. s.Status = &v
  40340. return s
  40341. }
  40342. // SetStatusMessage sets the StatusMessage field's value.
  40343. func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
  40344. s.StatusMessage = &v
  40345. return s
  40346. }
  40347. // Describes a volume.
  40348. type Volume struct {
  40349. _ struct{} `type:"structure"`
  40350. // Information about the volume attachments.
  40351. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  40352. // The Availability Zone for the volume.
  40353. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  40354. // The time stamp when volume creation was initiated.
  40355. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  40356. // Indicates whether the volume will be encrypted.
  40357. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  40358. // The number of I/O operations per second (IOPS) that the volume supports.
  40359. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that
  40360. // are provisioned for the volume. For General Purpose SSD volumes, this represents
  40361. // the baseline performance of the volume and the rate at which the volume accumulates
  40362. // I/O credits for bursting. For more information on General Purpose SSD baseline
  40363. // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  40364. // in the Amazon Elastic Compute Cloud User Guide.
  40365. //
  40366. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  40367. // gp2 volumes.
  40368. //
  40369. // Condition: This parameter is required for requests to create io1 volumes;
  40370. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  40371. Iops *int64 `locationName:"iops" type:"integer"`
  40372. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  40373. // key (CMK) that was used to protect the volume encryption key for the volume.
  40374. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  40375. // The size of the volume, in GiBs.
  40376. Size *int64 `locationName:"size" type:"integer"`
  40377. // The snapshot from which the volume was created, if applicable.
  40378. SnapshotId *string `locationName:"snapshotId" type:"string"`
  40379. // The volume state.
  40380. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  40381. // Any tags assigned to the volume.
  40382. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  40383. // The ID of the volume.
  40384. VolumeId *string `locationName:"volumeId" type:"string"`
  40385. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  40386. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  40387. // for Magnetic volumes.
  40388. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  40389. }
  40390. // String returns the string representation
  40391. func (s Volume) String() string {
  40392. return awsutil.Prettify(s)
  40393. }
  40394. // GoString returns the string representation
  40395. func (s Volume) GoString() string {
  40396. return s.String()
  40397. }
  40398. // SetAttachments sets the Attachments field's value.
  40399. func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
  40400. s.Attachments = v
  40401. return s
  40402. }
  40403. // SetAvailabilityZone sets the AvailabilityZone field's value.
  40404. func (s *Volume) SetAvailabilityZone(v string) *Volume {
  40405. s.AvailabilityZone = &v
  40406. return s
  40407. }
  40408. // SetCreateTime sets the CreateTime field's value.
  40409. func (s *Volume) SetCreateTime(v time.Time) *Volume {
  40410. s.CreateTime = &v
  40411. return s
  40412. }
  40413. // SetEncrypted sets the Encrypted field's value.
  40414. func (s *Volume) SetEncrypted(v bool) *Volume {
  40415. s.Encrypted = &v
  40416. return s
  40417. }
  40418. // SetIops sets the Iops field's value.
  40419. func (s *Volume) SetIops(v int64) *Volume {
  40420. s.Iops = &v
  40421. return s
  40422. }
  40423. // SetKmsKeyId sets the KmsKeyId field's value.
  40424. func (s *Volume) SetKmsKeyId(v string) *Volume {
  40425. s.KmsKeyId = &v
  40426. return s
  40427. }
  40428. // SetSize sets the Size field's value.
  40429. func (s *Volume) SetSize(v int64) *Volume {
  40430. s.Size = &v
  40431. return s
  40432. }
  40433. // SetSnapshotId sets the SnapshotId field's value.
  40434. func (s *Volume) SetSnapshotId(v string) *Volume {
  40435. s.SnapshotId = &v
  40436. return s
  40437. }
  40438. // SetState sets the State field's value.
  40439. func (s *Volume) SetState(v string) *Volume {
  40440. s.State = &v
  40441. return s
  40442. }
  40443. // SetTags sets the Tags field's value.
  40444. func (s *Volume) SetTags(v []*Tag) *Volume {
  40445. s.Tags = v
  40446. return s
  40447. }
  40448. // SetVolumeId sets the VolumeId field's value.
  40449. func (s *Volume) SetVolumeId(v string) *Volume {
  40450. s.VolumeId = &v
  40451. return s
  40452. }
  40453. // SetVolumeType sets the VolumeType field's value.
  40454. func (s *Volume) SetVolumeType(v string) *Volume {
  40455. s.VolumeType = &v
  40456. return s
  40457. }
  40458. // Describes volume attachment details.
  40459. type VolumeAttachment struct {
  40460. _ struct{} `type:"structure"`
  40461. // The time stamp when the attachment initiated.
  40462. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  40463. // Indicates whether the EBS volume is deleted on instance termination.
  40464. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  40465. // The device name.
  40466. Device *string `locationName:"device" type:"string"`
  40467. // The ID of the instance.
  40468. InstanceId *string `locationName:"instanceId" type:"string"`
  40469. // The attachment state of the volume.
  40470. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  40471. // The ID of the volume.
  40472. VolumeId *string `locationName:"volumeId" type:"string"`
  40473. }
  40474. // String returns the string representation
  40475. func (s VolumeAttachment) String() string {
  40476. return awsutil.Prettify(s)
  40477. }
  40478. // GoString returns the string representation
  40479. func (s VolumeAttachment) GoString() string {
  40480. return s.String()
  40481. }
  40482. // SetAttachTime sets the AttachTime field's value.
  40483. func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
  40484. s.AttachTime = &v
  40485. return s
  40486. }
  40487. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  40488. func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
  40489. s.DeleteOnTermination = &v
  40490. return s
  40491. }
  40492. // SetDevice sets the Device field's value.
  40493. func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
  40494. s.Device = &v
  40495. return s
  40496. }
  40497. // SetInstanceId sets the InstanceId field's value.
  40498. func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
  40499. s.InstanceId = &v
  40500. return s
  40501. }
  40502. // SetState sets the State field's value.
  40503. func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
  40504. s.State = &v
  40505. return s
  40506. }
  40507. // SetVolumeId sets the VolumeId field's value.
  40508. func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
  40509. s.VolumeId = &v
  40510. return s
  40511. }
  40512. // Describes an EBS volume.
  40513. type VolumeDetail struct {
  40514. _ struct{} `type:"structure"`
  40515. // The size of the volume, in GiB.
  40516. //
  40517. // Size is a required field
  40518. Size *int64 `locationName:"size" type:"long" required:"true"`
  40519. }
  40520. // String returns the string representation
  40521. func (s VolumeDetail) String() string {
  40522. return awsutil.Prettify(s)
  40523. }
  40524. // GoString returns the string representation
  40525. func (s VolumeDetail) GoString() string {
  40526. return s.String()
  40527. }
  40528. // Validate inspects the fields of the type to determine if they are valid.
  40529. func (s *VolumeDetail) Validate() error {
  40530. invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
  40531. if s.Size == nil {
  40532. invalidParams.Add(request.NewErrParamRequired("Size"))
  40533. }
  40534. if invalidParams.Len() > 0 {
  40535. return invalidParams
  40536. }
  40537. return nil
  40538. }
  40539. // SetSize sets the Size field's value.
  40540. func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
  40541. s.Size = &v
  40542. return s
  40543. }
  40544. // Describes a volume status operation code.
  40545. type VolumeStatusAction struct {
  40546. _ struct{} `type:"structure"`
  40547. // The code identifying the operation, for example, enable-volume-io.
  40548. Code *string `locationName:"code" type:"string"`
  40549. // A description of the operation.
  40550. Description *string `locationName:"description" type:"string"`
  40551. // The ID of the event associated with this operation.
  40552. EventId *string `locationName:"eventId" type:"string"`
  40553. // The event type associated with this operation.
  40554. EventType *string `locationName:"eventType" type:"string"`
  40555. }
  40556. // String returns the string representation
  40557. func (s VolumeStatusAction) String() string {
  40558. return awsutil.Prettify(s)
  40559. }
  40560. // GoString returns the string representation
  40561. func (s VolumeStatusAction) GoString() string {
  40562. return s.String()
  40563. }
  40564. // SetCode sets the Code field's value.
  40565. func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
  40566. s.Code = &v
  40567. return s
  40568. }
  40569. // SetDescription sets the Description field's value.
  40570. func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
  40571. s.Description = &v
  40572. return s
  40573. }
  40574. // SetEventId sets the EventId field's value.
  40575. func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
  40576. s.EventId = &v
  40577. return s
  40578. }
  40579. // SetEventType sets the EventType field's value.
  40580. func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
  40581. s.EventType = &v
  40582. return s
  40583. }
  40584. // Describes a volume status.
  40585. type VolumeStatusDetails struct {
  40586. _ struct{} `type:"structure"`
  40587. // The name of the volume status.
  40588. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  40589. // The intended status of the volume status.
  40590. Status *string `locationName:"status" type:"string"`
  40591. }
  40592. // String returns the string representation
  40593. func (s VolumeStatusDetails) String() string {
  40594. return awsutil.Prettify(s)
  40595. }
  40596. // GoString returns the string representation
  40597. func (s VolumeStatusDetails) GoString() string {
  40598. return s.String()
  40599. }
  40600. // SetName sets the Name field's value.
  40601. func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
  40602. s.Name = &v
  40603. return s
  40604. }
  40605. // SetStatus sets the Status field's value.
  40606. func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
  40607. s.Status = &v
  40608. return s
  40609. }
  40610. // Describes a volume status event.
  40611. type VolumeStatusEvent struct {
  40612. _ struct{} `type:"structure"`
  40613. // A description of the event.
  40614. Description *string `locationName:"description" type:"string"`
  40615. // The ID of this event.
  40616. EventId *string `locationName:"eventId" type:"string"`
  40617. // The type of this event.
  40618. EventType *string `locationName:"eventType" type:"string"`
  40619. // The latest end time of the event.
  40620. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  40621. // The earliest start time of the event.
  40622. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  40623. }
  40624. // String returns the string representation
  40625. func (s VolumeStatusEvent) String() string {
  40626. return awsutil.Prettify(s)
  40627. }
  40628. // GoString returns the string representation
  40629. func (s VolumeStatusEvent) GoString() string {
  40630. return s.String()
  40631. }
  40632. // SetDescription sets the Description field's value.
  40633. func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
  40634. s.Description = &v
  40635. return s
  40636. }
  40637. // SetEventId sets the EventId field's value.
  40638. func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
  40639. s.EventId = &v
  40640. return s
  40641. }
  40642. // SetEventType sets the EventType field's value.
  40643. func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
  40644. s.EventType = &v
  40645. return s
  40646. }
  40647. // SetNotAfter sets the NotAfter field's value.
  40648. func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
  40649. s.NotAfter = &v
  40650. return s
  40651. }
  40652. // SetNotBefore sets the NotBefore field's value.
  40653. func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
  40654. s.NotBefore = &v
  40655. return s
  40656. }
  40657. // Describes the status of a volume.
  40658. type VolumeStatusInfo struct {
  40659. _ struct{} `type:"structure"`
  40660. // The details of the volume status.
  40661. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  40662. // The status of the volume.
  40663. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  40664. }
  40665. // String returns the string representation
  40666. func (s VolumeStatusInfo) String() string {
  40667. return awsutil.Prettify(s)
  40668. }
  40669. // GoString returns the string representation
  40670. func (s VolumeStatusInfo) GoString() string {
  40671. return s.String()
  40672. }
  40673. // SetDetails sets the Details field's value.
  40674. func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
  40675. s.Details = v
  40676. return s
  40677. }
  40678. // SetStatus sets the Status field's value.
  40679. func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
  40680. s.Status = &v
  40681. return s
  40682. }
  40683. // Describes the volume status.
  40684. type VolumeStatusItem struct {
  40685. _ struct{} `type:"structure"`
  40686. // The details of the operation.
  40687. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  40688. // The Availability Zone of the volume.
  40689. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  40690. // A list of events associated with the volume.
  40691. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  40692. // The volume ID.
  40693. VolumeId *string `locationName:"volumeId" type:"string"`
  40694. // The volume status.
  40695. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  40696. }
  40697. // String returns the string representation
  40698. func (s VolumeStatusItem) String() string {
  40699. return awsutil.Prettify(s)
  40700. }
  40701. // GoString returns the string representation
  40702. func (s VolumeStatusItem) GoString() string {
  40703. return s.String()
  40704. }
  40705. // SetActions sets the Actions field's value.
  40706. func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
  40707. s.Actions = v
  40708. return s
  40709. }
  40710. // SetAvailabilityZone sets the AvailabilityZone field's value.
  40711. func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
  40712. s.AvailabilityZone = &v
  40713. return s
  40714. }
  40715. // SetEvents sets the Events field's value.
  40716. func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
  40717. s.Events = v
  40718. return s
  40719. }
  40720. // SetVolumeId sets the VolumeId field's value.
  40721. func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
  40722. s.VolumeId = &v
  40723. return s
  40724. }
  40725. // SetVolumeStatus sets the VolumeStatus field's value.
  40726. func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
  40727. s.VolumeStatus = v
  40728. return s
  40729. }
  40730. // Describes a VPC.
  40731. type Vpc struct {
  40732. _ struct{} `type:"structure"`
  40733. // The CIDR block for the VPC.
  40734. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  40735. // The ID of the set of DHCP options you've associated with the VPC (or default
  40736. // if the default options are associated with the VPC).
  40737. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  40738. // The allowed tenancy of instances launched into the VPC.
  40739. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  40740. // Indicates whether the VPC is the default VPC.
  40741. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  40742. // The current state of the VPC.
  40743. State *string `locationName:"state" type:"string" enum:"VpcState"`
  40744. // Any tags assigned to the VPC.
  40745. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  40746. // The ID of the VPC.
  40747. VpcId *string `locationName:"vpcId" type:"string"`
  40748. }
  40749. // String returns the string representation
  40750. func (s Vpc) String() string {
  40751. return awsutil.Prettify(s)
  40752. }
  40753. // GoString returns the string representation
  40754. func (s Vpc) GoString() string {
  40755. return s.String()
  40756. }
  40757. // SetCidrBlock sets the CidrBlock field's value.
  40758. func (s *Vpc) SetCidrBlock(v string) *Vpc {
  40759. s.CidrBlock = &v
  40760. return s
  40761. }
  40762. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  40763. func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
  40764. s.DhcpOptionsId = &v
  40765. return s
  40766. }
  40767. // SetInstanceTenancy sets the InstanceTenancy field's value.
  40768. func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
  40769. s.InstanceTenancy = &v
  40770. return s
  40771. }
  40772. // SetIsDefault sets the IsDefault field's value.
  40773. func (s *Vpc) SetIsDefault(v bool) *Vpc {
  40774. s.IsDefault = &v
  40775. return s
  40776. }
  40777. // SetState sets the State field's value.
  40778. func (s *Vpc) SetState(v string) *Vpc {
  40779. s.State = &v
  40780. return s
  40781. }
  40782. // SetTags sets the Tags field's value.
  40783. func (s *Vpc) SetTags(v []*Tag) *Vpc {
  40784. s.Tags = v
  40785. return s
  40786. }
  40787. // SetVpcId sets the VpcId field's value.
  40788. func (s *Vpc) SetVpcId(v string) *Vpc {
  40789. s.VpcId = &v
  40790. return s
  40791. }
  40792. // Describes an attachment between a virtual private gateway and a VPC.
  40793. type VpcAttachment struct {
  40794. _ struct{} `type:"structure"`
  40795. // The current state of the attachment.
  40796. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  40797. // The ID of the VPC.
  40798. VpcId *string `locationName:"vpcId" type:"string"`
  40799. }
  40800. // String returns the string representation
  40801. func (s VpcAttachment) String() string {
  40802. return awsutil.Prettify(s)
  40803. }
  40804. // GoString returns the string representation
  40805. func (s VpcAttachment) GoString() string {
  40806. return s.String()
  40807. }
  40808. // SetState sets the State field's value.
  40809. func (s *VpcAttachment) SetState(v string) *VpcAttachment {
  40810. s.State = &v
  40811. return s
  40812. }
  40813. // SetVpcId sets the VpcId field's value.
  40814. func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
  40815. s.VpcId = &v
  40816. return s
  40817. }
  40818. // Describes whether a VPC is enabled for ClassicLink.
  40819. type VpcClassicLink struct {
  40820. _ struct{} `type:"structure"`
  40821. // Indicates whether the VPC is enabled for ClassicLink.
  40822. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  40823. // Any tags assigned to the VPC.
  40824. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  40825. // The ID of the VPC.
  40826. VpcId *string `locationName:"vpcId" type:"string"`
  40827. }
  40828. // String returns the string representation
  40829. func (s VpcClassicLink) String() string {
  40830. return awsutil.Prettify(s)
  40831. }
  40832. // GoString returns the string representation
  40833. func (s VpcClassicLink) GoString() string {
  40834. return s.String()
  40835. }
  40836. // SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
  40837. func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
  40838. s.ClassicLinkEnabled = &v
  40839. return s
  40840. }
  40841. // SetTags sets the Tags field's value.
  40842. func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
  40843. s.Tags = v
  40844. return s
  40845. }
  40846. // SetVpcId sets the VpcId field's value.
  40847. func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
  40848. s.VpcId = &v
  40849. return s
  40850. }
  40851. // Describes a VPC endpoint.
  40852. type VpcEndpoint struct {
  40853. _ struct{} `type:"structure"`
  40854. // The date and time the VPC endpoint was created.
  40855. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  40856. // The policy document associated with the endpoint.
  40857. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  40858. // One or more route tables associated with the endpoint.
  40859. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  40860. // The name of the AWS service to which the endpoint is associated.
  40861. ServiceName *string `locationName:"serviceName" type:"string"`
  40862. // The state of the VPC endpoint.
  40863. State *string `locationName:"state" type:"string" enum:"State"`
  40864. // The ID of the VPC endpoint.
  40865. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  40866. // The ID of the VPC to which the endpoint is associated.
  40867. VpcId *string `locationName:"vpcId" type:"string"`
  40868. }
  40869. // String returns the string representation
  40870. func (s VpcEndpoint) String() string {
  40871. return awsutil.Prettify(s)
  40872. }
  40873. // GoString returns the string representation
  40874. func (s VpcEndpoint) GoString() string {
  40875. return s.String()
  40876. }
  40877. // SetCreationTimestamp sets the CreationTimestamp field's value.
  40878. func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
  40879. s.CreationTimestamp = &v
  40880. return s
  40881. }
  40882. // SetPolicyDocument sets the PolicyDocument field's value.
  40883. func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
  40884. s.PolicyDocument = &v
  40885. return s
  40886. }
  40887. // SetRouteTableIds sets the RouteTableIds field's value.
  40888. func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
  40889. s.RouteTableIds = v
  40890. return s
  40891. }
  40892. // SetServiceName sets the ServiceName field's value.
  40893. func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
  40894. s.ServiceName = &v
  40895. return s
  40896. }
  40897. // SetState sets the State field's value.
  40898. func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
  40899. s.State = &v
  40900. return s
  40901. }
  40902. // SetVpcEndpointId sets the VpcEndpointId field's value.
  40903. func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
  40904. s.VpcEndpointId = &v
  40905. return s
  40906. }
  40907. // SetVpcId sets the VpcId field's value.
  40908. func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
  40909. s.VpcId = &v
  40910. return s
  40911. }
  40912. // Describes a VPC peering connection.
  40913. type VpcPeeringConnection struct {
  40914. _ struct{} `type:"structure"`
  40915. // Information about the accepter VPC. CIDR block information is not returned
  40916. // when creating a VPC peering connection, or when describing a VPC peering
  40917. // connection that's in the initiating-request or pending-acceptance state.
  40918. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  40919. // The time that an unaccepted VPC peering connection will expire.
  40920. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
  40921. // Information about the requester VPC.
  40922. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  40923. // The status of the VPC peering connection.
  40924. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  40925. // Any tags assigned to the resource.
  40926. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  40927. // The ID of the VPC peering connection.
  40928. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  40929. }
  40930. // String returns the string representation
  40931. func (s VpcPeeringConnection) String() string {
  40932. return awsutil.Prettify(s)
  40933. }
  40934. // GoString returns the string representation
  40935. func (s VpcPeeringConnection) GoString() string {
  40936. return s.String()
  40937. }
  40938. // SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
  40939. func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  40940. s.AccepterVpcInfo = v
  40941. return s
  40942. }
  40943. // SetExpirationTime sets the ExpirationTime field's value.
  40944. func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
  40945. s.ExpirationTime = &v
  40946. return s
  40947. }
  40948. // SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
  40949. func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  40950. s.RequesterVpcInfo = v
  40951. return s
  40952. }
  40953. // SetStatus sets the Status field's value.
  40954. func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
  40955. s.Status = v
  40956. return s
  40957. }
  40958. // SetTags sets the Tags field's value.
  40959. func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
  40960. s.Tags = v
  40961. return s
  40962. }
  40963. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  40964. func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
  40965. s.VpcPeeringConnectionId = &v
  40966. return s
  40967. }
  40968. // Describes the VPC peering connection options.
  40969. type VpcPeeringConnectionOptionsDescription struct {
  40970. _ struct{} `type:"structure"`
  40971. // Indicates whether a local VPC can resolve public DNS hostnames to private
  40972. // IP addresses when queried from instances in a peer VPC.
  40973. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  40974. // Indicates whether a local ClassicLink connection can communicate with the
  40975. // peer VPC over the VPC peering connection.
  40976. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  40977. // Indicates whether a local VPC can communicate with a ClassicLink connection
  40978. // in the peer VPC over the VPC peering connection.
  40979. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  40980. }
  40981. // String returns the string representation
  40982. func (s VpcPeeringConnectionOptionsDescription) String() string {
  40983. return awsutil.Prettify(s)
  40984. }
  40985. // GoString returns the string representation
  40986. func (s VpcPeeringConnectionOptionsDescription) GoString() string {
  40987. return s.String()
  40988. }
  40989. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  40990. func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  40991. s.AllowDnsResolutionFromRemoteVpc = &v
  40992. return s
  40993. }
  40994. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  40995. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  40996. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  40997. return s
  40998. }
  40999. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  41000. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
  41001. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  41002. return s
  41003. }
  41004. // Describes the status of a VPC peering connection.
  41005. type VpcPeeringConnectionStateReason struct {
  41006. _ struct{} `type:"structure"`
  41007. // The status of the VPC peering connection.
  41008. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  41009. // A message that provides more information about the status, if applicable.
  41010. Message *string `locationName:"message" type:"string"`
  41011. }
  41012. // String returns the string representation
  41013. func (s VpcPeeringConnectionStateReason) String() string {
  41014. return awsutil.Prettify(s)
  41015. }
  41016. // GoString returns the string representation
  41017. func (s VpcPeeringConnectionStateReason) GoString() string {
  41018. return s.String()
  41019. }
  41020. // SetCode sets the Code field's value.
  41021. func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
  41022. s.Code = &v
  41023. return s
  41024. }
  41025. // SetMessage sets the Message field's value.
  41026. func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
  41027. s.Message = &v
  41028. return s
  41029. }
  41030. // Describes a VPC in a VPC peering connection.
  41031. type VpcPeeringConnectionVpcInfo struct {
  41032. _ struct{} `type:"structure"`
  41033. // The CIDR block for the VPC.
  41034. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  41035. // The AWS account ID of the VPC owner.
  41036. OwnerId *string `locationName:"ownerId" type:"string"`
  41037. // Information about the VPC peering connection options for the accepter or
  41038. // requester VPC.
  41039. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
  41040. // The ID of the VPC.
  41041. VpcId *string `locationName:"vpcId" type:"string"`
  41042. }
  41043. // String returns the string representation
  41044. func (s VpcPeeringConnectionVpcInfo) String() string {
  41045. return awsutil.Prettify(s)
  41046. }
  41047. // GoString returns the string representation
  41048. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  41049. return s.String()
  41050. }
  41051. // SetCidrBlock sets the CidrBlock field's value.
  41052. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
  41053. s.CidrBlock = &v
  41054. return s
  41055. }
  41056. // SetOwnerId sets the OwnerId field's value.
  41057. func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
  41058. s.OwnerId = &v
  41059. return s
  41060. }
  41061. // SetPeeringOptions sets the PeeringOptions field's value.
  41062. func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
  41063. s.PeeringOptions = v
  41064. return s
  41065. }
  41066. // SetVpcId sets the VpcId field's value.
  41067. func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
  41068. s.VpcId = &v
  41069. return s
  41070. }
  41071. // Describes a VPN connection.
  41072. type VpnConnection struct {
  41073. _ struct{} `type:"structure"`
  41074. // The configuration information for the VPN connection's customer gateway (in
  41075. // the native XML format). This element is always present in the CreateVpnConnection
  41076. // response; however, it's present in the DescribeVpnConnections response only
  41077. // if the VPN connection is in the pending or available state.
  41078. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  41079. // The ID of the customer gateway at your end of the VPN connection.
  41080. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  41081. // The VPN connection options.
  41082. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  41083. // The static routes associated with the VPN connection.
  41084. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  41085. // The current state of the VPN connection.
  41086. State *string `locationName:"state" type:"string" enum:"VpnState"`
  41087. // Any tags assigned to the VPN connection.
  41088. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  41089. // The type of VPN connection.
  41090. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  41091. // Information about the VPN tunnel.
  41092. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  41093. // The ID of the VPN connection.
  41094. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  41095. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  41096. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  41097. }
  41098. // String returns the string representation
  41099. func (s VpnConnection) String() string {
  41100. return awsutil.Prettify(s)
  41101. }
  41102. // GoString returns the string representation
  41103. func (s VpnConnection) GoString() string {
  41104. return s.String()
  41105. }
  41106. // SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
  41107. func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
  41108. s.CustomerGatewayConfiguration = &v
  41109. return s
  41110. }
  41111. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  41112. func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
  41113. s.CustomerGatewayId = &v
  41114. return s
  41115. }
  41116. // SetOptions sets the Options field's value.
  41117. func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
  41118. s.Options = v
  41119. return s
  41120. }
  41121. // SetRoutes sets the Routes field's value.
  41122. func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
  41123. s.Routes = v
  41124. return s
  41125. }
  41126. // SetState sets the State field's value.
  41127. func (s *VpnConnection) SetState(v string) *VpnConnection {
  41128. s.State = &v
  41129. return s
  41130. }
  41131. // SetTags sets the Tags field's value.
  41132. func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
  41133. s.Tags = v
  41134. return s
  41135. }
  41136. // SetType sets the Type field's value.
  41137. func (s *VpnConnection) SetType(v string) *VpnConnection {
  41138. s.Type = &v
  41139. return s
  41140. }
  41141. // SetVgwTelemetry sets the VgwTelemetry field's value.
  41142. func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
  41143. s.VgwTelemetry = v
  41144. return s
  41145. }
  41146. // SetVpnConnectionId sets the VpnConnectionId field's value.
  41147. func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
  41148. s.VpnConnectionId = &v
  41149. return s
  41150. }
  41151. // SetVpnGatewayId sets the VpnGatewayId field's value.
  41152. func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
  41153. s.VpnGatewayId = &v
  41154. return s
  41155. }
  41156. // Describes VPN connection options.
  41157. type VpnConnectionOptions struct {
  41158. _ struct{} `type:"structure"`
  41159. // Indicates whether the VPN connection uses static routes only. Static routes
  41160. // must be used for devices that don't support BGP.
  41161. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  41162. }
  41163. // String returns the string representation
  41164. func (s VpnConnectionOptions) String() string {
  41165. return awsutil.Prettify(s)
  41166. }
  41167. // GoString returns the string representation
  41168. func (s VpnConnectionOptions) GoString() string {
  41169. return s.String()
  41170. }
  41171. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  41172. func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
  41173. s.StaticRoutesOnly = &v
  41174. return s
  41175. }
  41176. // Describes VPN connection options.
  41177. type VpnConnectionOptionsSpecification struct {
  41178. _ struct{} `type:"structure"`
  41179. // Indicates whether the VPN connection uses static routes only. Static routes
  41180. // must be used for devices that don't support BGP.
  41181. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  41182. }
  41183. // String returns the string representation
  41184. func (s VpnConnectionOptionsSpecification) String() string {
  41185. return awsutil.Prettify(s)
  41186. }
  41187. // GoString returns the string representation
  41188. func (s VpnConnectionOptionsSpecification) GoString() string {
  41189. return s.String()
  41190. }
  41191. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  41192. func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
  41193. s.StaticRoutesOnly = &v
  41194. return s
  41195. }
  41196. // Describes a virtual private gateway.
  41197. type VpnGateway struct {
  41198. _ struct{} `type:"structure"`
  41199. // The Availability Zone where the virtual private gateway was created, if applicable.
  41200. // This field may be empty or not returned.
  41201. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  41202. // The current state of the virtual private gateway.
  41203. State *string `locationName:"state" type:"string" enum:"VpnState"`
  41204. // Any tags assigned to the virtual private gateway.
  41205. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  41206. // The type of VPN connection the virtual private gateway supports.
  41207. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  41208. // Any VPCs attached to the virtual private gateway.
  41209. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  41210. // The ID of the virtual private gateway.
  41211. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  41212. }
  41213. // String returns the string representation
  41214. func (s VpnGateway) String() string {
  41215. return awsutil.Prettify(s)
  41216. }
  41217. // GoString returns the string representation
  41218. func (s VpnGateway) GoString() string {
  41219. return s.String()
  41220. }
  41221. // SetAvailabilityZone sets the AvailabilityZone field's value.
  41222. func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
  41223. s.AvailabilityZone = &v
  41224. return s
  41225. }
  41226. // SetState sets the State field's value.
  41227. func (s *VpnGateway) SetState(v string) *VpnGateway {
  41228. s.State = &v
  41229. return s
  41230. }
  41231. // SetTags sets the Tags field's value.
  41232. func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
  41233. s.Tags = v
  41234. return s
  41235. }
  41236. // SetType sets the Type field's value.
  41237. func (s *VpnGateway) SetType(v string) *VpnGateway {
  41238. s.Type = &v
  41239. return s
  41240. }
  41241. // SetVpcAttachments sets the VpcAttachments field's value.
  41242. func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
  41243. s.VpcAttachments = v
  41244. return s
  41245. }
  41246. // SetVpnGatewayId sets the VpnGatewayId field's value.
  41247. func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
  41248. s.VpnGatewayId = &v
  41249. return s
  41250. }
  41251. // Describes a static route for a VPN connection.
  41252. type VpnStaticRoute struct {
  41253. _ struct{} `type:"structure"`
  41254. // The CIDR block associated with the local subnet of the customer data center.
  41255. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  41256. // Indicates how the routes were provided.
  41257. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  41258. // The current state of the static route.
  41259. State *string `locationName:"state" type:"string" enum:"VpnState"`
  41260. }
  41261. // String returns the string representation
  41262. func (s VpnStaticRoute) String() string {
  41263. return awsutil.Prettify(s)
  41264. }
  41265. // GoString returns the string representation
  41266. func (s VpnStaticRoute) GoString() string {
  41267. return s.String()
  41268. }
  41269. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  41270. func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
  41271. s.DestinationCidrBlock = &v
  41272. return s
  41273. }
  41274. // SetSource sets the Source field's value.
  41275. func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
  41276. s.Source = &v
  41277. return s
  41278. }
  41279. // SetState sets the State field's value.
  41280. func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
  41281. s.State = &v
  41282. return s
  41283. }
  41284. const (
  41285. // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
  41286. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  41287. // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
  41288. AccountAttributeNameDefaultVpc = "default-vpc"
  41289. )
  41290. const (
  41291. // ActivityStatusError is a ActivityStatus enum value
  41292. ActivityStatusError = "error"
  41293. // ActivityStatusPendingFulfillment is a ActivityStatus enum value
  41294. ActivityStatusPendingFulfillment = "pending_fulfillment"
  41295. // ActivityStatusPendingTermination is a ActivityStatus enum value
  41296. ActivityStatusPendingTermination = "pending_termination"
  41297. // ActivityStatusFulfilled is a ActivityStatus enum value
  41298. ActivityStatusFulfilled = "fulfilled"
  41299. )
  41300. const (
  41301. // AffinityDefault is a Affinity enum value
  41302. AffinityDefault = "default"
  41303. // AffinityHost is a Affinity enum value
  41304. AffinityHost = "host"
  41305. )
  41306. const (
  41307. // AllocationStateAvailable is a AllocationState enum value
  41308. AllocationStateAvailable = "available"
  41309. // AllocationStateUnderAssessment is a AllocationState enum value
  41310. AllocationStateUnderAssessment = "under-assessment"
  41311. // AllocationStatePermanentFailure is a AllocationState enum value
  41312. AllocationStatePermanentFailure = "permanent-failure"
  41313. // AllocationStateReleased is a AllocationState enum value
  41314. AllocationStateReleased = "released"
  41315. // AllocationStateReleasedPermanentFailure is a AllocationState enum value
  41316. AllocationStateReleasedPermanentFailure = "released-permanent-failure"
  41317. )
  41318. const (
  41319. // AllocationStrategyLowestPrice is a AllocationStrategy enum value
  41320. AllocationStrategyLowestPrice = "lowestPrice"
  41321. // AllocationStrategyDiversified is a AllocationStrategy enum value
  41322. AllocationStrategyDiversified = "diversified"
  41323. )
  41324. const (
  41325. // ArchitectureValuesI386 is a ArchitectureValues enum value
  41326. ArchitectureValuesI386 = "i386"
  41327. // ArchitectureValuesX8664 is a ArchitectureValues enum value
  41328. ArchitectureValuesX8664 = "x86_64"
  41329. )
  41330. const (
  41331. // AttachmentStatusAttaching is a AttachmentStatus enum value
  41332. AttachmentStatusAttaching = "attaching"
  41333. // AttachmentStatusAttached is a AttachmentStatus enum value
  41334. AttachmentStatusAttached = "attached"
  41335. // AttachmentStatusDetaching is a AttachmentStatus enum value
  41336. AttachmentStatusDetaching = "detaching"
  41337. // AttachmentStatusDetached is a AttachmentStatus enum value
  41338. AttachmentStatusDetached = "detached"
  41339. )
  41340. const (
  41341. // AutoPlacementOn is a AutoPlacement enum value
  41342. AutoPlacementOn = "on"
  41343. // AutoPlacementOff is a AutoPlacement enum value
  41344. AutoPlacementOff = "off"
  41345. )
  41346. const (
  41347. // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
  41348. AvailabilityZoneStateAvailable = "available"
  41349. // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
  41350. AvailabilityZoneStateInformation = "information"
  41351. // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
  41352. AvailabilityZoneStateImpaired = "impaired"
  41353. // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
  41354. AvailabilityZoneStateUnavailable = "unavailable"
  41355. )
  41356. const (
  41357. // BatchStateSubmitted is a BatchState enum value
  41358. BatchStateSubmitted = "submitted"
  41359. // BatchStateActive is a BatchState enum value
  41360. BatchStateActive = "active"
  41361. // BatchStateCancelled is a BatchState enum value
  41362. BatchStateCancelled = "cancelled"
  41363. // BatchStateFailed is a BatchState enum value
  41364. BatchStateFailed = "failed"
  41365. // BatchStateCancelledRunning is a BatchState enum value
  41366. BatchStateCancelledRunning = "cancelled_running"
  41367. // BatchStateCancelledTerminating is a BatchState enum value
  41368. BatchStateCancelledTerminating = "cancelled_terminating"
  41369. // BatchStateModifying is a BatchState enum value
  41370. BatchStateModifying = "modifying"
  41371. )
  41372. const (
  41373. // BundleTaskStatePending is a BundleTaskState enum value
  41374. BundleTaskStatePending = "pending"
  41375. // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
  41376. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  41377. // BundleTaskStateBundling is a BundleTaskState enum value
  41378. BundleTaskStateBundling = "bundling"
  41379. // BundleTaskStateStoring is a BundleTaskState enum value
  41380. BundleTaskStateStoring = "storing"
  41381. // BundleTaskStateCancelling is a BundleTaskState enum value
  41382. BundleTaskStateCancelling = "cancelling"
  41383. // BundleTaskStateComplete is a BundleTaskState enum value
  41384. BundleTaskStateComplete = "complete"
  41385. // BundleTaskStateFailed is a BundleTaskState enum value
  41386. BundleTaskStateFailed = "failed"
  41387. )
  41388. const (
  41389. // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
  41390. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  41391. // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
  41392. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  41393. // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
  41394. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  41395. // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
  41396. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  41397. )
  41398. const (
  41399. // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
  41400. CancelSpotInstanceRequestStateActive = "active"
  41401. // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
  41402. CancelSpotInstanceRequestStateOpen = "open"
  41403. // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
  41404. CancelSpotInstanceRequestStateClosed = "closed"
  41405. // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
  41406. CancelSpotInstanceRequestStateCancelled = "cancelled"
  41407. // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
  41408. CancelSpotInstanceRequestStateCompleted = "completed"
  41409. )
  41410. const (
  41411. // ContainerFormatOva is a ContainerFormat enum value
  41412. ContainerFormatOva = "ova"
  41413. )
  41414. const (
  41415. // ConversionTaskStateActive is a ConversionTaskState enum value
  41416. ConversionTaskStateActive = "active"
  41417. // ConversionTaskStateCancelling is a ConversionTaskState enum value
  41418. ConversionTaskStateCancelling = "cancelling"
  41419. // ConversionTaskStateCancelled is a ConversionTaskState enum value
  41420. ConversionTaskStateCancelled = "cancelled"
  41421. // ConversionTaskStateCompleted is a ConversionTaskState enum value
  41422. ConversionTaskStateCompleted = "completed"
  41423. )
  41424. const (
  41425. // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
  41426. CurrencyCodeValuesUsd = "USD"
  41427. )
  41428. const (
  41429. // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
  41430. DatafeedSubscriptionStateActive = "Active"
  41431. // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
  41432. DatafeedSubscriptionStateInactive = "Inactive"
  41433. )
  41434. const (
  41435. // DeviceTypeEbs is a DeviceType enum value
  41436. DeviceTypeEbs = "ebs"
  41437. // DeviceTypeInstanceStore is a DeviceType enum value
  41438. DeviceTypeInstanceStore = "instance-store"
  41439. )
  41440. const (
  41441. // DiskImageFormatVmdk is a DiskImageFormat enum value
  41442. DiskImageFormatVmdk = "VMDK"
  41443. // DiskImageFormatRaw is a DiskImageFormat enum value
  41444. DiskImageFormatRaw = "RAW"
  41445. // DiskImageFormatVhd is a DiskImageFormat enum value
  41446. DiskImageFormatVhd = "VHD"
  41447. )
  41448. const (
  41449. // DomainTypeVpc is a DomainType enum value
  41450. DomainTypeVpc = "vpc"
  41451. // DomainTypeStandard is a DomainType enum value
  41452. DomainTypeStandard = "standard"
  41453. )
  41454. const (
  41455. // EventCodeInstanceReboot is a EventCode enum value
  41456. EventCodeInstanceReboot = "instance-reboot"
  41457. // EventCodeSystemReboot is a EventCode enum value
  41458. EventCodeSystemReboot = "system-reboot"
  41459. // EventCodeSystemMaintenance is a EventCode enum value
  41460. EventCodeSystemMaintenance = "system-maintenance"
  41461. // EventCodeInstanceRetirement is a EventCode enum value
  41462. EventCodeInstanceRetirement = "instance-retirement"
  41463. // EventCodeInstanceStop is a EventCode enum value
  41464. EventCodeInstanceStop = "instance-stop"
  41465. )
  41466. const (
  41467. // EventTypeInstanceChange is a EventType enum value
  41468. EventTypeInstanceChange = "instanceChange"
  41469. // EventTypeFleetRequestChange is a EventType enum value
  41470. EventTypeFleetRequestChange = "fleetRequestChange"
  41471. // EventTypeError is a EventType enum value
  41472. EventTypeError = "error"
  41473. )
  41474. const (
  41475. // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
  41476. ExcessCapacityTerminationPolicyNoTermination = "noTermination"
  41477. // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
  41478. ExcessCapacityTerminationPolicyDefault = "default"
  41479. )
  41480. const (
  41481. // ExportEnvironmentCitrix is a ExportEnvironment enum value
  41482. ExportEnvironmentCitrix = "citrix"
  41483. // ExportEnvironmentVmware is a ExportEnvironment enum value
  41484. ExportEnvironmentVmware = "vmware"
  41485. // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
  41486. ExportEnvironmentMicrosoft = "microsoft"
  41487. )
  41488. const (
  41489. // ExportTaskStateActive is a ExportTaskState enum value
  41490. ExportTaskStateActive = "active"
  41491. // ExportTaskStateCancelling is a ExportTaskState enum value
  41492. ExportTaskStateCancelling = "cancelling"
  41493. // ExportTaskStateCancelled is a ExportTaskState enum value
  41494. ExportTaskStateCancelled = "cancelled"
  41495. // ExportTaskStateCompleted is a ExportTaskState enum value
  41496. ExportTaskStateCompleted = "completed"
  41497. )
  41498. const (
  41499. // FleetTypeRequest is a FleetType enum value
  41500. FleetTypeRequest = "request"
  41501. // FleetTypeMaintain is a FleetType enum value
  41502. FleetTypeMaintain = "maintain"
  41503. )
  41504. const (
  41505. // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
  41506. FlowLogsResourceTypeVpc = "VPC"
  41507. // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
  41508. FlowLogsResourceTypeSubnet = "Subnet"
  41509. // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
  41510. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  41511. )
  41512. const (
  41513. // GatewayTypeIpsec1 is a GatewayType enum value
  41514. GatewayTypeIpsec1 = "ipsec.1"
  41515. )
  41516. const (
  41517. // HostTenancyDedicated is a HostTenancy enum value
  41518. HostTenancyDedicated = "dedicated"
  41519. // HostTenancyHost is a HostTenancy enum value
  41520. HostTenancyHost = "host"
  41521. )
  41522. const (
  41523. // HypervisorTypeOvm is a HypervisorType enum value
  41524. HypervisorTypeOvm = "ovm"
  41525. // HypervisorTypeXen is a HypervisorType enum value
  41526. HypervisorTypeXen = "xen"
  41527. )
  41528. const (
  41529. // ImageAttributeNameDescription is a ImageAttributeName enum value
  41530. ImageAttributeNameDescription = "description"
  41531. // ImageAttributeNameKernel is a ImageAttributeName enum value
  41532. ImageAttributeNameKernel = "kernel"
  41533. // ImageAttributeNameRamdisk is a ImageAttributeName enum value
  41534. ImageAttributeNameRamdisk = "ramdisk"
  41535. // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
  41536. ImageAttributeNameLaunchPermission = "launchPermission"
  41537. // ImageAttributeNameProductCodes is a ImageAttributeName enum value
  41538. ImageAttributeNameProductCodes = "productCodes"
  41539. // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
  41540. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  41541. // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
  41542. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  41543. )
  41544. const (
  41545. // ImageStatePending is a ImageState enum value
  41546. ImageStatePending = "pending"
  41547. // ImageStateAvailable is a ImageState enum value
  41548. ImageStateAvailable = "available"
  41549. // ImageStateInvalid is a ImageState enum value
  41550. ImageStateInvalid = "invalid"
  41551. // ImageStateDeregistered is a ImageState enum value
  41552. ImageStateDeregistered = "deregistered"
  41553. // ImageStateTransient is a ImageState enum value
  41554. ImageStateTransient = "transient"
  41555. // ImageStateFailed is a ImageState enum value
  41556. ImageStateFailed = "failed"
  41557. // ImageStateError is a ImageState enum value
  41558. ImageStateError = "error"
  41559. )
  41560. const (
  41561. // ImageTypeValuesMachine is a ImageTypeValues enum value
  41562. ImageTypeValuesMachine = "machine"
  41563. // ImageTypeValuesKernel is a ImageTypeValues enum value
  41564. ImageTypeValuesKernel = "kernel"
  41565. // ImageTypeValuesRamdisk is a ImageTypeValues enum value
  41566. ImageTypeValuesRamdisk = "ramdisk"
  41567. )
  41568. const (
  41569. // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
  41570. InstanceAttributeNameInstanceType = "instanceType"
  41571. // InstanceAttributeNameKernel is a InstanceAttributeName enum value
  41572. InstanceAttributeNameKernel = "kernel"
  41573. // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
  41574. InstanceAttributeNameRamdisk = "ramdisk"
  41575. // InstanceAttributeNameUserData is a InstanceAttributeName enum value
  41576. InstanceAttributeNameUserData = "userData"
  41577. // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
  41578. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  41579. // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
  41580. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  41581. // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
  41582. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  41583. // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
  41584. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  41585. // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
  41586. InstanceAttributeNameProductCodes = "productCodes"
  41587. // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
  41588. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  41589. // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
  41590. InstanceAttributeNameGroupSet = "groupSet"
  41591. // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
  41592. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  41593. // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
  41594. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  41595. // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
  41596. InstanceAttributeNameEnaSupport = "enaSupport"
  41597. )
  41598. const (
  41599. // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
  41600. InstanceLifecycleTypeSpot = "spot"
  41601. // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
  41602. InstanceLifecycleTypeScheduled = "scheduled"
  41603. )
  41604. const (
  41605. // InstanceStateNamePending is a InstanceStateName enum value
  41606. InstanceStateNamePending = "pending"
  41607. // InstanceStateNameRunning is a InstanceStateName enum value
  41608. InstanceStateNameRunning = "running"
  41609. // InstanceStateNameShuttingDown is a InstanceStateName enum value
  41610. InstanceStateNameShuttingDown = "shutting-down"
  41611. // InstanceStateNameTerminated is a InstanceStateName enum value
  41612. InstanceStateNameTerminated = "terminated"
  41613. // InstanceStateNameStopping is a InstanceStateName enum value
  41614. InstanceStateNameStopping = "stopping"
  41615. // InstanceStateNameStopped is a InstanceStateName enum value
  41616. InstanceStateNameStopped = "stopped"
  41617. )
  41618. const (
  41619. // InstanceTypeT1Micro is a InstanceType enum value
  41620. InstanceTypeT1Micro = "t1.micro"
  41621. // InstanceTypeT2Nano is a InstanceType enum value
  41622. InstanceTypeT2Nano = "t2.nano"
  41623. // InstanceTypeT2Micro is a InstanceType enum value
  41624. InstanceTypeT2Micro = "t2.micro"
  41625. // InstanceTypeT2Small is a InstanceType enum value
  41626. InstanceTypeT2Small = "t2.small"
  41627. // InstanceTypeT2Medium is a InstanceType enum value
  41628. InstanceTypeT2Medium = "t2.medium"
  41629. // InstanceTypeT2Large is a InstanceType enum value
  41630. InstanceTypeT2Large = "t2.large"
  41631. // InstanceTypeM1Small is a InstanceType enum value
  41632. InstanceTypeM1Small = "m1.small"
  41633. // InstanceTypeM1Medium is a InstanceType enum value
  41634. InstanceTypeM1Medium = "m1.medium"
  41635. // InstanceTypeM1Large is a InstanceType enum value
  41636. InstanceTypeM1Large = "m1.large"
  41637. // InstanceTypeM1Xlarge is a InstanceType enum value
  41638. InstanceTypeM1Xlarge = "m1.xlarge"
  41639. // InstanceTypeM3Medium is a InstanceType enum value
  41640. InstanceTypeM3Medium = "m3.medium"
  41641. // InstanceTypeM3Large is a InstanceType enum value
  41642. InstanceTypeM3Large = "m3.large"
  41643. // InstanceTypeM3Xlarge is a InstanceType enum value
  41644. InstanceTypeM3Xlarge = "m3.xlarge"
  41645. // InstanceTypeM32xlarge is a InstanceType enum value
  41646. InstanceTypeM32xlarge = "m3.2xlarge"
  41647. // InstanceTypeM4Large is a InstanceType enum value
  41648. InstanceTypeM4Large = "m4.large"
  41649. // InstanceTypeM4Xlarge is a InstanceType enum value
  41650. InstanceTypeM4Xlarge = "m4.xlarge"
  41651. // InstanceTypeM42xlarge is a InstanceType enum value
  41652. InstanceTypeM42xlarge = "m4.2xlarge"
  41653. // InstanceTypeM44xlarge is a InstanceType enum value
  41654. InstanceTypeM44xlarge = "m4.4xlarge"
  41655. // InstanceTypeM410xlarge is a InstanceType enum value
  41656. InstanceTypeM410xlarge = "m4.10xlarge"
  41657. // InstanceTypeM416xlarge is a InstanceType enum value
  41658. InstanceTypeM416xlarge = "m4.16xlarge"
  41659. // InstanceTypeM2Xlarge is a InstanceType enum value
  41660. InstanceTypeM2Xlarge = "m2.xlarge"
  41661. // InstanceTypeM22xlarge is a InstanceType enum value
  41662. InstanceTypeM22xlarge = "m2.2xlarge"
  41663. // InstanceTypeM24xlarge is a InstanceType enum value
  41664. InstanceTypeM24xlarge = "m2.4xlarge"
  41665. // InstanceTypeCr18xlarge is a InstanceType enum value
  41666. InstanceTypeCr18xlarge = "cr1.8xlarge"
  41667. // InstanceTypeR3Large is a InstanceType enum value
  41668. InstanceTypeR3Large = "r3.large"
  41669. // InstanceTypeR3Xlarge is a InstanceType enum value
  41670. InstanceTypeR3Xlarge = "r3.xlarge"
  41671. // InstanceTypeR32xlarge is a InstanceType enum value
  41672. InstanceTypeR32xlarge = "r3.2xlarge"
  41673. // InstanceTypeR34xlarge is a InstanceType enum value
  41674. InstanceTypeR34xlarge = "r3.4xlarge"
  41675. // InstanceTypeR38xlarge is a InstanceType enum value
  41676. InstanceTypeR38xlarge = "r3.8xlarge"
  41677. // InstanceTypeX116xlarge is a InstanceType enum value
  41678. InstanceTypeX116xlarge = "x1.16xlarge"
  41679. // InstanceTypeX132xlarge is a InstanceType enum value
  41680. InstanceTypeX132xlarge = "x1.32xlarge"
  41681. // InstanceTypeI2Xlarge is a InstanceType enum value
  41682. InstanceTypeI2Xlarge = "i2.xlarge"
  41683. // InstanceTypeI22xlarge is a InstanceType enum value
  41684. InstanceTypeI22xlarge = "i2.2xlarge"
  41685. // InstanceTypeI24xlarge is a InstanceType enum value
  41686. InstanceTypeI24xlarge = "i2.4xlarge"
  41687. // InstanceTypeI28xlarge is a InstanceType enum value
  41688. InstanceTypeI28xlarge = "i2.8xlarge"
  41689. // InstanceTypeHi14xlarge is a InstanceType enum value
  41690. InstanceTypeHi14xlarge = "hi1.4xlarge"
  41691. // InstanceTypeHs18xlarge is a InstanceType enum value
  41692. InstanceTypeHs18xlarge = "hs1.8xlarge"
  41693. // InstanceTypeC1Medium is a InstanceType enum value
  41694. InstanceTypeC1Medium = "c1.medium"
  41695. // InstanceTypeC1Xlarge is a InstanceType enum value
  41696. InstanceTypeC1Xlarge = "c1.xlarge"
  41697. // InstanceTypeC3Large is a InstanceType enum value
  41698. InstanceTypeC3Large = "c3.large"
  41699. // InstanceTypeC3Xlarge is a InstanceType enum value
  41700. InstanceTypeC3Xlarge = "c3.xlarge"
  41701. // InstanceTypeC32xlarge is a InstanceType enum value
  41702. InstanceTypeC32xlarge = "c3.2xlarge"
  41703. // InstanceTypeC34xlarge is a InstanceType enum value
  41704. InstanceTypeC34xlarge = "c3.4xlarge"
  41705. // InstanceTypeC38xlarge is a InstanceType enum value
  41706. InstanceTypeC38xlarge = "c3.8xlarge"
  41707. // InstanceTypeC4Large is a InstanceType enum value
  41708. InstanceTypeC4Large = "c4.large"
  41709. // InstanceTypeC4Xlarge is a InstanceType enum value
  41710. InstanceTypeC4Xlarge = "c4.xlarge"
  41711. // InstanceTypeC42xlarge is a InstanceType enum value
  41712. InstanceTypeC42xlarge = "c4.2xlarge"
  41713. // InstanceTypeC44xlarge is a InstanceType enum value
  41714. InstanceTypeC44xlarge = "c4.4xlarge"
  41715. // InstanceTypeC48xlarge is a InstanceType enum value
  41716. InstanceTypeC48xlarge = "c4.8xlarge"
  41717. // InstanceTypeCc14xlarge is a InstanceType enum value
  41718. InstanceTypeCc14xlarge = "cc1.4xlarge"
  41719. // InstanceTypeCc28xlarge is a InstanceType enum value
  41720. InstanceTypeCc28xlarge = "cc2.8xlarge"
  41721. // InstanceTypeG22xlarge is a InstanceType enum value
  41722. InstanceTypeG22xlarge = "g2.2xlarge"
  41723. // InstanceTypeG28xlarge is a InstanceType enum value
  41724. InstanceTypeG28xlarge = "g2.8xlarge"
  41725. // InstanceTypeCg14xlarge is a InstanceType enum value
  41726. InstanceTypeCg14xlarge = "cg1.4xlarge"
  41727. // InstanceTypeP2Xlarge is a InstanceType enum value
  41728. InstanceTypeP2Xlarge = "p2.xlarge"
  41729. // InstanceTypeP28xlarge is a InstanceType enum value
  41730. InstanceTypeP28xlarge = "p2.8xlarge"
  41731. // InstanceTypeP216xlarge is a InstanceType enum value
  41732. InstanceTypeP216xlarge = "p2.16xlarge"
  41733. // InstanceTypeD2Xlarge is a InstanceType enum value
  41734. InstanceTypeD2Xlarge = "d2.xlarge"
  41735. // InstanceTypeD22xlarge is a InstanceType enum value
  41736. InstanceTypeD22xlarge = "d2.2xlarge"
  41737. // InstanceTypeD24xlarge is a InstanceType enum value
  41738. InstanceTypeD24xlarge = "d2.4xlarge"
  41739. // InstanceTypeD28xlarge is a InstanceType enum value
  41740. InstanceTypeD28xlarge = "d2.8xlarge"
  41741. )
  41742. const (
  41743. // ListingStateAvailable is a ListingState enum value
  41744. ListingStateAvailable = "available"
  41745. // ListingStateSold is a ListingState enum value
  41746. ListingStateSold = "sold"
  41747. // ListingStateCancelled is a ListingState enum value
  41748. ListingStateCancelled = "cancelled"
  41749. // ListingStatePending is a ListingState enum value
  41750. ListingStatePending = "pending"
  41751. )
  41752. const (
  41753. // ListingStatusActive is a ListingStatus enum value
  41754. ListingStatusActive = "active"
  41755. // ListingStatusPending is a ListingStatus enum value
  41756. ListingStatusPending = "pending"
  41757. // ListingStatusCancelled is a ListingStatus enum value
  41758. ListingStatusCancelled = "cancelled"
  41759. // ListingStatusClosed is a ListingStatus enum value
  41760. ListingStatusClosed = "closed"
  41761. )
  41762. const (
  41763. // MonitoringStateDisabled is a MonitoringState enum value
  41764. MonitoringStateDisabled = "disabled"
  41765. // MonitoringStateDisabling is a MonitoringState enum value
  41766. MonitoringStateDisabling = "disabling"
  41767. // MonitoringStateEnabled is a MonitoringState enum value
  41768. MonitoringStateEnabled = "enabled"
  41769. // MonitoringStatePending is a MonitoringState enum value
  41770. MonitoringStatePending = "pending"
  41771. )
  41772. const (
  41773. // MoveStatusMovingToVpc is a MoveStatus enum value
  41774. MoveStatusMovingToVpc = "movingToVpc"
  41775. // MoveStatusRestoringToClassic is a MoveStatus enum value
  41776. MoveStatusRestoringToClassic = "restoringToClassic"
  41777. )
  41778. const (
  41779. // NatGatewayStatePending is a NatGatewayState enum value
  41780. NatGatewayStatePending = "pending"
  41781. // NatGatewayStateFailed is a NatGatewayState enum value
  41782. NatGatewayStateFailed = "failed"
  41783. // NatGatewayStateAvailable is a NatGatewayState enum value
  41784. NatGatewayStateAvailable = "available"
  41785. // NatGatewayStateDeleting is a NatGatewayState enum value
  41786. NatGatewayStateDeleting = "deleting"
  41787. // NatGatewayStateDeleted is a NatGatewayState enum value
  41788. NatGatewayStateDeleted = "deleted"
  41789. )
  41790. const (
  41791. // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
  41792. NetworkInterfaceAttributeDescription = "description"
  41793. // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
  41794. NetworkInterfaceAttributeGroupSet = "groupSet"
  41795. // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
  41796. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  41797. // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
  41798. NetworkInterfaceAttributeAttachment = "attachment"
  41799. )
  41800. const (
  41801. // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
  41802. NetworkInterfaceStatusAvailable = "available"
  41803. // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
  41804. NetworkInterfaceStatusAttaching = "attaching"
  41805. // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
  41806. NetworkInterfaceStatusInUse = "in-use"
  41807. // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
  41808. NetworkInterfaceStatusDetaching = "detaching"
  41809. )
  41810. const (
  41811. // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
  41812. NetworkInterfaceTypeInterface = "interface"
  41813. // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
  41814. NetworkInterfaceTypeNatGateway = "natGateway"
  41815. )
  41816. const (
  41817. // OfferingClassTypeStandard is a OfferingClassType enum value
  41818. OfferingClassTypeStandard = "standard"
  41819. // OfferingClassTypeConvertible is a OfferingClassType enum value
  41820. OfferingClassTypeConvertible = "convertible"
  41821. )
  41822. const (
  41823. // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
  41824. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  41825. // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
  41826. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  41827. // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
  41828. OfferingTypeValuesLightUtilization = "Light Utilization"
  41829. // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
  41830. OfferingTypeValuesNoUpfront = "No Upfront"
  41831. // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
  41832. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  41833. // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
  41834. OfferingTypeValuesAllUpfront = "All Upfront"
  41835. )
  41836. const (
  41837. // OperationTypeAdd is a OperationType enum value
  41838. OperationTypeAdd = "add"
  41839. // OperationTypeRemove is a OperationType enum value
  41840. OperationTypeRemove = "remove"
  41841. )
  41842. const (
  41843. // PaymentOptionAllUpfront is a PaymentOption enum value
  41844. PaymentOptionAllUpfront = "AllUpfront"
  41845. // PaymentOptionPartialUpfront is a PaymentOption enum value
  41846. PaymentOptionPartialUpfront = "PartialUpfront"
  41847. // PaymentOptionNoUpfront is a PaymentOption enum value
  41848. PaymentOptionNoUpfront = "NoUpfront"
  41849. )
  41850. const (
  41851. // PermissionGroupAll is a PermissionGroup enum value
  41852. PermissionGroupAll = "all"
  41853. )
  41854. const (
  41855. // PlacementGroupStatePending is a PlacementGroupState enum value
  41856. PlacementGroupStatePending = "pending"
  41857. // PlacementGroupStateAvailable is a PlacementGroupState enum value
  41858. PlacementGroupStateAvailable = "available"
  41859. // PlacementGroupStateDeleting is a PlacementGroupState enum value
  41860. PlacementGroupStateDeleting = "deleting"
  41861. // PlacementGroupStateDeleted is a PlacementGroupState enum value
  41862. PlacementGroupStateDeleted = "deleted"
  41863. )
  41864. const (
  41865. // PlacementStrategyCluster is a PlacementStrategy enum value
  41866. PlacementStrategyCluster = "cluster"
  41867. )
  41868. const (
  41869. // PlatformValuesWindows is a PlatformValues enum value
  41870. PlatformValuesWindows = "Windows"
  41871. )
  41872. const (
  41873. // ProductCodeValuesDevpay is a ProductCodeValues enum value
  41874. ProductCodeValuesDevpay = "devpay"
  41875. // ProductCodeValuesMarketplace is a ProductCodeValues enum value
  41876. ProductCodeValuesMarketplace = "marketplace"
  41877. )
  41878. const (
  41879. // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
  41880. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  41881. // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
  41882. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  41883. // RIProductDescriptionWindows is a RIProductDescription enum value
  41884. RIProductDescriptionWindows = "Windows"
  41885. // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
  41886. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  41887. )
  41888. const (
  41889. // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
  41890. RecurringChargeFrequencyHourly = "Hourly"
  41891. )
  41892. const (
  41893. // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
  41894. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  41895. // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
  41896. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  41897. // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
  41898. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  41899. // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
  41900. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  41901. // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
  41902. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  41903. // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
  41904. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  41905. // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
  41906. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  41907. // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
  41908. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  41909. // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
  41910. ReportInstanceReasonCodesOther = "other"
  41911. )
  41912. const (
  41913. // ReportStatusTypeOk is a ReportStatusType enum value
  41914. ReportStatusTypeOk = "ok"
  41915. // ReportStatusTypeImpaired is a ReportStatusType enum value
  41916. ReportStatusTypeImpaired = "impaired"
  41917. )
  41918. const (
  41919. // ReservationStatePaymentPending is a ReservationState enum value
  41920. ReservationStatePaymentPending = "payment-pending"
  41921. // ReservationStatePaymentFailed is a ReservationState enum value
  41922. ReservationStatePaymentFailed = "payment-failed"
  41923. // ReservationStateActive is a ReservationState enum value
  41924. ReservationStateActive = "active"
  41925. // ReservationStateRetired is a ReservationState enum value
  41926. ReservationStateRetired = "retired"
  41927. )
  41928. const (
  41929. // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
  41930. ReservedInstanceStatePaymentPending = "payment-pending"
  41931. // ReservedInstanceStateActive is a ReservedInstanceState enum value
  41932. ReservedInstanceStateActive = "active"
  41933. // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
  41934. ReservedInstanceStatePaymentFailed = "payment-failed"
  41935. // ReservedInstanceStateRetired is a ReservedInstanceState enum value
  41936. ReservedInstanceStateRetired = "retired"
  41937. )
  41938. const (
  41939. // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
  41940. ResetImageAttributeNameLaunchPermission = "launchPermission"
  41941. )
  41942. const (
  41943. // ResourceTypeCustomerGateway is a ResourceType enum value
  41944. ResourceTypeCustomerGateway = "customer-gateway"
  41945. // ResourceTypeDhcpOptions is a ResourceType enum value
  41946. ResourceTypeDhcpOptions = "dhcp-options"
  41947. // ResourceTypeImage is a ResourceType enum value
  41948. ResourceTypeImage = "image"
  41949. // ResourceTypeInstance is a ResourceType enum value
  41950. ResourceTypeInstance = "instance"
  41951. // ResourceTypeInternetGateway is a ResourceType enum value
  41952. ResourceTypeInternetGateway = "internet-gateway"
  41953. // ResourceTypeNetworkAcl is a ResourceType enum value
  41954. ResourceTypeNetworkAcl = "network-acl"
  41955. // ResourceTypeNetworkInterface is a ResourceType enum value
  41956. ResourceTypeNetworkInterface = "network-interface"
  41957. // ResourceTypeReservedInstances is a ResourceType enum value
  41958. ResourceTypeReservedInstances = "reserved-instances"
  41959. // ResourceTypeRouteTable is a ResourceType enum value
  41960. ResourceTypeRouteTable = "route-table"
  41961. // ResourceTypeSnapshot is a ResourceType enum value
  41962. ResourceTypeSnapshot = "snapshot"
  41963. // ResourceTypeSpotInstancesRequest is a ResourceType enum value
  41964. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  41965. // ResourceTypeSubnet is a ResourceType enum value
  41966. ResourceTypeSubnet = "subnet"
  41967. // ResourceTypeSecurityGroup is a ResourceType enum value
  41968. ResourceTypeSecurityGroup = "security-group"
  41969. // ResourceTypeVolume is a ResourceType enum value
  41970. ResourceTypeVolume = "volume"
  41971. // ResourceTypeVpc is a ResourceType enum value
  41972. ResourceTypeVpc = "vpc"
  41973. // ResourceTypeVpnConnection is a ResourceType enum value
  41974. ResourceTypeVpnConnection = "vpn-connection"
  41975. // ResourceTypeVpnGateway is a ResourceType enum value
  41976. ResourceTypeVpnGateway = "vpn-gateway"
  41977. )
  41978. const (
  41979. // RouteOriginCreateRouteTable is a RouteOrigin enum value
  41980. RouteOriginCreateRouteTable = "CreateRouteTable"
  41981. // RouteOriginCreateRoute is a RouteOrigin enum value
  41982. RouteOriginCreateRoute = "CreateRoute"
  41983. // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
  41984. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  41985. )
  41986. const (
  41987. // RouteStateActive is a RouteState enum value
  41988. RouteStateActive = "active"
  41989. // RouteStateBlackhole is a RouteState enum value
  41990. RouteStateBlackhole = "blackhole"
  41991. )
  41992. const (
  41993. // RuleActionAllow is a RuleAction enum value
  41994. RuleActionAllow = "allow"
  41995. // RuleActionDeny is a RuleAction enum value
  41996. RuleActionDeny = "deny"
  41997. )
  41998. const (
  41999. // ShutdownBehaviorStop is a ShutdownBehavior enum value
  42000. ShutdownBehaviorStop = "stop"
  42001. // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
  42002. ShutdownBehaviorTerminate = "terminate"
  42003. )
  42004. const (
  42005. // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
  42006. SnapshotAttributeNameProductCodes = "productCodes"
  42007. // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
  42008. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  42009. )
  42010. const (
  42011. // SnapshotStatePending is a SnapshotState enum value
  42012. SnapshotStatePending = "pending"
  42013. // SnapshotStateCompleted is a SnapshotState enum value
  42014. SnapshotStateCompleted = "completed"
  42015. // SnapshotStateError is a SnapshotState enum value
  42016. SnapshotStateError = "error"
  42017. )
  42018. const (
  42019. // SpotInstanceStateOpen is a SpotInstanceState enum value
  42020. SpotInstanceStateOpen = "open"
  42021. // SpotInstanceStateActive is a SpotInstanceState enum value
  42022. SpotInstanceStateActive = "active"
  42023. // SpotInstanceStateClosed is a SpotInstanceState enum value
  42024. SpotInstanceStateClosed = "closed"
  42025. // SpotInstanceStateCancelled is a SpotInstanceState enum value
  42026. SpotInstanceStateCancelled = "cancelled"
  42027. // SpotInstanceStateFailed is a SpotInstanceState enum value
  42028. SpotInstanceStateFailed = "failed"
  42029. )
  42030. const (
  42031. // SpotInstanceTypeOneTime is a SpotInstanceType enum value
  42032. SpotInstanceTypeOneTime = "one-time"
  42033. // SpotInstanceTypePersistent is a SpotInstanceType enum value
  42034. SpotInstanceTypePersistent = "persistent"
  42035. )
  42036. const (
  42037. // StatePending is a State enum value
  42038. StatePending = "Pending"
  42039. // StateAvailable is a State enum value
  42040. StateAvailable = "Available"
  42041. // StateDeleting is a State enum value
  42042. StateDeleting = "Deleting"
  42043. // StateDeleted is a State enum value
  42044. StateDeleted = "Deleted"
  42045. )
  42046. const (
  42047. // StatusMoveInProgress is a Status enum value
  42048. StatusMoveInProgress = "MoveInProgress"
  42049. // StatusInVpc is a Status enum value
  42050. StatusInVpc = "InVpc"
  42051. // StatusInClassic is a Status enum value
  42052. StatusInClassic = "InClassic"
  42053. )
  42054. const (
  42055. // StatusNameReachability is a StatusName enum value
  42056. StatusNameReachability = "reachability"
  42057. )
  42058. const (
  42059. // StatusTypePassed is a StatusType enum value
  42060. StatusTypePassed = "passed"
  42061. // StatusTypeFailed is a StatusType enum value
  42062. StatusTypeFailed = "failed"
  42063. // StatusTypeInsufficientData is a StatusType enum value
  42064. StatusTypeInsufficientData = "insufficient-data"
  42065. // StatusTypeInitializing is a StatusType enum value
  42066. StatusTypeInitializing = "initializing"
  42067. )
  42068. const (
  42069. // SubnetStatePending is a SubnetState enum value
  42070. SubnetStatePending = "pending"
  42071. // SubnetStateAvailable is a SubnetState enum value
  42072. SubnetStateAvailable = "available"
  42073. )
  42074. const (
  42075. // SummaryStatusOk is a SummaryStatus enum value
  42076. SummaryStatusOk = "ok"
  42077. // SummaryStatusImpaired is a SummaryStatus enum value
  42078. SummaryStatusImpaired = "impaired"
  42079. // SummaryStatusInsufficientData is a SummaryStatus enum value
  42080. SummaryStatusInsufficientData = "insufficient-data"
  42081. // SummaryStatusNotApplicable is a SummaryStatus enum value
  42082. SummaryStatusNotApplicable = "not-applicable"
  42083. // SummaryStatusInitializing is a SummaryStatus enum value
  42084. SummaryStatusInitializing = "initializing"
  42085. )
  42086. const (
  42087. // TelemetryStatusUp is a TelemetryStatus enum value
  42088. TelemetryStatusUp = "UP"
  42089. // TelemetryStatusDown is a TelemetryStatus enum value
  42090. TelemetryStatusDown = "DOWN"
  42091. )
  42092. const (
  42093. // TenancyDefault is a Tenancy enum value
  42094. TenancyDefault = "default"
  42095. // TenancyDedicated is a Tenancy enum value
  42096. TenancyDedicated = "dedicated"
  42097. // TenancyHost is a Tenancy enum value
  42098. TenancyHost = "host"
  42099. )
  42100. const (
  42101. // TrafficTypeAccept is a TrafficType enum value
  42102. TrafficTypeAccept = "ACCEPT"
  42103. // TrafficTypeReject is a TrafficType enum value
  42104. TrafficTypeReject = "REJECT"
  42105. // TrafficTypeAll is a TrafficType enum value
  42106. TrafficTypeAll = "ALL"
  42107. )
  42108. const (
  42109. // VirtualizationTypeHvm is a VirtualizationType enum value
  42110. VirtualizationTypeHvm = "hvm"
  42111. // VirtualizationTypeParavirtual is a VirtualizationType enum value
  42112. VirtualizationTypeParavirtual = "paravirtual"
  42113. )
  42114. const (
  42115. // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
  42116. VolumeAttachmentStateAttaching = "attaching"
  42117. // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
  42118. VolumeAttachmentStateAttached = "attached"
  42119. // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
  42120. VolumeAttachmentStateDetaching = "detaching"
  42121. // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
  42122. VolumeAttachmentStateDetached = "detached"
  42123. )
  42124. const (
  42125. // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
  42126. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  42127. // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
  42128. VolumeAttributeNameProductCodes = "productCodes"
  42129. )
  42130. const (
  42131. // VolumeStateCreating is a VolumeState enum value
  42132. VolumeStateCreating = "creating"
  42133. // VolumeStateAvailable is a VolumeState enum value
  42134. VolumeStateAvailable = "available"
  42135. // VolumeStateInUse is a VolumeState enum value
  42136. VolumeStateInUse = "in-use"
  42137. // VolumeStateDeleting is a VolumeState enum value
  42138. VolumeStateDeleting = "deleting"
  42139. // VolumeStateDeleted is a VolumeState enum value
  42140. VolumeStateDeleted = "deleted"
  42141. // VolumeStateError is a VolumeState enum value
  42142. VolumeStateError = "error"
  42143. )
  42144. const (
  42145. // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
  42146. VolumeStatusInfoStatusOk = "ok"
  42147. // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
  42148. VolumeStatusInfoStatusImpaired = "impaired"
  42149. // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
  42150. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  42151. )
  42152. const (
  42153. // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
  42154. VolumeStatusNameIoEnabled = "io-enabled"
  42155. // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
  42156. VolumeStatusNameIoPerformance = "io-performance"
  42157. )
  42158. const (
  42159. // VolumeTypeStandard is a VolumeType enum value
  42160. VolumeTypeStandard = "standard"
  42161. // VolumeTypeIo1 is a VolumeType enum value
  42162. VolumeTypeIo1 = "io1"
  42163. // VolumeTypeGp2 is a VolumeType enum value
  42164. VolumeTypeGp2 = "gp2"
  42165. // VolumeTypeSc1 is a VolumeType enum value
  42166. VolumeTypeSc1 = "sc1"
  42167. // VolumeTypeSt1 is a VolumeType enum value
  42168. VolumeTypeSt1 = "st1"
  42169. )
  42170. const (
  42171. // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
  42172. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  42173. // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
  42174. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  42175. )
  42176. const (
  42177. // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
  42178. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  42179. // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
  42180. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  42181. // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
  42182. VpcPeeringConnectionStateReasonCodeActive = "active"
  42183. // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
  42184. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  42185. // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
  42186. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  42187. // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
  42188. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  42189. // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
  42190. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  42191. // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
  42192. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  42193. // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
  42194. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  42195. )
  42196. const (
  42197. // VpcStatePending is a VpcState enum value
  42198. VpcStatePending = "pending"
  42199. // VpcStateAvailable is a VpcState enum value
  42200. VpcStateAvailable = "available"
  42201. )
  42202. const (
  42203. // VpnStatePending is a VpnState enum value
  42204. VpnStatePending = "pending"
  42205. // VpnStateAvailable is a VpnState enum value
  42206. VpnStateAvailable = "available"
  42207. // VpnStateDeleting is a VpnState enum value
  42208. VpnStateDeleting = "deleting"
  42209. // VpnStateDeleted is a VpnState enum value
  42210. VpnStateDeleted = "deleted"
  42211. )
  42212. const (
  42213. // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
  42214. VpnStaticRouteSourceStatic = "Static"
  42215. )
  42216. const (
  42217. // ScopeAvailabilityZone is a scope enum value
  42218. ScopeAvailabilityZone = "Availability Zone"
  42219. // ScopeRegion is a scope enum value
  42220. ScopeRegion = "Region"
  42221. )